吳建漢,司世景,王健宗,肖京
1. 平安科技(深圳)有限公司,廣東 深圳 518063;
2. 中國科學(xué)技術(shù)大學(xué),安徽 合肥 230026
隨著數(shù)字技術(shù)進入高速發(fā)展期,數(shù)據(jù)多元化、信息化和多樣化成為當(dāng)今時代的主題。打破“數(shù)據(jù)孤島”并充分利用數(shù)據(jù)已成為當(dāng)下的熱門話題[1]。傳統(tǒng)的中心服務(wù)器統(tǒng)一訓(xùn)練方式已經(jīng)顯現(xiàn)出眾多安全問題。聯(lián)邦學(xué)習(xí)(federated learning,F(xiàn)L)[1-3]是一種安全的分布式機器學(xué)習(xí),可以在數(shù)據(jù)不離開本地的前提下共同訓(xùn)練全局模型,達到保護隱私的目的。聯(lián)邦學(xué)習(xí)的主要特征包括:允許模型在不同的公司、設(shè)備和云之間進行通信[4];使用數(shù)據(jù)而不窺探數(shù)據(jù)隱私[5]。其具體框架如圖1所示,實現(xiàn)過程是:首先將聯(lián)邦學(xué)習(xí)的全局模型發(fā)送給本地客戶端進行訓(xùn)練,隨后客戶端將更新的模型參數(shù)上傳至中央服務(wù)器,服務(wù)器進行一系列安全聚合處理后更新全局模型,再發(fā)送給客戶端,從而使用戶能夠享受經(jīng)過強大數(shù)據(jù)集中訓(xùn)練的全局模型,同時還能保證自身的隱私不被泄露。這些特征使聯(lián)邦學(xué)習(xí)符合許多安全規(guī)則,例如《通用數(shù)據(jù)保護條例》(GDPR)[6]。
圖1 聯(lián)邦學(xué)習(xí)框架
聯(lián)邦學(xué)習(xí)于2016年被首次提出[7],主要用來對聯(lián)合存儲在多個終端(如手機)中的數(shù)據(jù)進行中心化模型訓(xùn)練,主要應(yīng)用在輸入法改進等場景。如谷歌的Gboa rd能夠在用戶多次使用相關(guān)詞匯之后,在輸入時為用戶推薦單詞和表情,與傳統(tǒng)推薦系統(tǒng)不同,這是在不獲取用戶隱私的前提下,在極大程度上依賴移動設(shè)備自身完成的訓(xùn)練。隨著數(shù)據(jù)安全問題頻繁出現(xiàn),聯(lián)邦學(xué)習(xí)日益流行,學(xué)術(shù)界和產(chǎn)業(yè)界開始研究整個技術(shù)系統(tǒng),越來越多的公司開始嘗試把聯(lián)邦學(xué)習(xí)作為打通多方數(shù)據(jù)的解決方案。隨后出現(xiàn)了許多實用的聯(lián)邦學(xué)習(xí)案例,如騰訊的Angel、百度的PaddleFL和平安科技的“蜂巢”等。
根據(jù)數(shù)據(jù)的存儲分布和用戶的重疊程度,聯(lián)邦學(xué)習(xí)可分為橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí)[8-9]。橫向聯(lián)邦學(xué)習(xí)針對的是數(shù)據(jù)特征重疊較多而用戶重疊較少的情況[10]。例如,某一地區(qū)的銀行和另一地區(qū)的銀行一般不能在沒有用戶許可的情況下共享兩個地區(qū)的用戶數(shù)據(jù),如果要使用雙方的數(shù)據(jù)聯(lián)合訓(xùn)練機器學(xué)習(xí)模型,使數(shù)據(jù)得到充分利用,橫向聯(lián)邦學(xué)習(xí)可以很好地實現(xiàn)數(shù)據(jù)的安全利用??v向聯(lián)邦學(xué)習(xí)針對的是數(shù)據(jù)特征重疊較少而用戶重疊較多的情況。例如對于同一區(qū)域中的銀行和保險數(shù)據(jù),縱向聯(lián)邦學(xué)習(xí)能夠達到協(xié)同利用此類數(shù)據(jù)的目的[11]。聯(lián)邦遷移學(xué)習(xí)針對數(shù)據(jù)特征和用戶都沒有太多重疊的情況[12]。在聯(lián)邦遷移學(xué)習(xí)中,來自不同特征空間的特征會被遷移到同一個隱表示空間中,然后利用不同參與方收集的標注數(shù)據(jù)中的標簽進行訓(xùn)練。聯(lián)邦學(xué)習(xí)將數(shù)據(jù)保存在用戶本地的做法可以在一定程度上保護隱私,但在具體實踐和研究中仍然存在許多隱患,需要進一步的研究與發(fā)展[12]。
現(xiàn)有的聯(lián)邦學(xué)習(xí)攻擊與防御綜述大多基于特定攻擊對象和性質(zhì)進行分類與分析,這樣分類往往要求讀者了解聯(lián)邦學(xué)習(xí)的基礎(chǔ)知識,從而給初次接觸聯(lián)邦學(xué)習(xí)的讀者帶來一定的困難。與之前的聯(lián)邦學(xué)習(xí)攻擊與防御綜述文獻不同,本文對聯(lián)邦學(xué)習(xí)框架的各個層面進行分類,對聯(lián)邦學(xué)習(xí)可能受到的攻擊及相應(yīng)的防御措施進行詳實的分析,這不僅可以使讀者清楚地了解聯(lián)邦學(xué)習(xí)框架,還可以更加清晰地了解聯(lián)邦學(xué)習(xí)的攻擊和防御。
本文的主要貢獻如下:
● 以一種比較新穎的分類方法詳細地介紹了聯(lián)邦學(xué)習(xí)可能受到的攻擊及相應(yīng)的防御措施,并對聯(lián)邦學(xué)習(xí)攻擊與防御的典型方法和最新方法進行了介紹;
● 以圖片的形式形象地呈現(xiàn)了聯(lián)邦學(xué)習(xí)可能受到的攻擊,并對相應(yīng)的防御措施進行了詳實的介紹和分析;
● 根據(jù)聯(lián)邦學(xué)習(xí)的特性與現(xiàn)狀,本文對聯(lián)邦學(xué)習(xí)進行了多方位的展望,并對一些具體問題提出解決思路。
聯(lián)邦學(xué)習(xí)提供一種新的范式來保護用戶隱私,能夠大規(guī)模執(zhí)行機器學(xué)習(xí)任務(wù)[13],與傳統(tǒng)的機器學(xué)習(xí)不同,根據(jù)其獨特的結(jié)構(gòu),聯(lián)邦學(xué)習(xí)系統(tǒng)應(yīng)該抵御4個層面的潛在攻擊者:客戶端、聚合器、局外人或竊聽者、服務(wù)器。本節(jié)根據(jù)這4個層面的潛在攻擊者對聯(lián)邦學(xué)習(xí)可能受到的攻擊進行分類,分別為數(shù)據(jù)中毒、模型攻擊、推理攻擊、服務(wù)器漏洞,并對這些攻擊進行剖析。
數(shù)據(jù)中毒是指攻擊者將部分惡意數(shù)據(jù)或篡改數(shù)據(jù)添加到訓(xùn)練數(shù)據(jù)集中,使訓(xùn)練后的模型符合攻擊者的期望,達到破壞模型或篡改模型結(jié)果的目的。數(shù)據(jù)中毒示意圖如圖2所示,其中Δw為本地模型參數(shù)。根據(jù)攻擊者是否更改數(shù)據(jù)標簽,可將數(shù)據(jù)中毒分為兩類:干凈標簽中毒攻擊[14]和臟標簽中毒攻擊[15]。干凈標簽中毒攻擊是一種不會修改數(shù)據(jù)標簽的攻擊,只添加部分惡意數(shù)據(jù),其是針對性的攻擊。由于中毒數(shù)據(jù)的標簽不會被修改,中毒數(shù)據(jù)可以很容易地被模型接受并訓(xùn)練,因此這種攻擊的成功率比較高。但是,要想獲得良好的攻擊效果,就需要精心設(shè)計攻擊數(shù)據(jù)。參考文獻[16]提出一種基于數(shù)學(xué)優(yōu)化的方法來設(shè)計中毒攻擊,并設(shè)計實驗證明了在遷移學(xué)習(xí)框架中,只需要一種類別的中毒數(shù)據(jù)就可以使分類器出現(xiàn)錯誤。臟標簽中毒攻擊是指攻擊者通過惡意篡改數(shù)據(jù)的標簽來達到攻擊目的,攻擊者只需將其希望篡改的目標類別數(shù)據(jù)與干凈數(shù)據(jù)混為一體,然后集中訓(xùn)練即可進行臟標簽中毒攻擊。臟標簽中毒攻擊的一個典型例子是標簽翻轉(zhuǎn)攻擊[17],即一類干凈訓(xùn)練樣本的標簽被翻轉(zhuǎn)到另一類,而數(shù)據(jù)的特征保持不變。例如,系統(tǒng)中的惡意客戶端可以通過將所有1轉(zhuǎn)換為7來毒化數(shù)據(jù)集,攻擊成功后,模型將無法正確分類1。參考文獻[18]中的實驗表明,在訓(xùn)練數(shù)據(jù)集中加入約50個中毒樣本,就能使深度網(wǎng)絡(luò)無法進行正確分類。此外,參考文獻[19]提出一種利用標簽翻轉(zhuǎn)攻擊實現(xiàn)針對某種類別標簽的攻擊,即只對受到攻擊的類別標簽有很大的影響,而基本不影響未受到攻擊的類別標簽。這種攻擊手段可以避免很多防御措施,且危害性極大,作者在CIFAR-10和Fashion-MNIST數(shù)據(jù)集上進行了效果展示,實驗表明,當(dāng)存在20%的惡意用戶進行攻擊時,就可使分類精度和召回率明顯下降。
圖2 數(shù)據(jù)中毒示意圖
還有一種常見的攻擊為數(shù)據(jù)后門中毒攻擊[20],攻擊者修改原始訓(xùn)練數(shù)據(jù)集的單個特征或小區(qū)域,然后將其作為后門嵌入模型中。如果輸入中包含后門特征,模型就會根據(jù)攻擊者的目標運行,而中毒模型在干凈輸入數(shù)據(jù)上的性能不受影響,這導(dǎo)致攻擊更難被發(fā)現(xiàn),攻擊成功率較高。參考文獻[20]在CIFAR-10數(shù)據(jù)集上展示了它的攻擊效果,結(jié)果表明,即使在聯(lián)邦安全平均算法的條件下,也可以在惡意參與者較少的情況下嵌入后門攻擊。
值得注意的是,任何聯(lián)邦學(xué)習(xí)參與者都可以進行數(shù)據(jù)中毒攻擊,對模型的影響取決于系統(tǒng)參與者參與攻擊的程度以及中毒的訓(xùn)練數(shù)據(jù)量,即數(shù)據(jù)中毒在參與者較少的環(huán)境中效果較差[19]。數(shù)據(jù)中毒攻擊方法對比見表1。
表1 數(shù)據(jù)中毒攻擊方法對比
模型攻擊[21-22]通過篡改或替換客戶端的模型參數(shù)來更改全局模型。模型攻擊示意圖如圖3所示,其中Δw為本地模型參數(shù),w為全局模型參數(shù),aggregate表示聚合操作,與模型更新相關(guān)的信息一般為模型梯度。具體而言,攻擊者通過攻擊聯(lián)邦學(xué)習(xí)中的某些成員,在模型更新的過程中,更改被攻擊成員的梯度或者發(fā)送錯誤的信息來影響全局模型,使全局模型的方向與攻擊前的方向偏差最大,從而達到理想的攻擊效果[23]。由于聯(lián)邦安全聚合算法的引入,服務(wù)器收到的是經(jīng)過安全聚合后的結(jié)果,無法了解本地模型更新是如何生成的,導(dǎo)致無法通過直接檢測聚合后的參數(shù)來檢測本地客戶端的參數(shù)是否異常,因此傳統(tǒng)的檢測方法一般無法進行防御。與數(shù)據(jù)中毒不同,模型攻擊旨在直接攻擊模型并將其發(fā)送到服務(wù)器,然后進行聚合,進而影響全局模型,全局模型更新后被發(fā)送給客戶端,使得收到更新的客戶端都受到一定程度的影響,因此模型攻擊的效果往往比數(shù)據(jù)中毒更加有效。
圖3 模型攻擊示意圖
拜占庭攻擊是一種常見的模型攻擊。拜占庭攻擊是一種無目標性的模型攻擊,其將任意惡意的模型更新上傳至服務(wù)器,導(dǎo)致全局模型失效[24-25]。其定義如下。
在第t輪訓(xùn)練迭代中,一個誠實的參與者上傳梯度,而一個惡意用戶可能會上傳任意值。
其中,*為任意值,F(xiàn)i代表第i個用戶模型的目標函數(shù)。在聯(lián)邦學(xué)習(xí)中,拜占庭攻擊得到了廣泛研究,很多安全措施是基于此種攻擊手段進行防御的。參考文獻[23]對聯(lián)邦學(xué)習(xí)本地模型攻擊進行了系統(tǒng)性研究,其將模型攻擊表述為一個優(yōu)化問題,并對拜占庭攻擊進行量化分析,具體是將拜占庭攻擊量化成被攻擊的設(shè)備數(shù)量,而后在最近4個拜占庭魯棒聯(lián)邦學(xué)習(xí)方 法上測試攻擊方法的有效性,結(jié)果表明,拜占庭攻擊在4個常用數(shù)據(jù)集上都可達到提高模型錯誤率的效果。目前效果最佳的模型為參考文獻[26]提出的通用模型架構(gòu),該方法從模型更新的知識和服務(wù)器的聚合算法知識出發(fā),對這兩個維度進行了全面的攻擊分析,在不同數(shù)據(jù)集和模型中進行實驗以驗證其方法的高效性,該方法的最好效果是現(xiàn)有最強的模型攻擊精度的1.5倍。
另一種常見的模型攻擊為后門攻擊,在訓(xùn)練過程中通過隱藏后門來實現(xiàn),即攻擊者通過設(shè)定一個觸發(fā)器(trigger)激發(fā)隱藏好的后門,后門未被觸發(fā)前,模型表現(xiàn)正常,后門被觸發(fā)后,模型的輸出為攻擊者設(shè)定的值。參考文獻[27]使用物理反射模型進行數(shù)學(xué)建模,提出一種將反射作為后門植入的攻擊模型,這種設(shè)計具有既高效又隱蔽的特點。參考文獻[20]使用模型替換(將正常模型替換成有毒模型)將后門功能引入全局模型,具體后門功能包括修改圖像分類器以便為具有某些特征的圖像分配攻擊者選擇的標簽,以及強制單詞預(yù)測器使用攻擊者選擇的單詞完成某些句子等。除了利用模型替換的方法實現(xiàn)后門攻擊,參考文獻[28]提出了一種新穎的模型攻擊的方法——隱秘通道攻擊,它假設(shè)有惡意的雙方之間存在一條隱秘通道,由于一條數(shù)據(jù)的更改往往不會影響全局模型或者影響他人,且在這個信道里傳輸數(shù)據(jù)所占帶寬也比較小,因此此通道的建立與通信不會被聯(lián)邦學(xué)習(xí)防御系統(tǒng)發(fā)覺,有惡意的雙方就可以實現(xiàn)相互通信自由,將它們交換的信息進行迭代,慢慢生成的毒化模型的作用會逐漸變大,對模型的影響也會不斷積累,從而達到攻擊目的。
推理攻擊是指攻擊者通過多樣的攻擊手段(如竊聽、監(jiān)視等)獲取某些信息,然后利用這些信息推理獲得想要的信息。這些信息通常是客戶的隱私(一般是比較重要的客戶或總結(jié)性的數(shù)據(jù)),尤其是銀行、醫(yī)院等對數(shù)據(jù)比較敏感的行業(yè),受到推理攻擊的危險性更大。推理攻擊示意圖如圖4所示。雖然在聯(lián)邦學(xué)習(xí)設(shè)置中,用戶上傳的是梯度信息而私有數(shù)據(jù)始終存儲于用戶本地,但交換梯度也可能導(dǎo)致隱私泄露,這是因為梯度是由參與者的私人數(shù)據(jù)(使用反向傳播算法)訓(xùn)練而來的,通過對梯度信息進行剖析可以得到隱私信息[29]。
圖4 推理攻擊示意圖
在聯(lián)邦學(xué)習(xí)框架中,攻擊者可以攻擊本地模型或全局模型,通過監(jiān)聽訓(xùn)練模型過程中的梯度信息,可以在一定程度上推理出有用的信息。這些信息可以是成員信息以及訓(xùn)練的輸入特征與標簽信息。成員推理攻擊的目的是確定攻擊對象是否被用來訓(xùn)練模型[30],特征推理攻擊的目的是得到攻擊對象的數(shù)據(jù)分布信息[31],標簽推理攻擊可以根據(jù)用戶上傳的梯度來推斷用戶的標簽,參考文獻[32]提出可以根據(jù)梯度的方向和幅度準確地確定任何標簽是否存在。
根據(jù)被推理的模型是否已知,推理攻擊可分為白盒攻擊和黑盒攻擊。白盒攻擊是在攻擊者已知模型的情況下進行的,即攻擊者可以得到任意輸入的預(yù)測輸出及隱藏層的中間計算結(jié)果[33]。白盒攻擊的效果比黑盒攻擊的效果好,參考文獻[33]利用隨機梯度下降法的弱點設(shè)計出一種針對神經(jīng)網(wǎng)絡(luò)模型的白盒成員推理攻擊,該攻擊的各個隱藏層以及輸出攻擊效果在CIFAR-100數(shù)據(jù)集上表現(xiàn)頗佳。黑盒攻擊[34-35]是在攻擊者只知道模型的輸入和輸出而不知道模型參數(shù)的情況下進行的,其攻擊難度高于白盒攻擊。但針對某些模型,許多黑盒攻擊可以攻擊成功,主要方法是利用對抗樣本的普適性和基于查詢的逆向猜測進行攻擊[36]:對抗樣本的普適性是指針對白盒攻擊的模型也可以在一定程度上對黑盒模型奏效,即選擇高成功率的白盒攻擊方法對黑盒進行攻擊,成功率往往也較高,然后再結(jié)合集成學(xué)習(xí)進行改進,就可以訓(xùn)練出一個性能較好的黑盒攻擊[37];基于查詢的逆向猜測是指有時模型返回的不只是標簽,還包含某一類別的概率分布,攻擊者可以通過該分布逆向猜測有用的信息,從而使攻擊奏效。在特定情況下的黑盒攻擊效果也取得了很有競爭力的表現(xiàn),例如參考文獻[38]針對成員推理攻擊在現(xiàn)實場景中目標訓(xùn)練數(shù)據(jù)集數(shù)量有限且比例不平衡的問題,提出使用生成對抗網(wǎng)絡(luò)(generative adversarial network,GAN)合成數(shù)據(jù),為黑盒成員推理攻擊增加訓(xùn)練樣本,以提高攻擊效率,實驗結(jié)果表明,合成數(shù)據(jù)的引入使黑盒成員推理攻擊的準確率提高了23%。
基于生成對抗網(wǎng)絡(luò)的攻擊也屬于推理攻擊,這是一種主動推理攻擊,該攻擊利用學(xué)習(xí)過程的實時性,使攻擊者可以生成目標訓(xùn)練集的原始樣本。參考文獻[39]提出一種基于GAN的逆向攻擊,該攻擊不僅可以在簡單的線性回歸模型和邏輯回歸模型上達到推理隱私的效果,還能在深度學(xué)習(xí)網(wǎng)絡(luò)中生成模型逆向攻擊。具體重建過程包括兩個階段:第一階段利用公共知識訓(xùn)練判別器;第二階段利用從第一階段獲得的判別器,解決優(yōu)化GAN生成器問題,以恢復(fù)圖像中缺失的敏感區(qū)域。此外,作者還從理論上證明了模型的預(yù)測能力與模型對逆向攻擊的脆弱性是正相關(guān)的。參考文獻[40]提出了生成回歸神經(jīng)網(wǎng)絡(luò)(generative regression neural network,GRNN),這是一種基于GAN的攻擊模型,用于反推聯(lián)邦學(xué)習(xí)中客戶端的原始數(shù)據(jù)。該攻擊的主要思想是建立GAN并生成隨機數(shù)據(jù),最小化真實梯度和虛擬梯度間的距離,從而完成原始數(shù)據(jù)推斷。該攻擊的主要優(yōu)點是不需要額外的信息就可以從共享的梯度中恢復(fù)客戶端的原始數(shù)據(jù)。參考文獻[41]表明,如果攻擊者知道相應(yīng)的梯度更新方向,就可將對應(yīng)的樣本恢復(fù)為具有高保真度的原始數(shù)據(jù),即使不知道梯度更新的方向,也可以進行攻擊。
在聯(lián)邦學(xué)習(xí)框架中,服務(wù)器的工作是將本地用戶更新的參數(shù)安全地聚合到全局模型參數(shù)中,然后將更新后的參數(shù)返回給本地用戶,以此循環(huán)訓(xùn)練出一個全局模型[42]。這表明服務(wù)器仍然是數(shù)據(jù)的中心,受損或惡意的服務(wù)器可能會破壞全局模型,從而產(chǎn)生重大影響。在訓(xùn)練機器學(xué)習(xí)模型時,服務(wù)器能輕松地提取客戶端數(shù)據(jù)或操縱全局模型,以利用共享計算能力來構(gòu)建惡意任務(wù)[43]。這成為聯(lián)邦學(xué)習(xí)的一個重要漏洞,一方面,攻擊者可以從服務(wù)器直接訪問全局模型,擴大了攻擊面;另一方面,服務(wù)器決定全局模型的客戶端視圖,從而對正在訓(xùn)練的模型產(chǎn)生重大影響。服務(wù)器可以控制每個客戶端在聯(lián)邦學(xué)習(xí)訓(xùn)練過程中何時訪問與操縱模型,因此惡意服務(wù)器可以設(shè)計新的方案來測量模型的平均情況或最壞情況的攻擊敏感性[44],從而設(shè)計出最低成本的攻擊方案??紤]到來自惡意服務(wù)器的攻擊,參考文獻[45]提出的框架結(jié)合了多任務(wù)生成對抗網(wǎng)絡(luò),通過攻擊客戶端級別的隱私來實現(xiàn)對用戶身份的區(qū)分。此外,服務(wù)器所處網(wǎng)絡(luò)環(huán)境的安全性也很重要,如果服務(wù)器在一個比較危險的網(wǎng)絡(luò)環(huán)境下運行,被攻擊的可能性會顯著提高[46]。因此,強大而安全的服務(wù)器是必要的。
綜上,對聯(lián)邦學(xué)習(xí)中的攻擊類型進行匯總對比,見表2。
表2 聯(lián)邦學(xué)習(xí)的攻擊類型對比
聯(lián)邦學(xué)習(xí)場景下存在電源與網(wǎng)絡(luò)連接的零星訪問、數(shù)據(jù)中的統(tǒng)計異質(zhì)性等情況,這使得聯(lián)邦學(xué)習(xí)隱私保護與防御更有意義[47]。而且在利益的驅(qū)動下,攻擊手段會不斷地更新,使得對應(yīng)的防御手段產(chǎn)生滯后性。目前,聯(lián)邦學(xué)習(xí)中已經(jīng)涌現(xiàn)出許多針對性的防御方法。下面將從聯(lián)邦學(xué)習(xí)中的通用隱私保護措施(差分隱私、同態(tài)加密、秘密共享)和針對性防御措施(防御數(shù)據(jù)中毒、防御模型攻擊、防御推理攻擊、防御服務(wù)器漏洞)兩個維度進行介紹。
2.1.1 差分隱私
在聯(lián)邦學(xué)習(xí)環(huán)境中,差分隱私通過掩蓋真實數(shù)據(jù)達到防止用戶隱私泄露的目的,其主要思想是在數(shù)據(jù)上添加噪聲(如高斯噪聲、拉普拉斯噪聲等),使得數(shù)據(jù)庫查詢結(jié)果對數(shù)據(jù)集中單個記錄的變化不敏感,從而防止攻擊者利用統(tǒng)計特征的變動推理出隱私屬性[48]。差分隱私具有計算效率高、攻擊者無法恢復(fù)原始數(shù)據(jù)等特點[49],其原理如下:給定兩個數(shù)據(jù)集D和D′,如果二者有且僅有一個數(shù)據(jù)不同,則可將這兩個數(shù)據(jù)集稱為相鄰數(shù)據(jù)集,由此差分隱私的形式可以定義為:
其中,A為隨機算法(給定一個輸入,經(jīng)過算法后得出的輸出不是固定值,而是服從某一分布的隨機輸出)。如果將該算法應(yīng)用于任意兩個相鄰數(shù)據(jù)集,得到輸出O的概率是相似的(都小于ε),那么可以得出該算法可以達到差分隱私的效果。從上述過程可以看出,觀察者很難通過觀察一個輸出結(jié)果來檢測出數(shù)據(jù)集微小的變化,無法獲得真實數(shù)據(jù),從而達到保護隱私的目的[50], 此種方法可以有效地防御推理攻擊和數(shù)據(jù)中毒。根據(jù)不同的信任假設(shè)和噪聲源,可以將差分隱私分為3類:中心化差分隱私(centralized differential privacy,CDP)[51-52]、本地化差分隱私[53](local differential privacy,LDP)[53-55]、分布式差分隱私(distributed differential privacy,DDP)[56-57]。
● 中心化差分隱私。差分隱私最初是為集中式場景設(shè)置的,中心化差分隱私有一個重要的前提,即需要一個可信的數(shù)據(jù)收集庫,這個數(shù)據(jù)庫有權(quán)查看任何參與者的數(shù)據(jù)信息。中心化差分隱私希望通過隨機化查詢結(jié)果這種隱私保護方式返回查詢結(jié)果或公布統(tǒng)計數(shù)據(jù)[51-52]。具體地,當(dāng)中心化差分隱私滿足聯(lián)邦學(xué)習(xí)場景條件時,中心化差分隱私可以被視為一個可信的聚合器,它負責(zé)向聚合的局部模型參數(shù)中添加噪聲,然后在更新的時候再去掉噪聲,從而達到保護隱私的目的。但由于中心化差分隱私需要將大量的數(shù)據(jù)集中到一起來處理,只有在有大量參與者的情況下才能保證隱私和準確性,因此不適用于參與者相對較少的面向公司的橫向聯(lián)邦學(xué)習(xí)(horizontally federated learning to businesses,H2B)模型。
● 本地化差分隱私?,F(xiàn)實中很難找到中心化差分隱私所需要的收集信息的可信數(shù)據(jù)中心,本地化差分隱私是基于不可信第三方進行的,將數(shù)據(jù)的隱私化處理過程轉(zhuǎn)移到每個用戶上,使得用戶能夠單獨處理和保護個人數(shù)據(jù),以達到保護隱私的目的[53]。本地化差分隱私可以被認為是中心化差分隱私的增強版,它基本繼承了中心化差分隱私的特點,同時具備自身的特性:一是充分考慮了任意攻擊者的情況,并對隱私保護程度進行了量化;二是本地化擾動數(shù)據(jù),并且加入的噪聲機制也有所改變,中心化差分隱私的噪聲機制主要以拉普拉斯噪聲和指數(shù)噪聲為主,而本地化差分隱私的噪聲機制主要以隨機響應(yīng)為主[54]?;谝陨蟽?yōu)點,本地化差分隱私技術(shù)很快在現(xiàn)實中得到了應(yīng)用,例如谷歌公司使用該技術(shù)從Chrome瀏覽器采集用戶的行為統(tǒng)計數(shù)據(jù)[55],但其缺點是會在一定程度上影響精度。
● 分布式差分隱私。雖然本地化差分隱私可以在本地很好地保證隱私安全,但在分布式場景中,如果沒有密碼技術(shù)的幫助,每個參與者必須添加足夠的校準噪聲來確保本地化差分隱私,這往往會導(dǎo)致效率不高[56]。分布式差分隱私填補了中心化差分隱私和本地化差分隱私的空缺,其通過對運行相同噪聲機制的參與者進行求和來實現(xiàn)整體加性噪聲的機制,再結(jié)合密碼技術(shù)[57],達到既不需要可信的信息收集數(shù)據(jù)庫,又能達到良好效果的目的。
2.1.2 同態(tài)加密
同態(tài)加密的基本思想是先對數(shù)據(jù)進行加密處理,然后對加密的密文執(zhí)行各種計算,得到加密的結(jié)果,將其解密后得到的結(jié)果與原始數(shù)據(jù)(明文)直接執(zhí)行各種計算得到的結(jié)果一致[58]。該方法不僅可以達到保護數(shù)據(jù)的目的,而且不影響數(shù)據(jù)的計算。以加法同態(tài)加密為例,有:
其中,En表示加密函數(shù),Dec表示解密函數(shù),m1、m2為明文,c1、c2為密文。同態(tài)加密是以數(shù)學(xué)方法為基礎(chǔ)的,其破譯困難在于計算復(fù)雜度很高,一般是指數(shù)級,用窮舉法基本不可能破解,因此相對安全。但其缺點是相對于明文來說,密文的計算復(fù)雜度更高,導(dǎo)致訓(xùn)練時間長,而且對用戶的設(shè)備也有一定的要求。在聯(lián)邦學(xué)習(xí)場景中,為了減少計算量,一般將用戶上傳的梯度信息進行加密[59],然后將梯度進行安全聚合,最后對更新后的參數(shù)進行解密處理。由于經(jīng)過同態(tài)加密后的梯度是一堆隨機數(shù),攻擊者沒有密鑰時無法從這堆數(shù)中推理出任何有價值的信息,因此,此方法可以有效地防御各種攻擊。
同態(tài)加密分為全同態(tài)加密和部分同態(tài)加密[60]。理論上所有運算都可被分解成乘法和加法運算的組合,因此全同態(tài)加密理論上可以支持對密文進行任意計算,但其加密方法往往伴隨著巨大的運算量,故此方法的效率比較低,對硬件的要求比較高[60]。部分同態(tài)加密分為加法同態(tài)和乘法同態(tài),與全同態(tài)加密相比,部分同態(tài)加密更加高效,因此在聯(lián)邦學(xué)習(xí)設(shè)置中常伴隨著部分同態(tài)加密,例如參考文獻[61]使用加法同態(tài)來保證模型參數(shù)的共享安全,使得每個客戶端的隱私不會被中央服務(wù)器泄露。參考文獻[62]提出一種用于遷移學(xué)習(xí)的聯(lián)邦學(xué)習(xí)框架,其采用加法同態(tài)加密技術(shù)來加密模型參數(shù),以保護數(shù)據(jù)隱私。隨著硬件的發(fā)展,實現(xiàn)同態(tài)加密與其他安全方法的結(jié)合成為可能。參考文獻[63]提出一種基于同態(tài)加密的安全聯(lián)邦學(xué)習(xí)框架,他們將同態(tài)加密與可驗證計算技術(shù)結(jié)合,直接在同態(tài)加密形成的加密域中執(zhí)行聯(lián)邦平均,并通過可驗證計算來證明該算子被正確應(yīng)用。
2.1.3 秘密共享
秘密共享是確保信息安全和數(shù)據(jù)機密性的重要方法,也是聯(lián)邦學(xué)習(xí)領(lǐng)域的基本應(yīng)用技術(shù)。秘密共享主要用于保護參與者的重要信息,并防止信息丟失以及信息被破壞和篡改。其思想是將秘密以適當(dāng)?shù)姆绞讲鸱?,拆分后的每一個份額由不同的參與者管理,單個參與者無法恢復(fù)秘密信息,只有若干個參與者一同協(xié)作才能恢復(fù)秘密消息[64]。例如秘密共享(s,n)表示將一個秘密信息s分為n個片段,并將其交給n個不同的參與方進行安全保存,設(shè)置一個閾值t,當(dāng)超過t個參與方時就可以重構(gòu)秘密信息,但參與方數(shù)小于t時不能獲得關(guān)于s的任何有用信息。典型的秘密共享方案由Shamir和Blakley于1979年提出[65],該方案基于多項式的方法構(gòu)成,后來秘密共享方案的形式愈發(fā)多樣化,被應(yīng)用于多個領(lǐng)域。以多項式為例,秘密共享分為生成與分發(fā)密鑰以及解密兩個步驟,首先按照如下多項式生成密鑰:
其中,K表示秘密,t為秘密共享的閾值,ai為多項式的系數(shù),模數(shù)p是為安全計算而設(shè)置的(使解密難度增大)。然后根據(jù)t個參與方提供的密鑰來解線性方程組,解出多項式的系數(shù)ai以及秘密K。
在聯(lián)邦學(xué)習(xí)框架中,秘密共享主要用于將用戶上傳的梯度信息進行秘密共享處理,保證惡意服務(wù)器無法得到梯度信息,從而可以作為一種針對惡意服務(wù)器的防御方法。Bonawitz K等人[66]設(shè)計了一種基于Shamir秘密共享的安全聚合方案,該方案確保在誠實和好奇的服務(wù)器下可以安全地更新參數(shù),同時可以控制秘密共享協(xié)議的復(fù)雜性,從而在大規(guī)模數(shù)據(jù)集中保持較低的計算和通信成本。隨著人們對數(shù)據(jù)安全的要求日漸提高,秘密共享方案也在更新,可驗證秘密共享(verifiable secret sharing,VSS)[67]是基于傳統(tǒng)的秘密共享升級而來的,它不僅能保證秘密的完整性,還能保證參與者分享的秘密是正確的。根據(jù)不同的應(yīng)用場景,可驗證秘密共享有幾種不同的方案,參考文獻[68]對各種可驗證秘密共享進行了研究,提出了多種安全可靠的可驗證秘密共享方案,可被應(yīng)用于多種分布式安全計算場景。隨著硬件設(shè)備的改善和需求的提高,許多可驗證秘密共享與其他安全方法(如同態(tài)加密)結(jié)合的方案也被應(yīng)用于聯(lián)邦學(xué)習(xí)框架,具備這種方案的聯(lián)邦學(xué)習(xí)框架不僅可以發(fā)揮聯(lián)邦學(xué)習(xí)分布式的優(yōu)點,還能加強其安全性[69]。
綜上,聯(lián)邦學(xué)習(xí)通用隱私保護措施對比見表3。
表3 聯(lián)邦學(xué)習(xí)通用隱私保護措施對比
2.2.1 防御數(shù)據(jù)中毒
數(shù)據(jù)中毒是聯(lián)邦學(xué)習(xí)中常見的攻擊,截至目前,已經(jīng)有很多具體的用于防御數(shù)據(jù)中毒的措施,其中一種常用的措施是在訓(xùn)練之前檢驗數(shù)據(jù)的真實性和可靠性[70]。Baracaldo N等人[71]使用上下文信息(如來源和轉(zhuǎn)換)來檢測數(shù)據(jù)采樣點,該檢測方法先將整個訓(xùn)練集劃分為多個部分,隨后比較每個部分的訓(xùn)練結(jié)果,以識別出訓(xùn)練結(jié)果最異常的部分,從而消除異常數(shù)據(jù)。除檢測外,還可在訓(xùn)練之前轉(zhuǎn)換數(shù)據(jù),例如參考文獻[72]將原始數(shù)據(jù)壓縮轉(zhuǎn)換成另一種形式,攻擊者一般不會提前知道壓縮形式,從而可以在一定程度上保證數(shù)據(jù)安全。同時還可以降低數(shù)據(jù)與模型參數(shù)的存儲量,提高運算的速度,降低通信成本。參考文獻[73]提出了一種高級表征引導(dǎo)去噪器(high-level representation guided denoiser,HGD)的方法,它解決的是標準降噪器誤差放大效應(yīng)(較小的殘余對抗噪聲會被逐漸放大)導(dǎo)致的錯誤分類問題,將由干凈圖像數(shù)據(jù)和去噪圖像激活的目標模型輸出之間的差值定義為損失函數(shù),通過優(yōu)化此損失函數(shù)來解決上述問題。此外,還有通過減少每個像素的顏色位深度和訓(xùn)練圖像的空間平滑度來防御數(shù)據(jù)中毒的方法[74]。值得注意的是,雖然這些方法可以在一定程度上防御數(shù)據(jù)中毒,但也可能導(dǎo)致原有數(shù)據(jù)結(jié)構(gòu)被破壞,使得原有數(shù)據(jù)的訓(xùn)練效果不佳。
除了上述方法,還有一種常用的防御方法是對抗訓(xùn)練,該方法的特點是只要對抗樣本足夠多,就可以達到很好的防御效果,因此該方法可以防御很多類型的數(shù)據(jù)中毒。對抗訓(xùn)練的原理是將真實樣本和對抗樣本放在一起作為訓(xùn)練模型的訓(xùn)練集,通過訓(xùn)練,模型能認識并“解決”(一般通過修改其標簽來實現(xiàn))中毒樣本。在圖像領(lǐng)域,對抗訓(xùn)練通??梢蕴岣吣P偷聂敯粜裕鶗?dǎo)致泛化性能下降;在語音領(lǐng)域,對抗訓(xùn)練可以同時提高魯棒性和泛化性[75],但其缺點是準確度不高。參考文獻[76]提出一種聯(lián)邦動態(tài)對抗訓(xùn)練方法,該方法不僅可以提高訓(xùn)練模型的準確度,還能加快模型的收斂速度。Fung C等人[77]使用了一種被稱為FoolsGold的防御方法,可以很好地防御標簽翻轉(zhuǎn)攻擊和數(shù)據(jù)后門中毒攻擊,該方法的特點是不用限制攻擊者的預(yù)期數(shù)量且適用于不同的客戶數(shù)據(jù)分布,并且不需要訓(xùn)練過程之外的輔助信息就可以進行有效的防御,但是不足之處是這種防御方法需在許多特定的攻擊假設(shè)下才有效,例如在攻擊類型為后門攻擊或翻轉(zhuǎn)標簽攻擊時奏效[78]。
2.2.2 防御模型攻擊
對于模型攻擊,防御的重點是檢測錯誤的模型參數(shù)。參考文獻[79]提出兩種檢測模型參數(shù)的方法。一種方法是直接使用參數(shù)之間的數(shù)值差異來進行檢測,具體是每個參與者提供n個參數(shù)δ1,δ2,…,δn,當(dāng)一方提供的參數(shù)與其他用戶提供的參數(shù)有很大差異時,則判斷該參數(shù)異常。另一種方法是服務(wù)器根據(jù)某個參與者上傳的參數(shù)δi執(zhí)行相應(yīng)的處理,然后使用其他參與者上傳的參數(shù)計算,其中,WG為參與者上傳的梯度信息,f為設(shè)計的特定函數(shù),比較WG1和WG2,如果差值超過某個設(shè)定值,則推斷模型參數(shù)δ出現(xiàn)異常。針對后門攻擊,參考文獻[79]提出一種通過基于反饋的聯(lián)邦學(xué)習(xí)進行后門檢測的方法,這是一種保護聯(lián)邦學(xué)習(xí)免受后門攻擊的新型防御措施。其核心思想是使用多個客戶端的數(shù)據(jù)進行訓(xùn)練以及模型中毒檢測。具體做法是先隨機選擇一組客戶端進行訓(xùn)練并上傳參數(shù),服務(wù)器不僅發(fā)送更新后的全局模型參數(shù),還將上一輪各客戶端的參數(shù)回傳給客戶端,然后客戶端使用自己的數(shù)據(jù)與收到的參數(shù)進行測試打分,當(dāng)?shù)梅殖^閾值時,認為該模型受到后門攻擊,反之則沒有受到后門攻擊,如此迭代,從而完成檢測。實驗表明,該方法對現(xiàn)有后門攻擊方法的檢測準確率約為100%,誤報率低于5%。
聯(lián)邦學(xué)習(xí)設(shè)置中十分常見的安全聚合算法也是一種有效的防御方法,安全聚合算法在任何集中式拓撲和橫向聯(lián)邦學(xué)習(xí)環(huán)境中都扮演著關(guān)鍵角色,它可以有效地防御模型攻擊和推理攻擊。迄今為止,多種安全聚合算法被提出,非常經(jīng)典的是聯(lián)邦平均聚合算法FedAvg(federated average)[80]。FedAvg簡單且實用,其主要思想是將各個用戶上傳的參數(shù)以不同的權(quán)重進行平均聚合,每個用戶的權(quán)重由其擁有的樣本數(shù)量決定。雖然聯(lián)邦平均聚合算法在一定程度上可以保護隱私,但是隨著聯(lián)邦學(xué)習(xí)的發(fā)展,對聚合算法的要求越來越高,許多不同的聚合算法應(yīng)運而生。以下幾種聚合算法是在平均聚合算法的基礎(chǔ)上進行改進的算法。一是修剪均值聚合算法[80],具體做法是對于m個模型參數(shù),主設(shè)備首先會對其本地模型的m個參數(shù)進行排序,然后刪除最大和最小的β個參數(shù),計算(m-2β)個參數(shù)的平均值,并將其作為全局模型的參數(shù),如此迭代,最后服務(wù)器對參數(shù)進行平均匯總。二是Median聚合算法[81],對于本地m個模型參數(shù),主設(shè)備將對本地模型的所有參數(shù)進行排序,將中位數(shù)作為全局模型的參數(shù),當(dāng)m是偶數(shù)時,中位數(shù)是中間兩個參數(shù)的平均值,然后將多個模型的中位數(shù)取平均,并將該平均值作為最后超級模型的參數(shù)。與修剪均值聚合算法一樣,當(dāng)目標函數(shù)強凸時,Median聚合算法可達到最優(yōu)階次錯誤率。三是Krum聚合算法[82],其主要思想是在眾多局部模型中選擇與其他模型最相似的模型作為全局模型,即使所選的部分模型來自損壞的工作節(jié)點設(shè)備,其影響也將受到限制,相當(dāng)于采用折中的方式進行聚合。基于Krum的影響,參考文獻[83]提出一種改進方法Bulyan。該方法主要將Krum聚合算法與修剪均值聚合算法結(jié)合。具體而言,首先將Krum聚合算法迭代地應(yīng)用于選擇局部模型,然后使用修剪均值聚合算法聚合局部模型,以獲得全局模型。該方法可以消除Krum聚合算法中某些異常模型參數(shù)的影響。根據(jù)不同的應(yīng)用場景,還可以將上述聚合算法結(jié)合,根據(jù)它們的優(yōu)點,對算法進行加權(quán)處理以達到預(yù)期效果。除此之外,參考文獻[84]針對安全聚合的計算開銷問題進行改進,提出一種名為Turbo-Aggregate的安全聚合算法。該算法在具有N個用戶的網(wǎng)絡(luò)中實現(xiàn)了O(NlogN)的安全聚合開銷,而以往最先進的聚合算法的計算復(fù)雜度為O(N2),同時Turbo-Aggregate算法能容忍高達50%的用戶流失率。
2.2.3 防御推理攻擊
一般來說,推理攻擊比其他攻擊更難成功,因為它要求攻擊者不僅能成功獲取聯(lián)邦學(xué)習(xí)用戶級別以上的部分,而且還能執(zhí)行有效的推理才能攻擊成功。對于推理攻擊,聯(lián)邦學(xué)習(xí)中也有相應(yīng)的防御方法,常用的同態(tài)加密可以很好地防御推理攻擊,在使用了同態(tài)加密的情況下,即使模型被成功攻擊,攻擊者也只會獲得密文,而沒有密鑰的密文對于攻擊者而言是毫無意義的。此外,如果攻擊是針對全局模型的,則安全聚合算法也可以很好地防御推理攻擊,這是因為攻擊者通常不知道聚合規(guī)則。除了同態(tài)加密和安全聚合算法,差分隱私和秘密共享有時也可用于防御推理攻擊。除上述防御方法外,還有一些主要針對推理攻擊的防御方法。例如模型堆疊[84],即將多種模型進行集成或者組合來構(gòu)建最終模型,這種模型內(nèi)部比較復(fù)雜,攻擊者一般無法推理出有用的參數(shù)。參考文獻[85]提出了一種名為消化神經(jīng)網(wǎng)絡(luò)(digestive neural network,DNN)的防御推理攻擊的架構(gòu),它先通過DNN層對數(shù)據(jù)進行處理,得到數(shù)據(jù)的高維語義特征,然后計算該特征與原始數(shù)據(jù)間的L1損失函數(shù),最后通過優(yōu)化此損失函數(shù)來更新模型。這樣做不僅可以將原始的數(shù)據(jù)處理成表征的形式(由于神經(jīng)網(wǎng)絡(luò)模型的難解釋性,一般無法由表征推理出詳實的信息),還能提高模型的準確性。
2.2.4 防御服務(wù)器漏洞
針對服務(wù)器漏洞問題,可信執(zhí)行環(huán)境(trusted execution environment,TEE)[86]可以通過硬件隔離的技術(shù)來保護服務(wù)器,這在學(xué)術(shù)界與產(chǎn)業(yè)界都受到了廣泛關(guān)注。一般在支持TEE的CPU中有一個被稱為Enclave的特定的區(qū)域,該區(qū)域為數(shù)據(jù)和代碼執(zhí)行提供了更安全的空間,確保了應(yīng)用程序的機密性和完整性[86],使得服務(wù)器也無法獲取用戶在此區(qū)域中的執(zhí)行邏輯和用戶數(shù)據(jù)。具體是將該區(qū)域與外部環(huán)境隔離開,TEE可以直接獲取有關(guān)外部環(huán)境的信息,但具有特殊訪問權(quán)限的攻擊者無法讀取或干擾內(nèi)存區(qū)域,只有處理器才能解密和執(zhí)行該區(qū)域內(nèi)的應(yīng)用程序,以此達到保證信息的機密性和完整性的目的。此外,英特爾的SGX(software guard extensions)還為用戶提供了一種用于驗證TEE的真實性的機制,并且攻擊者無法更改用戶在Enclave內(nèi)運行的應(yīng)用程序[87]。目前TEE技術(shù)已經(jīng)在智能設(shè)備上得到廣泛的應(yīng)用,要求在同一個設(shè)備上支持多個獨立的TEE系統(tǒng)的場景也逐步增多,如上海瓶缽信息科技有限公司設(shè)計和實現(xiàn)了在移動智能設(shè)備上支持多個不同TEE的安全虛擬化系統(tǒng)TEEv[88]。參考文獻[89]提出了一個基于TEE的完整隱私保護聯(lián)邦學(xué)習(xí)方案,并通過實驗表明該方案可以確保聯(lián)邦學(xué)習(xí)訓(xùn)練過程的完整性和安全性,并且具有很強的實用性。還有其他安全方法也可防御惡意服務(wù)器,如安全多方計算。安全多方計算是密碼協(xié)議的子領(lǐng)域,其目標是多方聯(lián)合完成某種協(xié)同計算,每個參與者在完成計算之后,只能獲得計算結(jié)果,無法獲得參與實體的任何輸入信息。參考文獻[90]使用安全多方計算來構(gòu)建聯(lián)邦學(xué)習(xí)系統(tǒng),作者使用秘密共享來保護參數(shù)信息,通過引入雙重掩碼結(jié)構(gòu)來防御惡意服務(wù)器,并驗證了即使服務(wù)器可以重建用戶的擾動,秘密也可受到保護。
綜上,對聯(lián)邦學(xué)習(xí)中的針對性防御措施進行對比分析,見表4。
表4 聯(lián)邦學(xué)習(xí)針對性防御措施對比
隨著人工智能的快速發(fā)展,許多數(shù)據(jù)安全問題不容忽視,在充分利用數(shù)據(jù)的同時保障用戶的信息安全是一個很難實現(xiàn)的目標,從上述各種攻擊與防御中可以看出,雖然聯(lián)邦學(xué)習(xí)框架和相應(yīng)的技術(shù)能夠在一定程度上保護數(shù)據(jù),但是還有許多安全問題有待解決。聯(lián)邦學(xué)習(xí)攻擊與防御的關(guān)鍵要素有模型的魯棒性、模型訓(xùn)練和推理階段的通信效率等。本文總結(jié)了如下5個可能的研究方向。
● 防御方法更加魯棒。 盡管本文介紹了許多可以在聯(lián)邦學(xué)習(xí)中免受攻擊的防御方法,但這些方法都有局限性,通常一種防御方法只能防御一種攻擊,當(dāng)聯(lián)邦學(xué)習(xí)中存在多種攻擊時,單一的防御方法顯然是不夠的。而且,同一種防御方法在不同的終端和模型(改動不大)中防御效果也不一樣,可能會失效,甚至有時因為一些數(shù)據(jù)集的改變或者模型的微小改動就會對防御產(chǎn)生很大的影響,這些都是魯棒性不足的表現(xiàn)。目前還沒有魯棒性非常高的防御方法可以同時針對多個不同的攻擊進行有效的防御,甚至有些攻擊還沒有相應(yīng)的防御方法。因此,找到一種魯棒性更高的防御方法是非常有必要的方向之一。
● 攻擊更加多樣。攻擊與防御是密不可分的,只有攻擊一直發(fā)展,防御才會一直進步,而且有些防御是基于攻擊的思路發(fā)展而來的。因此,對攻擊研究得透徹,可以在一定程度上促進防御的發(fā)展,從而促進聯(lián)邦學(xué)習(xí)更快地發(fā)展。具體地,應(yīng)基于上述攻擊方法進行更新迭代,從多個方位進行創(chuàng)新。
● 提高通信效率。由于機器學(xué)習(xí)通常需要大量的計算,資源管理在實現(xiàn)相關(guān)可持續(xù)和高效的聯(lián)邦學(xué)習(xí)解決方案方面發(fā)揮著重要作用。而在這方面,很少有工作將邊緣計算集成到聯(lián)邦學(xué)習(xí),以支持具有額外計算資源的終端設(shè)備,這是一個需要發(fā)展的方向。如果在聯(lián)邦學(xué)習(xí)過程中使用過多防御措施或加密措施,將不可避免地增加計算量,通常也會增加服務(wù)器的通信負擔(dān),嚴重時會導(dǎo)致服務(wù)器拒絕服務(wù)。同時由上述方法(局部更新、模型壓縮)可知,每種方法的準確性和通信效率是相互制約的,它們之間的權(quán)衡非常重要,因此,如何在保證數(shù)據(jù)安全的基礎(chǔ)上保證通信效率和精度是今后非常必要的研究方向之一。
● 探索異構(gòu)聯(lián)邦學(xué)習(xí)。目前,隱私和魯棒性研究大多集中在具有同構(gòu)模型架構(gòu)的聯(lián)邦學(xué)習(xí)范式中,而現(xiàn)有的隱私保護技術(shù)和攻擊防御機制是否適用于具有異構(gòu)模型架構(gòu)的聯(lián)邦學(xué)習(xí)仍未得到充分的實證性研究。因此,將現(xiàn)有的攻擊與防御方法推廣到異構(gòu)聯(lián)邦學(xué)習(xí)是非常有價值的,具體可以從聯(lián)邦個性化學(xué)習(xí)、研究新的異構(gòu)性定義、快速確定聯(lián)邦網(wǎng)絡(luò)中的異構(gòu)性水平等方向進行。
● 模型可解釋。模型可解釋性是指可以將模型解釋或表達成可理解的術(shù)語[91]。這不僅是未來聯(lián)邦學(xué)習(xí)的研究方向,也是人工智能的研究方向。目前,相關(guān)研究人員也許知道機器學(xué)習(xí)能夠很好地解決一個問題,但對于解決原理,卻知之甚少。相對于傳統(tǒng)的機器學(xué)習(xí),聯(lián)邦學(xué)習(xí)會進一步提高模型的復(fù)雜度,缺乏可解釋性會導(dǎo)致聯(lián)邦學(xué)習(xí)在應(yīng)用過程中存在潛在威脅,提高聯(lián)邦學(xué)習(xí)模型的可解釋性有利于提前解決聯(lián)邦學(xué)習(xí)落地所帶來的潛在威脅,因此這也是相關(guān)研究人員努力的方向之一。
聯(lián)邦學(xué)習(xí)是一個富有前途的研究方向,它以打破“數(shù)據(jù)孤島”和保護用戶隱私而聞名,目前已經(jīng)吸引了大量的研究者進行相關(guān)領(lǐng)域的研究,并取得了一定的成就,也得到了廣泛認可。雖然聯(lián)邦學(xué)習(xí)能解決一些現(xiàn)實問題,但仍然存在許多潛在的威脅,未來還需深入研究存在的安全問題,加快處理聯(lián)邦學(xué)習(xí)面臨的挑戰(zhàn),共同推動聯(lián)邦學(xué)習(xí)進一步發(fā)展為解決數(shù)據(jù)安全問題的首要利器。