發(fā)布時(shí)間:2022-04-29所屬分類:法律論文瀏覽:1次
摘 要: 摘 要: 聯(lián)邦學(xué)習(xí)是順應(yīng)大數(shù)據(jù)時(shí)代和人工智能技術(shù)發(fā)展而興起的一種協(xié)調(diào)多個(gè)參與方共同訓(xùn)練模型的機(jī)制. 它允許各個(gè)參與方將數(shù)據(jù)保留在本地, 在打破數(shù)據(jù)孤島的同時(shí)保證參與方對(duì)數(shù)據(jù)的控制權(quán). 然而聯(lián)邦學(xué)習(xí)引入了大量參數(shù)交換過程, 不僅和集中式訓(xùn)練一樣受到模型使用者的威
摘 要: 聯(lián)邦學(xué)習(xí)是順應(yīng)大數(shù)據(jù)時(shí)代和人工智能技術(shù)發(fā)展而興起的一種協(xié)調(diào)多個(gè)參與方共同訓(xùn)練模型的機(jī)制. 它允許各個(gè)參與方將數(shù)據(jù)保留在本地, 在打破數(shù)據(jù)孤島的同時(shí)保證參與方對(duì)數(shù)據(jù)的控制權(quán). 然而聯(lián)邦學(xué)習(xí)引入了大量參數(shù)交換過程, 不僅和集中式訓(xùn)練一樣受到模型使用者的威脅, 還可能受到來自不可信的參與設(shè)備的攻擊, 因此亟需更強(qiáng)的隱私手段保護(hù)各方持有的數(shù)據(jù). 分析并展望了聯(lián)邦學(xué)習(xí)中的隱私保護(hù)技術(shù)的研究進(jìn)展和趨勢(shì). 簡(jiǎn)要介紹聯(lián)邦學(xué)習(xí)的架構(gòu)和類型, 分析聯(lián)邦學(xué)習(xí)過程中面臨的隱私風(fēng)險(xiǎn), 總結(jié)重建、推斷兩種攻擊策略, 然后依據(jù)聯(lián)邦學(xué)習(xí)中的隱私保護(hù)機(jī)制歸納隱私保護(hù)技術(shù), 并深入調(diào)研應(yīng)用上述技術(shù)的隱私保護(hù)算法, 從中心、本地、中心與本地結(jié)合這 3 個(gè)層面總結(jié)現(xiàn)有的保護(hù)策略. 最后討論聯(lián)邦學(xué)習(xí)隱私保護(hù)面臨的挑戰(zhàn)并展望未來的發(fā)展方向.
關(guān)鍵詞: 聯(lián)邦學(xué)習(xí); 隱私保護(hù); 隱私攻擊; 差分隱私; 同態(tài)加密; 安全計(jì)算
近年來, 大數(shù)據(jù)驅(qū)動(dòng)的人工智能迸發(fā)出巨大潛力, 在金融、醫(yī)療、城市規(guī)劃、自動(dòng)駕駛等多個(gè)領(lǐng)域完成了大規(guī)模復(fù)雜任務(wù)學(xué)習(xí). 機(jī)器學(xué)習(xí)作為人工智能的核心技術(shù), 其性能和隱私性也廣受關(guān)注. 傳統(tǒng)的機(jī)器學(xué)習(xí)需要由服務(wù)商收集用戶的數(shù)據(jù)后集中訓(xùn)練, 但是用戶的數(shù)據(jù)與用戶個(gè)體緊密相關(guān), 可能直接包含敏感信息, 如個(gè)人年齡、種族、患病信息等; 也可能間接攜帶隱含的敏感信息, 如個(gè)人網(wǎng)頁(yè)瀏覽記錄、內(nèi)容偏好所隱含的用戶政治傾向. 如果這些敏感信息在收集過程中被服務(wù)商泄露或者利用, 將直接威脅用戶的人身安全、個(gè)人名譽(yù)和財(cái)產(chǎn)安全. 即便服務(wù)商沒有直接公開用戶數(shù)據(jù), 集中訓(xùn)練后發(fā)布的模型也可能因?yàn)槭艿诫[私攻擊而泄露參與訓(xùn)練的數(shù)據(jù). 隨著隱私問題受到的關(guān)注程度日益提高, 用戶分享數(shù)據(jù)的意愿越來越低. 與之矛盾的是, 人工智能技術(shù)卻必須依靠大量數(shù)據(jù)收集和融合, 如果不能獲取完整豐富的信息來訓(xùn)練模型并發(fā)展技術(shù), 人工智能應(yīng)用的發(fā)展將受到嚴(yán)重限制.
在數(shù)據(jù)孤島現(xiàn)象與數(shù)據(jù)融合需求的矛盾逐漸凸顯的背景下, 聯(lián)邦學(xué)習(xí)(federated learning, FL)應(yīng)運(yùn)而生. 2017 年, Google 公司首次提出了聯(lián)邦學(xué)習(xí)的概念[1], 這是一種由多個(gè)數(shù)據(jù)持有方(如手機(jī)、物聯(lián)網(wǎng)設(shè)備, 或者金融、醫(yī)療機(jī)構(gòu)等)協(xié)同訓(xùn)練模型而不分享數(shù)據(jù), 僅在中間階段交換訓(xùn)練參數(shù)的學(xué)習(xí)機(jī)制. 理想狀況下, 聯(lián)邦學(xué)習(xí)得到的共享模型與數(shù)據(jù)集中在中心服務(wù)器上訓(xùn)練所得模型相比, 效果相近或更好[2]. 由此, 企業(yè)能夠通過合法且高效的方式融合數(shù)據(jù)提取信息, 個(gè)人或其他持有數(shù)據(jù)的機(jī)構(gòu)依然能夠在享受企業(yè)提供的人工智能服務(wù)的同時(shí), 保有數(shù)據(jù)的控制權(quán).
盡管聯(lián)邦學(xué)習(xí)避免了將數(shù)據(jù)直接暴露給第三方, 對(duì)于數(shù)據(jù)隱私有天然的保護(hù)作用, 但是其中依然存在大量隱私泄露的風(fēng)險(xiǎn).
• 首先, 聯(lián)邦學(xué)習(xí)需要交換中間參數(shù)協(xié)同訓(xùn)練, 可能泄露隱私. 與集中式學(xué)習(xí)不同, 聯(lián)邦學(xué)習(xí)訓(xùn)練過程需要交換大量中間參數(shù), 其所攜帶原始數(shù)據(jù)會(huì)暴露在所有參與訓(xùn)練的角色面前, 帶來泄露的風(fēng)險(xiǎn). 例如, 已有研究表明, 可以通過梯度還原部分原始數(shù)據(jù)[3], 或根據(jù)中間參數(shù)推斷掌握的記錄內(nèi)容是否來自某個(gè)特定參與者[4].
• 其次, 不可靠的參與方加劇了隱私泄露的風(fēng)險(xiǎn). 聯(lián)邦學(xué)習(xí)中, 各個(gè)參與方由于地理、設(shè)備等條件不同, 通信內(nèi)容的有效性和身份的真實(shí)性都難以確認(rèn), 因此一旦出現(xiàn)不可靠的參與方攻擊, 極易泄露隱私. 例如, 半誠(chéng)實(shí)的參與方能夠根據(jù)合法獲取的中間參數(shù)推斷出其他參與方的標(biāo)簽或數(shù)據(jù); 而惡意的參與方更進(jìn)一步, 能夠通過上傳精心設(shè)計(jì)的有害信息誘導(dǎo)其他參與方暴露更多自身數(shù)據(jù), 或者不遵守隱私協(xié)議進(jìn)而影響全局的隱私性.
• 此外, 訓(xùn)練完成的模型也面臨著隱私泄露的風(fēng)險(xiǎn). 即便聯(lián)邦學(xué)習(xí)的過程中參數(shù)沒有泄露, 直接發(fā)布訓(xùn)練所得的模型依然存在極大風(fēng)險(xiǎn). 這種風(fēng)險(xiǎn)來自機(jī)器學(xué)習(xí)自身的脆弱性. 在訓(xùn)練中, 模型提高準(zhǔn)確性依賴于對(duì)數(shù)據(jù)樣本的規(guī)律挖掘. 但是研究者[4]注意到, 追求模型在訓(xùn)練樣本上的準(zhǔn)確度, 可能導(dǎo)致模型的參數(shù)乃至結(jié)構(gòu)“記住”訓(xùn)練樣本的細(xì)節(jié), 使得模型攜帶訓(xùn)練集的敏感信息. 根據(jù)這一特性, 攻擊者可以通過反復(fù)查詢模型的預(yù)測(cè)接口來推測(cè)某條記錄是否存在于訓(xùn)練集、推測(cè)模型的具體參數(shù), 而根據(jù)模型發(fā)布的參數(shù)能夠進(jìn)一步推測(cè)訓(xùn)練集成員或訓(xùn)練集具體樣本.
由此可見, 不加保護(hù)的進(jìn)行聯(lián)邦學(xué)習(xí), 訓(xùn)練中涉及的眾多參與者的數(shù)據(jù)都將面臨泄露的風(fēng)險(xiǎn). 而數(shù)據(jù)一旦泄露, 不僅隱私泄露者面臨嚴(yán)重?fù)p失, 參與者間彼此信任合作的聯(lián)合訓(xùn)練模式也將難以為繼. 解決聯(lián)邦學(xué)習(xí)信息泄露問題迫在眉睫. 然而, 聯(lián)邦學(xué)習(xí)中數(shù)據(jù)分布復(fù)雜、應(yīng)用場(chǎng)景豐富且需要多次數(shù)據(jù)交換, 這些因素為隱私保護(hù)帶來一系列挑戰(zhàn).
• 第一, 聯(lián)邦學(xué)習(xí)的訓(xùn)練場(chǎng)景多樣且需求復(fù)雜, 現(xiàn)有的隱私保護(hù)方法無法通用. 已有的集中式機(jī)器學(xué)習(xí)隱私保護(hù)研究以中心服務(wù)器誠(chéng)實(shí)為前提, 僅考慮模型發(fā)布后可能受到的攻擊, 沒有針對(duì)內(nèi)部攻擊者的解決方案. 而且現(xiàn)有算法大多針對(duì)單一的集中式訓(xùn)練場(chǎng)景, 沒有考慮多個(gè)參與方、多種架構(gòu)、多種數(shù)據(jù)分布方式下的數(shù)據(jù)交換和模型協(xié)同訓(xùn)練的情況. 因此, 設(shè)計(jì)適應(yīng)不同場(chǎng)景和不同需求的隱私保護(hù)算法, 同時(shí)抵御外部和內(nèi)部攻擊, 是聯(lián)邦學(xué)習(xí)隱私保護(hù)的重要挑戰(zhàn).
• 第二, 聯(lián)邦學(xué)習(xí)中參與方的可信程度低, 潛在的攻擊角度多, 對(duì)隱私保護(hù)算法的魯棒性要求更高. 這里, 魯棒性指模型容忍惡意攻擊穩(wěn)定運(yùn)行的能力. 聯(lián)邦學(xué)習(xí)中, 參與者一旦發(fā)起攻擊, 能夠觀察到更多的中間參數(shù), 甚至能夠篡改參數(shù)影響訓(xùn)練過程, 隱私防御的難度遠(yuǎn)高于外部出現(xiàn)的攻擊. 而參與者之間如果共謀, 可能獲取更多敏感信息. 因此, 提高隱私保護(hù)算法的魯棒性, 減少隱私算法中對(duì)參與者的可信程度的假設(shè), 是聯(lián)邦學(xué)習(xí)隱私保護(hù)面臨的難題.
• 第三, 聯(lián)邦學(xué)習(xí)本身通信不穩(wěn)定, 模型計(jì)算代價(jià)高, 因而對(duì)隱私保護(hù)機(jī)制的通信量和復(fù)雜度要求嚴(yán)格. 現(xiàn)實(shí)場(chǎng)景下的聯(lián)邦學(xué)習(xí)所面臨的復(fù)雜松散的網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致終端通信不穩(wěn)定, 在此基礎(chǔ)上的隱私保護(hù)算法難以簡(jiǎn)化. 而復(fù)雜的隱私保護(hù)算法將帶來更高的計(jì)算量、更大通信代價(jià), 進(jìn)一步制約聯(lián)邦學(xué)習(xí)的訓(xùn)練效率. 研究高效率、輕量級(jí)的聯(lián)邦學(xué)習(xí)隱私保護(hù)算法, 降低額外開銷, 是聯(lián)邦學(xué)習(xí)隱私保護(hù)必須面對(duì)的挑戰(zhàn).
• 第四, 聯(lián)邦學(xué)習(xí)中參數(shù)維度高、數(shù)據(jù)分布不均, 難以在提供隱私保護(hù)的同時(shí)保持模型的可用性. 聯(lián)邦學(xué)習(xí)中間參數(shù)的維度與模型結(jié)構(gòu)和輸入數(shù)據(jù)維度相關(guān), 參數(shù)維度往往極高, 造成了極大的隱私開銷. 此外, 聯(lián)邦學(xué)習(xí)的用戶數(shù)量不定且數(shù)據(jù)集大小不一, 如何在平衡不同數(shù)據(jù)集的同時(shí)保護(hù)隱私, 也是一個(gè)巨大挑戰(zhàn).
綜上所述, 更加精細(xì)的隱私策略設(shè)計(jì)、更加精確的隱私預(yù)算分配、更加適應(yīng)數(shù)據(jù)交換的隱私協(xié)議構(gòu)建, 是聯(lián)邦學(xué)習(xí)隱私保護(hù)進(jìn)一步發(fā)展必須面對(duì)的議題. 而明確現(xiàn)有的隱私問題和保護(hù)手段, 是技術(shù)發(fā)展的基礎(chǔ). 聯(lián)邦學(xué)習(xí)的基礎(chǔ)——機(jī)器學(xué)習(xí)的隱私攻擊和防御已經(jīng)被充分調(diào)研[5]. 機(jī)器學(xué)習(xí)面臨的外部攻擊同樣威脅著聯(lián)邦學(xué)習(xí)的發(fā)布模型, 但是機(jī)器學(xué)習(xí)的隱私保護(hù)手段卻遠(yuǎn)遠(yuǎn)不足以為聯(lián)邦學(xué)習(xí)提供保護(hù). 這是由于聯(lián)邦學(xué)習(xí)同時(shí)面臨著傳統(tǒng)的外部攻擊和其獨(dú)有的內(nèi)部攻擊, 因此聯(lián)邦學(xué)習(xí)的隱私保護(hù)方案必須同時(shí)為內(nèi)部訓(xùn)練過程和外部模型發(fā)布提供雙重保護(hù).
另外, 已有學(xué)者調(diào)研了聯(lián)邦學(xué)習(xí)隱私保護(hù)的現(xiàn)狀, 但由于思路與本文不同, 側(cè)重的方法和文獻(xiàn)也不相同. Lyv 等人[6]和 Wang 等人[7]對(duì)聯(lián)邦學(xué)習(xí)可能受到的攻擊作了詳細(xì)的闡述, 但是在安全攻擊和隱私攻擊的區(qū)分上沒有進(jìn)一步調(diào)研. 本文明確兩種攻擊的概念范圍: 以竊取數(shù)據(jù)、破壞模型隱私性和機(jī)密性為目的的攻擊為隱私攻擊, 以干擾模型訓(xùn)練結(jié)果、破壞模型可用性和完整性的攻擊為安全攻擊. 此外, 本文還依據(jù)現(xiàn)有的隱私攻擊技術(shù)的原理歸納了主要策略分類. 現(xiàn)有文獻(xiàn)[7−10]均從技術(shù)或訓(xùn)練階段的角度分析了目前的聯(lián)邦學(xué)習(xí)隱私保護(hù)算法, 而本文根據(jù)聯(lián)邦學(xué)習(xí)自身特性分析其特有的隱私泄露內(nèi)容和泄露位置, 從隱私保護(hù)的對(duì)象的角度出發(fā)建立分類框架, 并歸納每個(gè)類別中主要的保護(hù)機(jī)制, 進(jìn)而分析采用不同技術(shù)的算法的共性并探究機(jī)制本身的優(yōu)勢(shì)和不足. 進(jìn)一步地, 本文建立了攻擊策略與保護(hù)機(jī)制之間的聯(lián)系, 并在此基礎(chǔ)上嘗試為聯(lián)邦學(xué)習(xí)隱私保護(hù)的發(fā)展提出建議.
本文第 1 節(jié)介紹聯(lián)邦學(xué)習(xí)的架構(gòu)和類型, 以及相應(yīng)場(chǎng)景下的訓(xùn)練方式. 第 2 節(jié)分析聯(lián)邦學(xué)習(xí)面對(duì)的隱私泄露風(fēng)險(xiǎn)來源, 總結(jié)具體的攻擊策略. 第 3 節(jié)介紹多種隱私保護(hù)技術(shù)原理, 并將其歸納為信息模糊、過程加密兩種隱私保護(hù)機(jī)制. 第 4 節(jié)調(diào)研隱私保護(hù)技術(shù)在聯(lián)邦學(xué)習(xí)中的應(yīng)用, 涵蓋本地保護(hù)、中心保護(hù)、中心與本地結(jié)合這 3 種保護(hù)策略, 并對(duì)每種策略展開更加詳細(xì)的闡述. 第 5 節(jié)討論現(xiàn)有不足并展望未來方向.
1.1 聯(lián)邦學(xué)習(xí)架構(gòu)
常見的聯(lián)邦學(xué)習(xí)架構(gòu)為客戶-服務(wù)器. 典型的客戶-服務(wù)器架構(gòu)由一個(gè)中心服務(wù)器和多個(gè)持有數(shù)據(jù)的客戶端組成. 被廣泛采用的聯(lián)邦平均 FedAvg[1]即是基于客戶-服務(wù)器架構(gòu)設(shè)計(jì)的算法. 在訓(xùn)練中, 中心服務(wù)器將隨機(jī)初始化的模型結(jié)構(gòu)和參數(shù)分發(fā)給客戶端, 客戶端根據(jù)本地?cái)?shù)據(jù)訓(xùn)練并更新模型后將參數(shù)上傳. 中心服務(wù)器收到各方參數(shù)后聚合計(jì)算, 更新模型參數(shù)再次下發(fā). 該過程循環(huán), 直至模型收斂或訓(xùn)練終止. 除了常見的模型參數(shù)交換以外, 也存在梯度交換、數(shù)據(jù)特征的嵌入式表示交換等方式. 在此架構(gòu)下, 原始數(shù)據(jù)不需要傳輸, 但是本地中間參數(shù)暴露給了中心服務(wù)器, 全局中間參數(shù)則會(huì)被每個(gè)客戶端獲取, 數(shù)據(jù)交換過程中, 巨大的通信量也會(huì)影響訓(xùn)練效率. 而當(dāng)參與訓(xùn)練的客戶端數(shù)量過多時(shí), 中心服務(wù)器的聚合計(jì)算甚至可能成為全局訓(xùn)練效率的瓶頸.
當(dāng)沒有中心服務(wù)器時(shí), 聯(lián)邦學(xué)習(xí)采用另一種常見架構(gòu): 端對(duì)端的網(wǎng)絡(luò)架構(gòu)[12]. 這種架構(gòu)僅由持有數(shù)據(jù)的終端組成. 參與訓(xùn)練的終端 Fi 直接將訓(xùn)練參數(shù)發(fā)送給下一個(gè)(或多個(gè))終端 Fi+1, 下一個(gè)(或多個(gè))終端 Fi+1 在收集到的一個(gè)(或多個(gè))參數(shù)基礎(chǔ)上繼續(xù)訓(xùn)練, 直到模型收斂或者訓(xùn)練終止. 端對(duì)端網(wǎng)絡(luò)架構(gòu)不依賴中心服務(wù)器這樣的第三方機(jī)構(gòu), 本地中間參數(shù)直接在參與方之間傳送. 因此需要考慮參與方如何協(xié)商使用相同的模型、算法、初始化參數(shù)等基本信息, 協(xié)調(diào)各方參與訓(xùn)練的順序.
為了下文中概念統(tǒng)一、表述清晰, 本文將客戶-服務(wù)器中的服務(wù)器稱為中心服務(wù)器; 將客戶-服務(wù)器中的客戶端和端對(duì)端架構(gòu)中的參與訓(xùn)練終端統(tǒng)稱為終端; 所有參與訓(xùn)練的服務(wù)器、終端統(tǒng)稱為參與方. 訓(xùn)練過程中發(fā)送的梯度、模型參數(shù)、嵌入式表示等, 統(tǒng)稱為中間參數(shù). 上述兩種典型架構(gòu)如圖 1 所示.
1.2 聯(lián)邦學(xué)習(xí)類型
根據(jù)參與方的樣本分布情況, 聯(lián)邦學(xué)習(xí)按照數(shù)據(jù)的劃分情況可以分為 3 種類型: 橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)、遷移聯(lián)邦學(xué)習(xí). 不同的數(shù)據(jù)的劃分方式需要的訓(xùn)練方式和中間參數(shù)不同, 也為隱私泄露的風(fēng)險(xiǎn)和保護(hù)方式帶來影響. 橫向聯(lián)邦學(xué)習(xí)中, 各個(gè)參與方持有的數(shù)據(jù)特征相同, 但掌握的樣本不同. 例如, 幾個(gè)不同城市的醫(yī)院可能掌握著不同病人的情況, 但是由于具備相似的醫(yī)療手段, 醫(yī)院獲取屬性的屬性相同. 橫向聯(lián)邦學(xué)習(xí)中典型的方式之一是第 1.1 節(jié)所描述的聯(lián)邦平均算法 FedAvg, 包括梯度平均和模型平均兩種類型[13], 多由客戶-服務(wù)器架構(gòu)實(shí)現(xiàn). 梯度平均是指終端交換和聚合模型梯度, 而模型平均指聚合模型參數(shù). 在端對(duì)端架構(gòu)中, 各個(gè)參與方訓(xùn)練本地模型, 通過循環(huán)發(fā)送給下一個(gè)(或多個(gè))訓(xùn)練方或者隨機(jī)傳輸某個(gè)(或多個(gè))終端[14]實(shí)現(xiàn)模型參數(shù)的共享.
而縱向聯(lián)邦學(xué)習(xí)則針對(duì)相反的情形, 即各個(gè)參與方持有的數(shù)據(jù)特征不同, 但掌握的樣本相同. 例如, 同一個(gè)城市中的醫(yī)院和銀行都接待過同一個(gè)市民, 保留著該市民的就診記錄或資金狀況. 顯然, 醫(yī)院和銀行獲取的數(shù)據(jù)屬性完全不同, 但是所持有的樣本 ID 是重疊的. 縱向聯(lián)邦學(xué)習(xí)首先需要參與方對(duì)齊相同 ID 的樣本, 然后, 各個(gè)參與方在對(duì)齊的樣本上分別訓(xùn)練本地模型并分享參數(shù). 不同架構(gòu)同樣都適用于縱向聯(lián)邦學(xué)習(xí), 但由于數(shù)據(jù)的縱向分布, 參與方之間的依賴程度更高, 模型需要更加精細(xì)地設(shè)計(jì). 縱向聯(lián)邦學(xué)習(xí)已應(yīng)用于線性回歸[11]、提升樹[15]、梯度下降[16]等多種模型上. 以縱向聯(lián)邦學(xué)習(xí)線性回歸算法[11]為例, 該算法在樣本對(duì)齊后, 將損失函數(shù)的梯度拆分, 使得兩個(gè)參與方能夠使用各自的本地?cái)?shù)據(jù)分別計(jì)算梯度的一部分, 而需要共同計(jì)算的部分則通過雙方交換參數(shù)協(xié)同完成. 縱向分布的數(shù)據(jù)之間緊密的相關(guān)性, 為縱向?qū)W習(xí)的效率和容錯(cuò)性帶來挑戰(zhàn).
上述兩種類型都是比較理想的情況, 現(xiàn)實(shí)生活中, 大部分參與方所持有的數(shù)據(jù), 在特征和樣本 ID 上的重疊都比較少且數(shù)據(jù)集分布不平衡. 針對(duì)這樣的情形, 遷移學(xué)習(xí)被應(yīng)用到聯(lián)邦學(xué)習(xí)中來. 遷移學(xué)習(xí)作為一種有效的學(xué)習(xí)思想, 能夠?qū)⑾嚓P(guān)領(lǐng)域中的知識(shí)遷移到目標(biāo)領(lǐng)域中, 使得各個(gè)參與方共同學(xué)習(xí)得到遷移知識(shí). 以兩方遷移學(xué)習(xí)為例[17], 假設(shè)一方 A 掌握樣本的部分特征和全部標(biāo)簽, 另一方 B 掌握部分特征, 雙方特征和樣本 ID 之間都有少量重疊. 聯(lián)邦遷移學(xué)習(xí)首先對(duì)齊樣本并共同訓(xùn)練模型, 然后預(yù)測(cè) B 方樣本的標(biāo)簽. 為了達(dá)到預(yù)期效果, 訓(xùn)練的目標(biāo)函數(shù)包含兩個(gè)部分: 一部分是根據(jù)已有的標(biāo)簽預(yù)測(cè) B 方樣本, 使預(yù)測(cè)誤差最小化; 另一部分是 A 與 B 對(duì)齊的樣本之間的嵌入式表示的區(qū)別最小化. 各方根據(jù)目標(biāo)函數(shù)在本地訓(xùn)練, 并交換中間參數(shù)更新模型, 直至模型收斂.
目前, 縱向和遷移聯(lián)邦學(xué)習(xí)的隱私保護(hù)算法研究還不成熟, 且保護(hù)方式與橫向聯(lián)邦學(xué)習(xí)場(chǎng)景類似. 為了表述簡(jiǎn)潔, 下文中調(diào)研的隱私保護(hù)算法若無特別說明, 即為橫向聯(lián)邦學(xué)習(xí)場(chǎng)景.
2 聯(lián)邦學(xué)習(xí)中的隱私泄露風(fēng)險(xiǎn)
盡管聯(lián)邦學(xué)習(xí)不直接交換數(shù)據(jù), 比傳統(tǒng)的集中式機(jī)器學(xué)習(xí)訓(xùn)練有了更高的隱私保障, 但聯(lián)邦學(xué)習(xí)本身并沒有提供全面充分的隱私保護(hù), 依然面臨著信息泄露的威脅. 模型面臨的隱私泄露風(fēng)險(xiǎn)來自模型訓(xùn)練自身的脆弱性和攻擊者的強(qiáng)大能力: 模型訓(xùn)練過程中, 獨(dú)特架構(gòu)和訓(xùn)練階段決定了隱私泄露的位置和時(shí)機(jī); 攻擊者的角色和能力, 決定了隱私泄露的內(nèi)容和程度. 而攻擊者依據(jù)自身特性所采取的攻擊策略, 則進(jìn)一步影響攻擊者的能力, 從而影響模型隱私泄露的風(fēng)險(xiǎn). 理清隱私泄露的風(fēng)險(xiǎn), 才能為聯(lián)邦學(xué)習(xí)隱私防御找到總體方向.
2.1 隱私泄露風(fēng)險(xiǎn)來源
為了在下文中更好地描述隱私攻擊, 我們首先建立聯(lián)邦學(xué)習(xí)攻擊模型. • 根據(jù)角色, 攻擊者分為內(nèi)部和外部: 內(nèi)部攻擊者包括掌握訓(xùn)練的中間參數(shù)并且參與訓(xùn)練過程的終端和中心服務(wù)器; 而外部攻擊者包括掌握模型發(fā)布的參數(shù)及查詢接口但沒有參與訓(xùn)練過程的模型使用者. 與外部攻擊者相比, 內(nèi)部攻擊者掌握模型的更多信息, 攻擊能力更強(qiáng).
• 根據(jù)可信程度, 攻擊者分為半誠(chéng)實(shí)角色和惡意角色: 半誠(chéng)實(shí)角色指參與方嚴(yán)格遵守訓(xùn)練協(xié)議和流程, 僅根據(jù)合法獲取的信息分析推斷, 對(duì)于訓(xùn)練結(jié)果沒有影響; 惡意角色指參與方不遵守協(xié)議, 在參與過程中惡意篡改數(shù)據(jù)、注入模塊, 誘導(dǎo)目標(biāo)泄露隱私并影響訓(xùn)練結(jié)果.
• 根據(jù)攻擊模式, 攻擊分為被動(dòng)和主動(dòng): 被動(dòng)攻擊指攻擊者僅觀察或訪問模型獲取信息; 主動(dòng)攻擊指攻擊者篡改數(shù)據(jù)或模型, 參與并影響訓(xùn)練過程. 需要說明的是, 攻擊模式與可信程度并非完全對(duì)應(yīng). 存在少數(shù)主動(dòng)攻擊者能夠在修改上傳參數(shù)誘導(dǎo)目標(biāo)泄露隱私的同時(shí)不影響聯(lián)邦訓(xùn)練目標(biāo), 誠(chéng)實(shí)正確地完成訓(xùn)練任務(wù).
• 根據(jù)攻擊者知識(shí), 攻擊分為白盒攻擊和黑盒攻擊: 白盒攻擊指攻擊者掌握模型的相關(guān)信息, 包括數(shù)據(jù)的分布和統(tǒng)計(jì)信息、模型訓(xùn)練完成的結(jié)構(gòu)參數(shù)或模型訓(xùn)練過程中的中間參數(shù); 黑盒攻擊指攻擊者對(duì)相關(guān)信息一無所知, 僅有請(qǐng)求查詢的權(quán)限.
聯(lián)邦學(xué)習(xí)包含參數(shù)上傳、下發(fā)、參數(shù)傳輸、模型發(fā)布等多個(gè)階段, 其中, 參數(shù)上傳、下發(fā)為客戶-服務(wù)器架構(gòu)所特有的階段, 參數(shù)傳輸為端對(duì)端架構(gòu)所特有的階段, 模型發(fā)布為兩種架構(gòu)都有的階段. 每個(gè)階段隱私泄露的位置和內(nèi)容不同, 威脅隱私的攻擊者角色也不相同. 研究聯(lián)邦學(xué)習(xí)不同階段隱私泄露風(fēng)險(xiǎn), 有助于為隱私保護(hù)提供清晰的思路和方向. 隱私泄露風(fēng)險(xiǎn)來源的對(duì)比見表 1.
在客戶-服務(wù)器架構(gòu)下, 訓(xùn)練分為 3 個(gè)階段.
• 第 1 階段, 本地(終端)訓(xùn)練后, 上傳本地參數(shù)給中心服務(wù)器. 此階段的潛在攻擊者多為中心服務(wù)器. 中心服務(wù)器根據(jù)收集的本地參數(shù)能夠發(fā)起重建攻擊, 恢復(fù)目標(biāo)終端的原始數(shù)據(jù); 或者發(fā)起屬性推斷攻擊, 推斷目標(biāo)終端的數(shù)據(jù)中是否含有某些敏感屬性.
• 第 2 階段, 中心服務(wù)器聚合各個(gè)終端的參數(shù)處理后, 再次下發(fā)全局參數(shù). 此時(shí)的潛在攻擊者是不可信的終端. 終端能夠根據(jù)全局中間參數(shù)發(fā)起攻擊重建某個(gè)類別樣本(generic sample), 或推斷某條記錄的敏感屬性是否存在, 進(jìn)而根據(jù)訓(xùn)練集的共同特征推斷擁有該記錄的個(gè)體的情況, 例如訓(xùn)練集是艾滋病患者基因數(shù)據(jù), 如果該個(gè)體屬于該訓(xùn)練集, 則一定也患有艾滋病.
• 第 3 階段, 模型訓(xùn)練完成, 由中心服務(wù)器發(fā)布模型. 一般的發(fā)布方式包括直接將模型部署在用戶端, 或提供 API 訪問接口兩種. 此時(shí)的潛在攻擊者是外部使用者. 不可信的外部使用者能夠根據(jù)模型的參數(shù)或模型的預(yù)測(cè)結(jié)果發(fā)起推斷攻擊、重建攻擊或參數(shù)提取攻擊[18−22]. 通過發(fā)布的模型推測(cè)參與訓(xùn)練的數(shù)據(jù)集樣本, 或根據(jù) API 訪問接口推測(cè)模型參數(shù), 進(jìn)而攻擊訓(xùn)練數(shù)據(jù). 在端對(duì)端架構(gòu)下, 訓(xùn)練分為兩個(gè)階段:
• 第 1 階段, 本地(終端)訓(xùn)練后, 將本地參數(shù)傳輸給下一終端. 攻擊者為不可信的接收終端. 終端接收本地參數(shù)后, 同樣能夠發(fā)起重建攻擊或?qū)傩酝茢喙? 致使本地的原始數(shù)據(jù)泄露.
• 第 2 階段, 模型訓(xùn)練完成后, 終端若發(fā)布模型, 則面臨與客戶-服務(wù)器架構(gòu)同樣的外部攻擊; 若僅供內(nèi)部使用, 則無須考慮.
需要說明的是, 聯(lián)邦學(xué)習(xí)的隱私攻擊主要由內(nèi)部參與方發(fā)起. 與外部攻擊者相比, 內(nèi)部攻擊者具備更強(qiáng)的能力, 不僅可以在訓(xùn)練過程中通過直接獲取數(shù)據(jù)交換中的特征嵌入式表示、梯度和模型參數(shù)等發(fā)起攻擊, 還能夠通過替換樣本、更改梯度甚至修改損失函數(shù)等方式影響模型的訓(xùn)練過程, 誘導(dǎo)目標(biāo)終端暴露更多隱私信息, 完成推斷攻擊和重建攻擊. 聯(lián)邦學(xué)習(xí)為了協(xié)同訓(xùn)練和共享模型需要更多參與者, 卻缺乏與之對(duì)應(yīng)的身份確認(rèn)機(jī)制和誠(chéng)信保障, 難以防范“內(nèi)部”泄露. 傳統(tǒng)的集中式機(jī)器學(xué)習(xí)隱私保護(hù)能夠抵御外部攻擊, 卻沒有抵御內(nèi)部攻擊的能力. 為了理清聯(lián)邦學(xué)習(xí)面對(duì)的風(fēng)險(xiǎn), 本文首先介紹外部攻擊作為基礎(chǔ), 重點(diǎn)針對(duì)其特有的內(nèi)部隱私攻擊展開分析.
2.2 隱私攻擊策略
根據(jù)上述的隱私泄露風(fēng)險(xiǎn)和攻擊者的能力, 研究者設(shè)計(jì)了不同的聯(lián)邦學(xué)習(xí)架構(gòu)及階段下可能的隱私攻擊, 并通過實(shí)驗(yàn)展現(xiàn)了這些攻擊對(duì)敏感數(shù)據(jù)的巨大威脅. 隱私攻擊者包括參與模型訓(xùn)練的內(nèi)部角色和未參與模型訓(xùn)練僅能接觸發(fā)布模型的外部角色. 攻擊者采取的主要策略有重建攻擊和推斷攻擊: 重建攻擊中, 攻擊者根據(jù)掌握的中間參數(shù)以及模型信息恢復(fù)部分訓(xùn)練數(shù)據(jù); 推斷攻擊中, 攻擊者根據(jù)中間參數(shù)和發(fā)布參數(shù)推斷訓(xùn)練集中是否含有特定的記錄. 內(nèi)部以及外部攻擊者采用上述策略對(duì)聯(lián)邦學(xué)習(xí)發(fā)起隱私攻擊, 獲取訓(xùn)練集的敏感信息. 其中, 內(nèi)部隱私攻擊方案的總結(jié)參見表 2.
2.2.1 重建攻擊
重建攻擊(reconstruction attack)指攻擊者根據(jù)訓(xùn)練中間參數(shù)、模型的參數(shù)或者請(qǐng)求查詢所得輸出, 恢復(fù)參與訓(xùn)練的數(shù)據(jù)集中的信息. 根據(jù)攻擊者角色, 重建攻擊分為外部和內(nèi)部攻擊: 外部重建攻擊是在模型訓(xùn)練完成并發(fā)布后, 外部使用者發(fā)起的攻擊; 內(nèi)部重建攻擊則是在模型訓(xùn)練階段, 內(nèi)部參與方發(fā)起的攻擊.
相關(guān)知識(shí)推薦:論文審稿人怎么精準(zhǔn)推薦
外部重建攻擊中, 攻擊者僅能掌握模型的查詢結(jié)果或模型發(fā)布的結(jié)構(gòu)和參數(shù), 因此只能不斷試探模型的輸出結(jié)果, 通過調(diào)整輸入數(shù)據(jù)使輸出值向預(yù)期方向靠攏. Fredrikson 等人[20]首次設(shè)計(jì)了外部攻擊者在黑盒情況下發(fā)起的模型倒推攻擊, 該算法基于模型的輸出和一些非敏感屬性恢復(fù)了病人的基因信息. 攻擊者假設(shè)樣本共有 d 維特征, 其中, f1到 fd−1為非敏感特征, 在給定非敏感特征和模型輸出時(shí), 最大化敏感特征 fd的后驗(yàn)概率. 上述工作僅能推斷敏感屬性, Fredrikson 等人[21]在隨后的工作中設(shè)計(jì)了白盒情況下的模型倒推攻擊. 外部攻擊者根據(jù)訓(xùn)練完成的模型參數(shù)訓(xùn)練深度學(xué)習(xí)模型, 恢復(fù)訓(xùn)練集中的全部特征. 該攻擊通過保持網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)不變, 對(duì)輸入的隨機(jī)像素值和隨機(jī)標(biāo)簽梯度下降. 當(dāng)模型預(yù)測(cè)置信度達(dá)到最優(yōu)時(shí), 生成的圖片像素與訓(xùn)練集數(shù)據(jù)高度近似. Luo 等人[32]首次提出了縱向聯(lián)邦學(xué)習(xí)中的特征重建攻擊. 掌握標(biāo)簽的主動(dòng)參與方在獲取最終模型的預(yù)測(cè)結(jié)果后, 能夠根據(jù)公式倒推或通過路徑限制重建不掌握標(biāo)簽的被動(dòng)參與方的數(shù)據(jù)特征. 上述算法的攻擊者角色均為外部攻擊者, 僅能掌握模型得查詢結(jié)果或模型發(fā)布的結(jié)構(gòu)和參數(shù), 因此只能不斷輸入數(shù)據(jù)試探模型的輸出結(jié)果.
外部攻擊以模型輸出以及發(fā)布的最終參數(shù)為依據(jù), 重建整個(gè)數(shù)據(jù)集的泛化樣本(generic sample), 難以獲取詳細(xì)的敏感信息. 此外, 借助有效的泛化、降低輸出精度等手段, 即可在很大程度上抵御這類攻擊. 相比之下, 聯(lián)邦學(xué)習(xí)的內(nèi)部重建攻擊具有更加豐富的知識(shí)背景, 能夠以中間參數(shù)為依據(jù)發(fā)起攻擊. 中間參數(shù)不僅與用戶數(shù)據(jù)緊密相關(guān), 而且在迭代中多次暴露. 內(nèi)部攻擊者能夠據(jù)此重建特定用戶的具體敏感信息. 在主動(dòng)攻擊的情況下, 還能夠通過修改中間參數(shù)、上傳有害信息來影響模型的訓(xùn)練過程, 甚至誘導(dǎo)隱私泄露. 具體的內(nèi)部重建攻擊包含兩種類型: 類別重建和樣本重建.
內(nèi)部類別重建是重建攻擊中的常見類型, 該攻擊通過重建某個(gè)類別的通用樣本模式獲取目標(biāo)類別(target class)中的敏感信息. 例如, 在訓(xùn)練圖片識(shí)別分類器時(shí), 訓(xùn)練集的一個(gè)類別中包含的圖片主體是一致的, 則類別重建能夠恢復(fù)目標(biāo)類別中主體的共性信息. Hitaj 等人[23]針對(duì)客戶-服務(wù)器架構(gòu)的聯(lián)邦學(xué)習(xí), 提出了基于生成對(duì)抗網(wǎng)絡(luò)(generative adversarial networks, GAN)的主動(dòng)重建攻擊. 攻擊者作為參與訓(xùn)練的終端, 上傳篡改參數(shù)給服務(wù)器誘導(dǎo)其他誠(chéng)實(shí)終端暴露信息, 從而推測(cè)僅由目標(biāo)終端掌握的類別的樣本. 具體來說, 假設(shè)目標(biāo)終端擁有類別[a,b]的樣本, 攻擊者擁有類別[b,c]的樣本. 為獲取目標(biāo)類別 a 的信息, 攻擊者首先在本地訓(xùn)練生成對(duì)抗網(wǎng)絡(luò), 利用從中心服務(wù)器獲取的全局梯度更新其判別器后生成目標(biāo)類別 a 的近似樣本, 然后將近似樣本故意標(biāo)注為類別 c 訓(xùn)練本地分類器, 并上傳參數(shù)到中心服務(wù)器. 在迭代過程中, 由于攻擊者故意將真實(shí)標(biāo)簽為 a 的樣本分類到 c 中, 目標(biāo)終端需要暴露更多與 a 相關(guān)信息來“糾正”全局梯度, 這些信息使得攻擊者的生成對(duì)抗網(wǎng)絡(luò)獲得更加準(zhǔn)確的參數(shù), 恢復(fù)的樣本信息比 Fredrikson 等人[20]面向模型輸出的攻擊結(jié)果更加豐富、清晰. 但是這種算法要求攻擊者主動(dòng)篡改模型參數(shù)來影響全局模型的訓(xùn)練結(jié)果, 對(duì)于攻擊者的能力假設(shè)過強(qiáng). 而篡改后的參數(shù)影響力也會(huì)在聚合平均時(shí)被稀釋, 導(dǎo)致攻擊者的能力不能得到完全發(fā)揮. Wang 等人[24]隨后提出了一種被動(dòng)攻擊模型 mGAN-AI, 攻擊者能夠在不干擾訓(xùn)練過程的情況下達(dá)到較好的攻擊效果. 具體來說, mGANAI 假設(shè)半誠(chéng)實(shí)的中心服務(wù)器能夠根據(jù)每次迭代所獲取的各個(gè)終端的局部參數(shù)更新訓(xùn)練多任務(wù)生成對(duì)抗網(wǎng)絡(luò). 它利用目標(biāo)終端的參數(shù)更新樣本判別器, 以區(qū)分目標(biāo)終端數(shù)據(jù)的樣本類別、生成目標(biāo)終端的近似數(shù)據(jù); 利用其他終端的參數(shù)訓(xùn)練身份判別器, 以區(qū)分目標(biāo)終端和其他終端的身份; 利用輔助數(shù)據(jù)集添加噪聲訓(xùn)練真實(shí)數(shù)據(jù)判別器, 以區(qū)分真實(shí)數(shù)據(jù)和生成數(shù)據(jù). 該模型能夠在重建類別的同時(shí)不干擾模型的正常訓(xùn)練過程, 攻擊手段更加隱蔽. 但是上述攻擊中的身份識(shí)別環(huán)節(jié)假設(shè)中心服務(wù)器知曉各局部參數(shù)所對(duì)應(yīng)的終端身份, 如果終端匿名上傳參數(shù)則攻擊失效. 針對(duì)此問題, Song 等人[25]基于 Orekondy 等人[33]的鏈接攻擊思想, 進(jìn)一步提出了匿名環(huán)境下的 mGAN-AI 攻擊模型. 半誠(chéng)實(shí)的中心服務(wù)器根據(jù)終端上傳的匿名參數(shù)生成對(duì)應(yīng)的參數(shù)表示 (parameter representative), 通過衡量本輪的所有參數(shù)表示與上一輪的所有參數(shù)表示的相似度進(jìn)行匹配, 相似的參數(shù)表示即屬于同一個(gè)終端. 為使參數(shù)表示更加全面地表征此次更新, 參數(shù)表示的計(jì)算由終端梯度和終端模型參數(shù)同時(shí)參與完成. 為了準(zhǔn)確衡量參數(shù)表示的相似度的同時(shí)生成合適的終端身份表示(identification representative), 攻擊者輔助集訓(xùn)練卷積孿生網(wǎng)絡(luò)融合身份識(shí)別和相似匹配兩個(gè)訓(xùn)練目標(biāo), 以學(xué)習(xí)更有區(qū)分度的終端身份表示.該模型能夠在匿名更新的環(huán)境下識(shí)別終端上傳的參數(shù), 并重建終端的泛化樣本.
但是, 類別重建仍然存在一些局限: 首先, 它不能還原目標(biāo)類別中的不同樣本, 只適用于一個(gè)類別中的樣本都類似的場(chǎng)景, 所能獲取的敏感信息有限; 其次, 基于生成對(duì)抗網(wǎng)絡(luò)的重建方式對(duì)攻擊者的計(jì)算能力要求較高, 在手機(jī)終端等場(chǎng)景下并不適用. ——論文作者: