(華東師范大學上海市高可信計算重點實驗室,上海 200062)
聯(lián)邦學習(federated learning,FL)在2016 年由谷歌最先提出[1],用于建立移動終端與服務(wù)器之間的共享模型,從而在大規(guī)模數(shù)據(jù)背景下有效地利用這些數(shù)據(jù)資源,并且保證用戶的隱私安全。但這些分散的數(shù)據(jù)大多是異構(gòu)且不均衡的,為此,Jakub 等[2]提出一個實用高效的優(yōu)化算法來處理數(shù)據(jù)分布問題。之后,又有大量的研究來進一步優(yōu)化聯(lián)邦學習模型,如文獻[3]提出了兩種方法來減小通信消耗,從而實現(xiàn)更加高效的訓練過程;文獻[4]解決了之前聯(lián)邦學習機制中共享模型可能會偏向于某些參與方的問題,保證了參與方間的公平性;文獻[5]提出單樣本/少樣本探索式的學習方法來解決壓縮式聯(lián)邦學習中的通信問題。
聯(lián)邦學習一經(jīng)推出,就受到廣泛的關(guān)注。各大科技金融龍頭也開始進行開源項目的搭建,如WeBank 開發(fā)的FATE、Google 推出的TensorFlow Federated(TFF)、Uber 開源的Horovod等。聯(lián)邦學習已經(jīng)被廣泛應(yīng)用于無線通信與邊緣計算[6]、智慧金融[7]、智慧醫(yī)療[8]、環(huán)境保護[9]等領(lǐng)域,未來有望改變新時代的商業(yè)模式,深入影響到智能城市的建設(shè)。
然而,聯(lián)邦學習中仍然存在巨大的安全隱患,比如參與方的安全等級較低,容易遭受惡意攻擊,從而影響到整個模型的安全。本文針對聯(lián)邦學習可能產(chǎn)生的安全問題進行分析,著重針對投毒攻擊、對抗攻擊以及隱私泄露這三個方面的安全威脅進行詳細的說明,并有針對性地總結(jié)了防御措施,以期對減小聯(lián)邦學習的安全性風險、促進其進一步發(fā)展與普及有一定幫助。
聯(lián)邦學習是一種分布式的機器學習方法,即參與方對本地數(shù)據(jù)進行訓練后將更新的參數(shù)上傳至服務(wù)器,再由服務(wù)器進行聚合得到總體參數(shù)的學習方法。與傳統(tǒng)機器學習技術(shù)相比,聯(lián)邦學習不僅可以提高學習效率,還能解決數(shù)據(jù)孤島問題,保護本地數(shù)據(jù)隱私[10]。
假設(shè)有n 個參與方U1,U2,···Un,每個參與方Ui擁有各自的本地數(shù)據(jù)集Di,現(xiàn)在需要在總的數(shù)據(jù)集D=D1∪D2∪···∪Dn中訓練出模型MGlobal。聯(lián)邦學習指的是一種分布式的學習方式,即不直接把所有數(shù)據(jù)整合在一起統(tǒng)一進行訓練得到模型MSum,而是由各個參與方Ui根據(jù)服務(wù)器傳過來的初始參數(shù)wG,各自訓練本地的數(shù)據(jù),得到新的參數(shù),再將更新的參數(shù)值δi=-wG傳到服務(wù)器端,服務(wù)器端采取一定的方式進行聚合,得到更新的總體參數(shù)
由此經(jīng)過多次迭代,最終得到總體訓練模型MFed。此外,聯(lián)邦學習需要能夠保證模型MFed的效果VFed與模型MSum的效果VSum間的差距足夠小[11],即
其中:ε為任意小的正量值。
聯(lián)邦學習中各個參與方只需要維護本地的數(shù)據(jù)集Di。但不同情況下,Di之間用戶和數(shù)據(jù)特征的差異也不盡相同。如表1 所示,根據(jù)數(shù)據(jù)分布的不同情況,聯(lián)邦學習大致分為3 類:橫向聯(lián)邦學習、縱向聯(lián)邦學習與聯(lián)邦遷移學習。
表1 三類聯(lián)邦學習的對比
1.2.1 橫向聯(lián)邦學習
橫向聯(lián)邦學習指的是在不同數(shù)據(jù)集之間數(shù)據(jù)特征重疊較多而用戶重疊較少的情況下,按照用戶維度對數(shù)據(jù)集進行切分,并取出雙方數(shù)據(jù)特征相同而用戶不完全相同的那部分數(shù)據(jù)進行訓練。
1.2.2 縱向聯(lián)邦學習
縱向聯(lián)邦學習指的是在不同數(shù)據(jù)集之間用戶重疊較多而數(shù)據(jù)特征重疊較少的情況下,按照數(shù)據(jù)特征維度對數(shù)據(jù)集進行切分,并取出雙方針對相同用戶而數(shù)據(jù)特征不完全相同的那部分數(shù)據(jù)進行訓練。
1.2.3 聯(lián)邦遷移學習
聯(lián)邦遷移學習指的是在多個數(shù)據(jù)集的用戶與數(shù)據(jù)特征重疊都較少的情況下,不對數(shù)據(jù)進行切分,而是利用遷移學習[12]來克服數(shù)據(jù)或標簽不足的情況。
與其他機器學習技術(shù)相比,聯(lián)邦學習具有多重優(yōu)勢。
1)用戶隱私保護。聯(lián)邦學習數(shù)據(jù)只存儲在本地,各參與方數(shù)據(jù)不共享,保證了用戶數(shù)據(jù)的隱私,滿足了《通用數(shù)據(jù)保護條例》[13]的要求。
2)適應(yīng)大規(guī)模數(shù)據(jù)的模型訓練。大規(guī)模的訓練數(shù)據(jù)可以提高訓練模型的質(zhì)量。采用聯(lián)邦學習可以保證訓練出的模型效果無損,同時可以減小對訓練過程中的設(shè)備要求,提高模型訓練速度。
3)增強了數(shù)據(jù)來源的靈活性。在聯(lián)邦學習的技術(shù)支持下,一些原本因為特定因素無法參與訓練的數(shù)據(jù)源,可以將數(shù)據(jù)存放在本地的同時參與總體模型的訓練,更好地提升模型的泛化效果。
盡管聯(lián)邦學習的優(yōu)勢明顯,其出現(xiàn)和發(fā)展順應(yīng)時代的潮流,但在投入應(yīng)用前應(yīng)檢測其安全性。近年來,大量研究成果表明,聯(lián)邦學習機制中仍然存在安全問題,如投毒攻擊,對抗樣本攻擊以及隱私泄露問題等。本節(jié)主要針對這三個安全問題進行詳細說明。
投毒攻擊主要是指在訓練或再訓練過程中,惡意的參與者通過攻擊訓練數(shù)據(jù)集來操縱機器學習模型的預測[14]。聯(lián)邦學習中,攻擊者有兩種方式進行投毒攻擊:數(shù)據(jù)投毒和模型投毒,如圖1 所示。
圖1 數(shù)據(jù)投毒與模型投毒
2.1.1 數(shù)據(jù)投毒
數(shù)據(jù)投毒是指攻擊者通過對訓練集中的樣本進行污染,如添加錯誤的標簽或有偏差的數(shù)據(jù),降低數(shù)據(jù)的質(zhì)量,從而影響最后訓練出來的模型,破壞其可用性或完整性。文獻[15]中提出了一種攻擊方式,攻擊者使學習模型的參數(shù)值接近他所期望的值,同時使模型輸出對某些測試樣本的錯誤預測。文獻[16]采用混合輔助注入策略,通過注入少量有毒樣本到訓練集就獲得了90%以上的攻擊成功率。文獻[17]中針對支持向量機算法(support vector machines,SVM)產(chǎn)生的優(yōu)化梯度,預測其目標函數(shù)的變化方向,使用梯度上升策略顯著提高了SVM 分類器的錯誤率。為了提高攻擊廣度,文獻[18]提出了一種基于反梯度優(yōu)化思想的新型投毒算法,能夠針對更廣泛的學習算法中基于梯度的訓練過程,包括神經(jīng)網(wǎng)絡(luò)(neural network,NN)和深度學習(deep learning,DL)體系結(jié)構(gòu)。
2.1.2 模型投毒
模型投毒不同于數(shù)據(jù)投毒,攻擊者不直接對訓練數(shù)據(jù)進行操作,而是發(fā)送錯誤的參數(shù)或損壞的模型來破壞全局聚合期間的學習過程[19],比如控制某些參與方Ui傳給服務(wù)器的更新參數(shù)δi,從而影響整個學習模型參數(shù)的變化方向,減慢模型的收斂速度,甚至破壞整體模型的正確性,嚴重影響模型的性能。文獻[20]只假設(shè)了一個惡意代理(參與方),就實現(xiàn)了對整體模型的隱蔽性的攻擊,使得目標模型無法對某類數(shù)據(jù)正確分類。
對抗攻擊是指惡意構(gòu)造輸入樣本,導致模型以高置信度輸出錯誤結(jié)果。這種通過在原始樣本中添加擾動而產(chǎn)生的輸入樣本稱為對抗樣本[14]。
對抗攻擊首先是由Christian 等[21]提出的,他們發(fā)現(xiàn)深度學習的輸入與輸出之間映射的不連續(xù)性,通過對圖片進行一個細微的干擾,神經(jīng)網(wǎng)絡(luò)分類器就會完全改變對于這張圖片的預測。文獻[22]進一步研究發(fā)現(xiàn),對抗攻擊不僅能對復雜的深度學習網(wǎng)絡(luò)起作用,而且在線性模型這樣簡單的網(wǎng)絡(luò)中,對抗攻擊也可以有很好的攻擊效果。之后大量的研究探索出了多種對抗攻擊的攻擊方式,如Least-Likely-Class Iterative Methods[23]、Jacobianbased Saliency Map Attack (JSMA)[24]、DeepFool[25]等。
從攻擊環(huán)境來說,對抗攻擊可以分為黑盒攻擊和白盒攻擊。若知道機器學習模型中的參數(shù)與內(nèi)部結(jié)構(gòu),攻擊者可以把所需的干擾看作一個優(yōu)化問題計算出來。這種情況下的對抗攻擊屬于白盒攻擊。而另一種常見的情境下,攻擊者不知道任何模型的信息,只能跟模型互動,給模型提供輸入然后觀察它的輸出,這種情形下的對抗攻擊屬于黑盒攻擊。對抗攻擊還可以根據(jù)攻擊目的分為目標攻擊和非目標攻擊。根據(jù)干擾的強度大小分為無窮范數(shù)攻擊、二范數(shù)攻擊和零范數(shù)攻擊等。
對抗攻擊可以幫助惡意軟件逃避檢測,生成投毒樣本,已經(jīng)被攻擊者廣泛應(yīng)用于圖像分類、語義分割、機器識別以及圖結(jié)構(gòu)等多個領(lǐng)域,成為系統(tǒng)破壞者的一個有力攻擊武器。
聯(lián)邦學習方式允許參與方在本地進行數(shù)據(jù)訓練,各參與方之間是獨立進行的,其他實體無法直接獲取本地數(shù)據(jù),可以保證一定的隱私安全,但這種安全并不是絕對安全,仍存在隱私泄露的風險。比如惡意的參與方可以從共享的參數(shù)中推理出其他參與方的敏感信息。
參與方的隱私安全通常易受到兩種攻擊:模型提取攻擊和模型逆向攻擊[14]。通過模型提取攻擊,攻擊者試圖竊取模型的參數(shù)和超參數(shù),破壞模型的保密性。比如惡意的參與方可以對共享模型進行預測查詢,然后提取訓練完成的模型。文獻[26]針對BigML 和Amazon 機器學習在線服務(wù)進行了攻擊,提取了一個幾乎完全相同的模型,并且證明了同樣的攻擊適用于多種機器學習方法。通過模型逆向攻擊,攻擊者試圖從訓練完成的模型中獲取訓練數(shù)據(jù)集的統(tǒng)計信息,從而獲取用戶的隱私信息。文獻[27]實現(xiàn)了一個攻擊,可以推斷模型構(gòu)建過程中所使用的流量類型。模型逆向攻擊推斷出的訓練集的信息,既可以是某個成員是否包含在訓練集中,也可以是訓練集的一些統(tǒng)計特性。根據(jù)這兩種訓練集信息,模型逆向攻擊可以進一步分為成員推理攻擊和屬性推理攻擊。這對聯(lián)邦學習中的各參與方的隱私造成了嚴重的威脅。
我們通常假設(shè)服務(wù)器是可信的,然而實際情況中并非如此,若服務(wù)器是惡意的(或者是誠實并好奇的),它可以識別更新的參數(shù)的來源,甚至進一步通過參與方多次反饋的參數(shù)推測參與方的數(shù)據(jù)集信息,這可能造成參與方的隱私泄露。
針對聯(lián)邦學習面臨的多重安全威脅,本節(jié)討論防御上述攻擊的一些最新對策。
聯(lián)邦學習中的投毒防御主要從數(shù)據(jù)投毒防御和模型投毒防御兩個方向考慮。
3.1.1 數(shù)據(jù)投毒防御
針對數(shù)據(jù)投毒,防御方法應(yīng)從保護數(shù)據(jù)的角度出發(fā)。一方面,在訓練模型之前應(yīng)當保證數(shù)據(jù)來源的真實性與可靠性。另一方面,在使用不能保證安全性的數(shù)據(jù)之前,應(yīng)當進行相應(yīng)的檢測以保證數(shù)據(jù)完整性不受篡改。
為保證數(shù)據(jù)源的真實與可靠,在與各參與方進行數(shù)據(jù)交互之前,可以使用健壯的身份驗證機制,以防止欺騙攻擊或?qū)⒈还フ嫉墓?jié)點中被污染的數(shù)據(jù)集加入訓練集,從而降低數(shù)據(jù)的質(zhì)量。
目前已經(jīng)有多種防御機制來抵抗數(shù)據(jù)投毒的攻擊。Nathalie 等[28]使用起源和轉(zhuǎn)換等上下文信息來檢測訓練集中的有毒樣本點。該檢測方法通過將整個訓練集分為多部分,比較各部分數(shù)據(jù)訓練出的效果,從而識別出哪一部分的數(shù)據(jù)表現(xiàn)最為異常,實驗證明該方法能達到較高的檢測率。文獻[29]提出了一種防御機制來對抗回歸中的投毒攻擊,該技術(shù)集成了改進的魯棒低秩矩陣逼近和魯棒主成分回歸,提供了強大的性能保證。
3.1.2 模型投毒防御針對模型投毒,假定服務(wù)器是可信的,那么防御的重點在于對惡意參與方的識別以及對錯誤更新參數(shù)的檢測。惡意參與方也可以用相關(guān)的身份管理技術(shù)進行防范。對于異常的更新參數(shù),通常有兩種檢測方法[20]。一種是通過準確度檢測。服務(wù)器利用參與方Ui返回的參數(shù)δi計算wG1′=wG+f(δi),利用其他參與方返回的參數(shù)計算wG2′=wG+f(Δ),其中Δ={δj|j=1,2,···,n,j≠i}。然后分別使用wG1′和wG2′作為模型的權(quán)重參數(shù),比較兩個模型在驗證集上的準確度。若使用wG1′的模型準確度明顯小于使用wG2′的模型,則推測δi異常。另一種方法是通過直接比較各個參與方提交的更新參數(shù)δ1,δ2,···,δn之間的數(shù)值統(tǒng)計差異,當某個參與方反饋的更新參數(shù)δi與其他參與方的有很大的統(tǒng)計差異時,則推測δi異常。
在機器學習領(lǐng)域中,研究了大量對抗攻擊防御機制,這些機制也同樣適用于聯(lián)邦學習的對抗防御。
3.2.1 對抗訓練
一個常用的防御手段是進行對抗訓練,即將真實的樣本和對抗樣本一起作為訓練集,來訓練出最后的模型。對抗訓練適用于多種監(jiān)督問題[30],它可以使得模型在訓練過程中就學習到對抗樣本的特征,提高模型的健壯性。但這樣的模型只能抵抗訓練集中的對抗樣本,不能很好地防范未知的攻擊。
3.2.2 數(shù)據(jù)增強
數(shù)據(jù)增強是對抗攻擊的一種擴充。在訓練過程中不可能窮舉所有對抗樣本,但通過對原始數(shù)據(jù)集中的數(shù)據(jù)進行隨機化處理可以增強模型的泛化能力。比如在圖像處理中對訓練集中的圖片進行翻轉(zhuǎn)、旋轉(zhuǎn)、縮放比例、裁剪、移位以及顏色等處理,而且適度加入噪聲也是一種常用的方法。文獻[31]中對每個原始樣本加入高斯噪聲,生成了10 個噪聲樣本,取得了較好的防御效果。
3.2.3 數(shù)據(jù)處理
數(shù)據(jù)處理采取與數(shù)據(jù)增強不同的方式,數(shù)據(jù)處理技術(shù)是指對樣本進行降噪處理,以減小對抗樣本的干擾。文獻[32]中引入標量量化和平滑空間濾波兩種經(jīng)典的圖像處理技術(shù)來降低噪聲的影響。并且利用圖像熵作為度量指標,實現(xiàn)了對不同類型圖像的自適應(yīng)降噪。通過比較給定樣本的分類結(jié)果及其去噪后的版本,這種降噪處理方法可以有效地檢測和剔除對抗樣本,在F1 度量標準下達到96.39%的準確度。
3.2.4 數(shù)據(jù)壓縮
數(shù)據(jù)壓縮是一種特殊的數(shù)據(jù)處理方法,專門針對圖像訓練過程,即使用壓縮后的圖片進行訓練。文獻[33]中采用PCA 降維壓縮技術(shù)防御對抗樣本攻擊,在維度降至50 時取得了最優(yōu)的防御效果。但這樣的處理方式在降低樣本中噪聲比例的同時,也會減小原始數(shù)據(jù)信息,所以壓縮圖像同時也會降低正常分類的準確率。
3.2.5 防御蒸餾
防御蒸餾的主要思想是先利用訓練集得到一個模型,然后再通過模型提取,從原來的模型“蒸餾”提純出另外一個模型,從而降低模型的復雜度。文獻[34]對防御蒸餾技術(shù)的有效性進行了實證研究,發(fā)現(xiàn)防御蒸餾可使在MNIST 數(shù)據(jù)集上的對抗攻擊成功率從95%降低到0.5%以下,在CIFAR10數(shù)據(jù)集上也將攻擊成功率降到了5%以下,而且沒有對訓練過程造成過多的干預,保證了模型訓練的效率與質(zhì)量。
3.2.6 梯度正則化
模型訓練中常使用正則化來防止過擬合,即過度學習樣本特征。若模型過擬合程度越高,其泛化能力越弱,越容易遭受到對抗樣本的攻擊。梯度正則化是指在訓練模型的目標函數(shù)上對輸入與輸出的變化進行懲罰,從而限制了輸入的擾動對于預測結(jié)果的影響。文獻[35]使用梯度正則化來防御FGSM 和TGSM 生成的對抗樣本,證明了梯度正則化技術(shù)能提高對抗攻擊魯棒性,且相比對抗攻擊和防御蒸餾,梯度正則化的防御效果更好。
3.2.7 對抗樣本檢測
對抗樣本檢測也是一種常用的防御措施。若能區(qū)分出對抗樣本與正常樣本的不同之處,然后以較高精度檢測出對抗樣本,就能較好地防范對抗攻擊。文獻[36]中發(fā)現(xiàn)對抗樣本的局部本征維數(shù)(local intrinsic dimensionality,LID)與正常樣本差異較大,LID 根據(jù)樣本到它的鄰居樣本間的距離分布,評估其周圍區(qū)域的空間填充能力。文章利用LID 對五種攻擊策略進行防御,證明了該技術(shù)的檢測率大大超出幾種最先進的檢測措施。
3.2.8 基于GAN 的防御
生成式對抗網(wǎng)絡(luò)(generative adversarial net,GAN)是一種機器學習模型,由兩個模塊組成。一個是生成模塊G,利用接收到的隨機噪聲生成虛假樣本,另一個是判別模塊D,用以判斷出某樣本是否為G 生成的虛假樣本。文獻[37]使用基于APEGAN 的生成式對抗網(wǎng)的有效框架來防御對抗攻擊。其中G 被訓練成更改輸入樣本中的微小擾動,而D 被用來分隔真實的樣本與經(jīng)過G 處理的去除掉擾動的對抗樣本。該技術(shù)在MNIST、CIFAR10 和ImageNet 三種數(shù)據(jù)集上的實驗結(jié)果表明,APE-GAN 能夠有效地抵抗對抗攻擊。
聯(lián)邦學習中的隱私保護主要從兩大主體——參與方與服務(wù)器的角度進行保證。同時對于訓練完成的模型也要防止模型提取攻擊和模型逆向攻擊。
3.3.1 差分隱私
考慮惡意參與方與誠實服務(wù)器的情形。由于任何一個參與方都可以從訓練過程中獲取總體參數(shù),聯(lián)邦學習方式易受到差分攻擊[38]。通過分析共享模型,其他誠實的參與方的數(shù)據(jù)隱私會受到威脅。在這種情況下,常采用差分隱私保護技術(shù)。
設(shè)有隨機算法M,R為所有可能的輸出構(gòu)成的集合,若對于任意兩個鄰近數(shù)據(jù)集D和D′以及R的任意子集S,都有Pr[M(D)∈S]≤eε×Pr[M(D′)∈S],則稱算法M滿足ε-差分隱私。
其中,當 ε越小,算法提供更高等級的隱私保護,但在一定程度上會降低準確性。基于這個技術(shù),文獻[38]提出了一種針對參與方差分隱私保護的聯(lián)邦優(yōu)化算法——差分隱私隨機梯度下降算法,其目的是在模型訓練階段隱藏參與方的更新參數(shù),從隱私損失和模型性能之間找到平衡。該技術(shù)將數(shù)據(jù)樣本隨機分成小部分,在聚合的過程中加入高斯噪聲,實現(xiàn)差分隱私保護,同時也維持了模型的高性能。文獻[39]結(jié)合了聯(lián)邦學習的具體情境,切實保護各個參與方的數(shù)據(jù)集,且通過差分隱私保護技術(shù)保證訓練完成的模型不會泄露某一參與方是否參與了數(shù)據(jù)訓練過程,即一定程度上可以抵抗成員推理攻擊。實驗表明,在參與方足夠多的情況下,該技術(shù)能夠以較小的模型性能成本維持客戶級差異隱私。文獻[40]為了提高過于嚴格的本地差分隱私保護的實用性,重新定義了保護機制,既保證了敏感信息安全,又放寬了對數(shù)據(jù)的限制,并且設(shè)計了新的局部最優(yōu)差異隱私機制來解決所有隱私級別的統(tǒng)計學習問題,適用于大型分布式模型擬合和聯(lián)邦學習系統(tǒng)。
3.3.2 秘密共享機制
考慮誠實參與方與惡意服務(wù)器(或者誠實并好奇服務(wù)器)的情形。服務(wù)器在聯(lián)邦學習中扮演重要角色,它可以獲取各個明確身份的參與方反饋的參數(shù),并從中推測出參與方的敏感信息,這將對參與方隱私造成威脅,可以使用秘密共享機制來進行防范。
(n,t)秘密共享是指將一個秘密信息s分成n個碎片,交由n個 不同的參與方保管,使得其中任意t個或t個以上的碎片可以重構(gòu)出秘密s,而當碎片數(shù)量少于t時無法獲得任何關(guān)于s的有用信息。
文獻[41]基于Shamir 秘密共享設(shè)計了一個實用的安全聚合方案,該方案可以在誠實并好奇的服務(wù)器背景下保證更新參數(shù)安全性,即保證各參與方數(shù)據(jù)的隱私,同時控制協(xié)議的復雜度,使之能在大規(guī)模數(shù)據(jù)集中保持較低的計算和通信開銷,適用于聯(lián)邦學習中的協(xié)同訓練。但這個協(xié)議無法防止共謀攻擊。
3.3.3 同態(tài)加密
考慮誠實參與方與惡意服務(wù)器(或者誠實并好奇服務(wù)器)的情形。采用加密的數(shù)據(jù)傳輸方式來保障隱私安全是有效防御措施。同態(tài)加密技術(shù)是一種常用的防御手段。
同態(tài)加密是一種有效的加密方式,它的特性在于不需要直接訪問明文,對密文的操作結(jié)果解密后等于明文的操作結(jié)果。以加性同態(tài)加密為例,即有
其中,加密方案采用公鑰加法同態(tài)加密,(pk,sk)是一對公私鑰,°表示密文上某種特定的運算,如乘法或加法運算。
利用同態(tài)密碼,服務(wù)器就對密文參數(shù)進行聚合而無法獲取用戶的隱私參數(shù)。比如文獻[42]基于誠實并好奇的云服務(wù)器提出了一個新的深度學習系統(tǒng),利用同態(tài)加密方案實現(xiàn)了梯度在誠實并好奇服務(wù)器上的聚合,并且保證了系統(tǒng)達到與所有參與方聯(lián)合數(shù)據(jù)集上訓練的相應(yīng)深度學習系統(tǒng)相同的精度。文獻[43]開發(fā)了CryptoDL,用近似多項式代替原激活函數(shù)訓練卷積神經(jīng)網(wǎng)絡(luò),實驗證明該技術(shù)在MNIST 數(shù)據(jù)集的準確率高達到99.52%,每小時可以做出接近164 000 個預測,提供了一個高效準確的隱私保護方案。
3.3.4 混合防御機制
考慮惡意參與方與惡意服務(wù)器(或者誠實并好奇服務(wù)器)的情形。為了同時對參與方和服務(wù)器進行防范,可以將多種防御技術(shù)結(jié)合起來。文獻[44]將差分隱私保護技術(shù)與同態(tài)密碼相結(jié)合,參與方利用初始參數(shù)計算出 δi后,先加入噪聲使之滿足ε-差分隱私,然后再使用輕量級的同態(tài)加密方案進行加密,這樣可以防范服務(wù)器與惡意參與者的勾結(jié)問題。
綜上,對聯(lián)邦學習中的三類安全威脅及其防御措施進行總結(jié),見表2。
表2 聯(lián)邦學習中三類安全威脅及其防御措施小結(jié)
隨著人工智能技術(shù)的發(fā)展與普及,人們感受技術(shù)帶來的便利的同時,也逐漸提高了對隱私保護的需求,尤其近期歐盟頒布的《通用數(shù)據(jù)保護條例》,更加凸顯出聯(lián)邦學習的優(yōu)勢,促進聯(lián)邦學習的進一步發(fā)展。
但目前聯(lián)邦學習中仍存在較多的安全問題,本文主要針對投毒攻擊、對抗攻擊及隱私泄露這三類安全問題,總結(jié)了針對性的安全與隱私保護防御措施。然而這不是一項簡單的任務(wù),現(xiàn)有的防御方法只能在一定的條件下,在一定的范圍內(nèi)提高模型的魯棒性。在聯(lián)邦學習的安全性問題中,還有一些問題仍待解決。
1)數(shù)據(jù)質(zhì)量問題。由于數(shù)據(jù)集存儲在本地,服務(wù)器無法接觸到數(shù)據(jù)源,難以保證數(shù)據(jù)的標簽是否正確,數(shù)據(jù)是否發(fā)生了混淆等問題。而且各參與方之間數(shù)據(jù)的異構(gòu)程度也無從得知,若數(shù)據(jù)規(guī)模不夠大,很容易因為罕見樣本過多而導致對抗攻擊頻繁,對抗防御難度增大。可以考慮使用零知識證明和承諾協(xié)議來實現(xiàn)對惡意用戶數(shù)據(jù)的可驗證,從而保證數(shù)據(jù)質(zhì)量。
2)通信效率問題。當前的聯(lián)邦學習大多都是同步的,一次迭代中,服務(wù)器要與眾多的參與方進行數(shù)據(jù)交互。如果要采用多種防御手段保證模型與敏感信息的安全,勢必會加重服務(wù)器的通信負擔,甚至會造成拒絕服務(wù)攻擊或單點失敗。若考慮多個服務(wù)器,則服務(wù)器之間的交互安全也是一個值得深入探索的課題。因此,如何實現(xiàn)高效的隱私保護,在不得不使用公鑰密碼來保護用戶隱私的條件下,減少其使用的次數(shù)[45-46]。
3)模型可解釋性問題。聯(lián)邦學習方式進一步加大了模型的復雜度,缺乏可解釋性可能會導致聯(lián)邦學習應(yīng)用過程中的潛在威脅??山忉屝允侵赶蛉祟惤忉尰蛞猿尸F(xiàn)可理解的術(shù)語的能力[47],提高聯(lián)邦學習模型的可解釋性和透明性有利于消除內(nèi)在的安全隱患,進一步提高模型的可靠性和安全性。由于聯(lián)邦學習的內(nèi)在性質(zhì),未來可能需要著重研究事后可解釋性方法。
聯(lián)邦學習是一個非常有前景的研究領(lǐng)域,已經(jīng)吸引了眾多學者進行相關(guān)領(lǐng)域的研究,也取得了一系列重要研究成果。但聯(lián)邦學習技術(shù)的發(fā)展還處于初級階段,仍然存在許多問題尚待解決。在未來工作中,要繼續(xù)研究聯(lián)邦學習領(lǐng)域的安全問題,加快研究和發(fā)展相關(guān)安全與隱私保護技術(shù),促進聯(lián)邦學習的進一步發(fā)展。