楊 庚,王周生
(1.南京郵電大學(xué) 計(jì)算機(jī)學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210023 2.江蘇省大數(shù)據(jù)安全與智能處理重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210023)
日益增長的互聯(lián)網(wǎng)數(shù)據(jù)處理使機(jī)器學(xué)習(xí)方法得到了越來越廣泛的應(yīng)用,傳統(tǒng)機(jī)器學(xué)習(xí)方法把所有數(shù)據(jù)匯總于一臺(tái)機(jī)器或是一個(gè)數(shù)據(jù)中心,由一個(gè)數(shù)據(jù)分析者進(jìn)行集中式的模型訓(xùn)練。但是實(shí)際應(yīng)用中,很多領(lǐng)域內(nèi)的數(shù)據(jù)集有時(shí)無法進(jìn)行有效聚合。例如出于安全考慮,不同銀行之間,或是電商平臺(tái)與銀行之間很難完全共享數(shù)據(jù),因此存在著嚴(yán)重的“數(shù)據(jù)孤島”問題。
另外,由于需要集中儲(chǔ)存大量數(shù)據(jù),傳統(tǒng)機(jī)器學(xué)習(xí)經(jīng)常會(huì)造成原始數(shù)據(jù)擁有者的隱私泄露,甚至引發(fā)某些更為嚴(yán)重的社會(huì)問題,例如Facebook公司的數(shù)據(jù)泄露事件[1]。為此世界各國也出臺(tái)一系列舉措以保護(hù)用戶隱私。如歐盟于2018年頒布了《通用數(shù)據(jù)保護(hù)條例》;中國于2017年頒布的《中國網(wǎng)絡(luò)安全法》要求,互聯(lián)網(wǎng)公司不得泄露或篡改其收集的用戶個(gè)人信息,并且在與第三方進(jìn)行數(shù)據(jù)交易時(shí),他們需要確保雙方均遵守用戶數(shù)據(jù)保護(hù)義務(wù)[1-3]。這些條例與法案的通過有效地保護(hù)了用戶隱私,但從另一方面來說也制約了機(jī)器學(xué)習(xí)的發(fā)展,導(dǎo)致海量的數(shù)據(jù)難以被挖掘與利用。
為了應(yīng)對(duì)“數(shù)據(jù)孤島”與隱私泄露,人們嘗試在不違反各地法律法規(guī)的前提下進(jìn)行數(shù)據(jù)利用。谷歌公司于2017年首次提出了聯(lián)邦學(xué)習(xí)[4]。在聯(lián)邦學(xué)習(xí)中,數(shù)據(jù)的擁有者無需上傳原始數(shù)據(jù),而在本地接收當(dāng)前模型,通過自己的數(shù)據(jù)更新模型參數(shù),并與其他參與者共享,實(shí)現(xiàn)多人化、本地化、去中心化的機(jī)器學(xué)習(xí)。考慮到原始數(shù)據(jù)完全不會(huì)離開擁有者的本地設(shè)備,聯(lián)邦學(xué)習(xí)幾乎成了數(shù)據(jù)敏感場景下(如醫(yī)療記錄、個(gè)人相冊(cè)、個(gè)人語音等)進(jìn)行模型訓(xùn)練的唯一選擇。目前聯(lián)邦學(xué)習(xí)已被嘗試應(yīng)用于詞匯聯(lián)想[5]、醫(yī)學(xué)成像[6]等多個(gè)領(lǐng)域,實(shí)驗(yàn)證實(shí)這些方法能夠取得與傳統(tǒng)機(jī)器學(xué)習(xí)相近甚至更好的結(jié)果。有關(guān)聯(lián)邦學(xué)習(xí)的詳細(xì)介紹將會(huì)在下文中闡述。
但是,聯(lián)邦學(xué)習(xí)需要參與者在每一次的本地訓(xùn)練后,上傳所更新的模型參數(shù)并與其他參與者共享,而參數(shù)更新中有時(shí)包含所有者的敏感信息。這使得聯(lián)邦學(xué)習(xí)仍然存在嚴(yán)重的隱私泄露隱患。攻擊者可以偽裝成模型訓(xùn)練的參與者,實(shí)施重構(gòu)攻擊、推理攻擊或是竊取攻擊。
為了對(duì)抗這些攻擊,已有一些研究聚焦于如何進(jìn)一步提高聯(lián)邦學(xué)習(xí)的隱私性。目前的方法主要分為兩類,一類是加密方法,例如安全多方計(jì)算(Secure Multi-Party Computation,SMC)[7-8]、同態(tài)加密(Homomorphic Encryption,HE)[9-11]等;另一類是數(shù)據(jù)擾動(dòng)方法,例如差分隱私[12]。加密方法通過將明文編碼為密文的方式,只允許特定人員解碼,為數(shù)據(jù)隱私保護(hù)提供了有效手段,但往往需要較大的計(jì)算開銷,較難應(yīng)用于實(shí)際場景中;而數(shù)據(jù)擾動(dòng)類方法相對(duì)輕量化,指的是在數(shù)據(jù)中添加隨機(jī)化噪聲,保證攻擊者無法根據(jù)輸出的不同來推測個(gè)體的敏感信息,但會(huì)對(duì)模型的準(zhǔn)確性造成影響,因此需要再三權(quán)衡隱私性與可用性的關(guān)系。本文將主要以差分隱私為例,詳細(xì)介紹這些隱私保護(hù)方法在聯(lián)邦學(xué)習(xí)中的應(yīng)用。
機(jī)器學(xué)習(xí)是指讓計(jì)算機(jī)根據(jù)已有樣本學(xué)習(xí)到輸入與輸出之間對(duì)應(yīng)關(guān)系的過程,即映射fθ:X→Y,其中X是輸入,Y是輸出,θ是待學(xué)習(xí)的參數(shù),從而根據(jù)這一關(guān)系對(duì)新的輸入預(yù)測可能的輸出值。參數(shù)學(xué)習(xí)的過程一般被建模為一個(gè)最優(yōu)化問題,任務(wù)是最小化真實(shí)輸出與預(yù)測輸出之間的距離
傳統(tǒng)機(jī)器學(xué)習(xí)將該參數(shù)學(xué)習(xí)的過程全部集中在一個(gè)中心化的服務(wù)器端實(shí)現(xiàn),常用的方法有梯度下降及其一系列改良算法。聯(lián)邦學(xué)習(xí)的核心算法與其中的隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)十分相似。SGD指的是每次迭代時(shí),從所有樣本中隨機(jī)選擇一個(gè)樣本參與運(yùn)算的梯度下降方法。
使用傳統(tǒng)機(jī)器學(xué)習(xí)算法學(xué)習(xí)大型數(shù)據(jù)集時(shí)往往會(huì)產(chǎn)生巨大的計(jì)算開銷,因而很難在一臺(tái)設(shè)備上完成訓(xùn)練。為解決這一問題出現(xiàn)了許多有意義的研究工作,例如分布式學(xué)習(xí)[13]、并行學(xué)習(xí)[14]等,將模型訓(xùn)練的過程分散到若干個(gè)子處理器完成。但這些工作并沒有擺脫傳統(tǒng)機(jī)器學(xué)習(xí)中心化訓(xùn)練的思想,它們大多需要一個(gè)中心服務(wù)器,由中心服務(wù)器分發(fā)數(shù)據(jù)子集和學(xué)習(xí)任務(wù)給子處理器,等待每一個(gè)子處理器完成任務(wù)并回傳參數(shù),以實(shí)現(xiàn)同步梯度更新。這些算法往往參考了SGD的思路,具體步驟如算法1所示。
然而,這種同步式的更新對(duì)網(wǎng)絡(luò)通信要求極高而且效率極低,一旦有一臺(tái)子處理器連接中斷將會(huì)使其他所有處理器處于掛起狀態(tài)。另外,隨著隱私泄露事件頻發(fā),以及一系列隱私保護(hù)條例的出臺(tái),數(shù)據(jù)的收集與分發(fā)也變得越發(fā)困難。這些問題都對(duì)機(jī)器學(xué)習(xí)的發(fā)展提出了挑戰(zhàn)。
2017年,McMahan等首次提出聯(lián)邦學(xué)習(xí)的概念,不再需要通過中心服務(wù)器分發(fā)數(shù)據(jù),并且允許各參與者異步更新梯度[4,13]。也就是說,在聯(lián)邦學(xué)習(xí)中,每一位數(shù)據(jù)擁有者在任何時(shí)候均可成為訓(xùn)練參與者,只需要接收模型的當(dāng)前最新參數(shù),根據(jù)自己擁有的數(shù)據(jù)在本地完成一次迭代并上傳,即可實(shí)現(xiàn)服務(wù)器端的參數(shù)更新。此時(shí)機(jī)器學(xué)習(xí)的目標(biāo)函數(shù)式(1)可被改寫為
其中,k表示各訓(xùn)練參與者的編號(hào),pk表示訓(xùn)練者k所占的貢獻(xiàn)權(quán)重。一般采用與文獻(xiàn)[11,13-14]中類似但稍加改進(jìn)的思路來解決這一優(yōu)化問題,如算法2所示。
可以看出,算法2和算法1的主要區(qū)別就在于數(shù)據(jù)的所屬權(quán)不同,以及模型計(jì)算與更新的任務(wù)分配不同。
目前,聯(lián)邦學(xué)習(xí)領(lǐng)域已出現(xiàn)大量相關(guān)研究工作。除了隱私與安全話題之外,研究人員的關(guān)注點(diǎn)主要還聚焦于聯(lián)邦學(xué)習(xí)的系統(tǒng)設(shè)計(jì)[15-17]、效用提升[18-21]、健壯性[22-25]、公平性[26-28]等領(lǐng)域。文獻(xiàn)[1,29-30]根據(jù)數(shù)據(jù)分割的不同提出了聯(lián)邦學(xué)習(xí)的3種基本框架,分別是縱向聯(lián)邦學(xué)習(xí)、橫向聯(lián)邦學(xué)習(xí)以及聯(lián)邦遷移學(xué)習(xí)。這3種框架目前已被主流研究者所認(rèn)同,作為聯(lián)邦學(xué)習(xí)的基本框架。
(1)縱向聯(lián)邦學(xué)習(xí)
縱向聯(lián)邦學(xué)習(xí)主要針對(duì)各參與者的數(shù)據(jù)具有相同或相似的特征空間但樣本不同的情況,如圖1所示。舉例而言,如兩家來自不同區(qū)域的銀行,他們的客戶交集很小但他們的業(yè)務(wù)卻是相似的。另外大部分B2C的聯(lián)邦學(xué)習(xí)均屬于這一框架,例如針對(duì)智能手機(jī)用戶的輸入習(xí)慣學(xué)習(xí),或是圖片、語音學(xué)習(xí)。顯然每位用戶擁有不同的數(shù)據(jù),但這些數(shù)據(jù)的結(jié)構(gòu)往往十分類似。
谷歌公司在文獻(xiàn)[4]中已經(jīng)提出了針對(duì)安卓手機(jī)用戶的縱向聯(lián)邦學(xué)習(xí)解決方案;Bonawitz等[31]還針對(duì)該方案提出了一種安全聚合算法,確保模型更新過程中的隱私性。
(2)橫向聯(lián)邦學(xué)習(xí)
橫向聯(lián)邦學(xué)習(xí)框架針對(duì)的是各參與者具有相同樣本但特征空間不同的情況,如圖2所示。主要應(yīng)用于B2B場景,比如來自同一地區(qū)的兩家不同公司,或是銀行與電子商務(wù)公司之間的協(xié)作。他們的客戶集合可能是相同的,但是業(yè)務(wù)范圍卻完全不同。
文獻(xiàn)[1]設(shè)計(jì)了該架構(gòu)的一種實(shí)現(xiàn)方式,需要用到大量加密算法,具有較高的運(yùn)算與通信成本。
縱向聯(lián)邦學(xué)習(xí)與橫向聯(lián)邦學(xué)習(xí)的主要區(qū)別如表1所示。
表1 縱向與橫向聯(lián)邦學(xué)習(xí)的對(duì)比
(3)聯(lián)邦遷移學(xué)習(xí)
該框架適用于各方數(shù)據(jù)集不僅樣本不同甚至特征空間也不同的情況,如圖3所示。它同樣具備現(xiàn)實(shí)應(yīng)用場景,例如中國的電子商務(wù)公司希望和美國的銀行合作。這一框架僅作為未來聯(lián)邦學(xué)習(xí)的擴(kuò)展方向,現(xiàn)有技術(shù)很難實(shí)現(xiàn)安全可靠的聯(lián)邦遷移學(xué)習(xí)。
盡管聯(lián)邦學(xué)習(xí)不再需要收集用戶的原始數(shù)據(jù),但數(shù)據(jù)中隱含的個(gè)人隱私并沒有得到絕對(duì)保障。為了構(gòu)建聯(lián)合模型,用戶仍然需要上傳模型參數(shù)或梯度,而這些數(shù)據(jù)本質(zhì)上就是對(duì)原始數(shù)據(jù)按照一定規(guī)則進(jìn)行的映射,幾乎包含數(shù)據(jù)的所有信息?,F(xiàn)已有許多攻擊模型證實(shí),可以從模型參數(shù)或梯度中反推出原始數(shù)據(jù)的部分甚至全部信息[32-33]。這些攻擊或是偽裝成模型訓(xùn)練參與者,或是直接來自于服務(wù)端,攻擊模式分為重構(gòu)攻擊、推理攻擊、竊取攻擊等。
攻擊者可以通過逆向?qū)W習(xí)的方式重構(gòu)部分甚至全部的原始數(shù)據(jù)。例如,F(xiàn)redrikson等[34]根據(jù)人臉識(shí)別模型的訓(xùn)練結(jié)果較為準(zhǔn)確地還原了原始數(shù)據(jù),盡管這并非針對(duì)聯(lián)邦學(xué)習(xí),但文獻(xiàn)[29,35]認(rèn)為該方法同樣適用于聯(lián)邦學(xué)習(xí)場景。
推理攻擊與重構(gòu)攻擊類似,攻擊者同樣通過逆向?qū)W習(xí)來重構(gòu)數(shù)據(jù),不過不同于重構(gòu)攻擊重視還原數(shù)據(jù)本身(這往往精度不高),推理攻擊更關(guān)心還原數(shù)據(jù)中的某一項(xiàng)具體信息(往往具有較高精度),例如判斷具體的數(shù)據(jù)點(diǎn)或數(shù)據(jù)集是否已被用于訓(xùn)練,稱為成員推理攻擊;或判斷其他參與者所用的數(shù)據(jù)中是否包含某項(xiàng)屬性,稱為屬性推理攻擊。舉例來說,Melis等[35]對(duì)FourSquare數(shù)據(jù)集上所訓(xùn)練的性別分類器,以99%的準(zhǔn)確率與100%的召回率實(shí)現(xiàn)成員推理攻擊;并且對(duì)LFW數(shù)據(jù)集上所訓(xùn)練的識(shí)別性別或種族的模型,推斷出訓(xùn)練照片中的人是否戴眼鏡。
竊取攻擊指的是攻擊者主動(dòng)對(duì)模型注入后門代碼或是受污染的數(shù)據(jù),直接獲取或?qū)W習(xí)其他參與者的數(shù)據(jù)。文獻(xiàn)[35]通過實(shí)驗(yàn)證明,一個(gè)主動(dòng)攻擊者可以通過多任務(wù)學(xué)習(xí)傳遞虛假數(shù)據(jù)來攻擊聯(lián)合模型,從而更容易地從中提取出指定信息。文獻(xiàn)[36]已證實(shí)了可以通過在聯(lián)邦學(xué)習(xí)中注入后門代碼來惡意攻擊其他參與者,并獲取來自他人的數(shù)據(jù)。
前文提到,聯(lián)邦學(xué)習(xí)被提出的初衷就是在保障用戶隱私的基礎(chǔ)上實(shí)現(xiàn)模型構(gòu)建,但是目前的聯(lián)邦學(xué)習(xí)顯然還不能滿足這一目標(biāo),因此越來越多的研究工作開始聚焦于如何為聯(lián)邦學(xué)習(xí)提供更為可靠的隱私保證。這些工作主要分為加密類方法與數(shù)據(jù)擾動(dòng)類方法兩種,本文將分別討論這兩種方法在聯(lián)邦學(xué)習(xí)中的應(yīng)用。
加密是計(jì)算機(jī)安全領(lǐng)域一項(xiàng)最基本的技術(shù),通過加密算法對(duì)明文信息進(jìn)行編碼,成為只有特定人員才能在有效時(shí)間內(nèi)解碼的密文。考慮到加密算法龐大的計(jì)算開銷,在過去只有少量應(yīng)用于機(jī)器學(xué)習(xí)領(lǐng)域的嘗試,例如Nikolaenko等[37]將同態(tài)加密與亂碼電路(Garbled Circuits)[8]相結(jié)合,實(shí)現(xiàn)了線性回歸訓(xùn)練;Phong等[38]使用加性同態(tài)加密來保護(hù)訓(xùn)練過程中的梯度。文獻(xiàn)[39]總結(jié)了同態(tài)加密在機(jī)器學(xué)習(xí)中的應(yīng)用。
而在B2B場景的聯(lián)邦學(xué)習(xí)中,數(shù)據(jù)隱私與安全的隱性成本遠(yuǎn)高于計(jì)算成本,使得加密算法得到了更高的關(guān)注度。目前被應(yīng)用于聯(lián)邦學(xué)習(xí)中的加密算法主要是安全多方計(jì)算(SMC)與同態(tài)加密(HE)。
(1)安全多方計(jì)算。SMC研究的是協(xié)同計(jì)算場景下,參與各方如何在不共享數(shù)據(jù),且無可信第三方的情況下完成計(jì)算任務(wù)的問題。它能提供一套完備的零知識(shí)證明,確保每個(gè)參與者除了輸出和自己的輸入之外無法獲取到其他任何信息。但是為了實(shí)現(xiàn)絕對(duì)的零知識(shí)證明需要極大的運(yùn)算成本,在聯(lián)邦學(xué)習(xí)場景下幾乎無法應(yīng)用。因此一般會(huì)降低安全性標(biāo)準(zhǔn),讓參與者公開部分信息,從而減少計(jì)算開銷。
盡管還沒有工作將SMC完全引入聯(lián)邦學(xué)習(xí),但文獻(xiàn)[1,29-30]均對(duì)SMC在聯(lián)邦學(xué)習(xí)中的應(yīng)用提出了設(shè)想。另外,文獻(xiàn)[40]已經(jīng)提出了一種支持兩名參與者在半誠實(shí)假設(shè)下進(jìn)行機(jī)器學(xué)習(xí)的SMC協(xié)議;文獻(xiàn)[41]設(shè)計(jì)了另一種SMC協(xié)議,允許在完全不透露數(shù)據(jù)的情況下實(shí)現(xiàn)模型訓(xùn)練與驗(yàn)證。這些工作都對(duì)未來SMC在聯(lián)邦學(xué)習(xí)中的應(yīng)用打下了基礎(chǔ)。
(2)同態(tài)加密。HE要求密文可以直接進(jìn)行代數(shù)運(yùn)算(一般為加法、乘法運(yùn)算),所得結(jié)果須與使用明文運(yùn)算后再加密結(jié)果一致。加法/乘法同態(tài)加密要求加密算法支持加法/乘法運(yùn)算,而全同態(tài)加密(Fully Homomorphic Encryption,F(xiàn)HE)要求算法同時(shí)支持加法與乘法兩者。實(shí)際上在聯(lián)邦學(xué)習(xí)的前身,分布式學(xué)習(xí)的研究中已經(jīng)應(yīng)用了HE算法[13]。在其他工作中,Gilad-bachrach等[42]提出了CryptoNets模型,首次在深度學(xué)習(xí)中實(shí)現(xiàn)了FHE,成為后來加密學(xué)習(xí)研究工作的重要參考[39]。
但是HE目前還不能直接應(yīng)用于聯(lián)邦學(xué)習(xí),比如在協(xié)作式場景下,該由誰持有密鑰的問題尚未得到解決。對(duì)此文獻(xiàn)[43-44]已經(jīng)嘗試提出了一種基于分布式密鑰的HE解決方案,用于在不可信設(shè)備間執(zhí)行求和計(jì)算。
數(shù)據(jù)擾動(dòng)指的是往數(shù)據(jù)中添加隨機(jī)化噪聲,或使用歸納方法掩蓋數(shù)據(jù)的某些敏感屬性,直到第三方無法從數(shù)據(jù)集中區(qū)分個(gè)體數(shù)據(jù),使數(shù)據(jù)無法恢復(fù)。相比于加密算法,擾動(dòng)類方法由于其輕量化的特點(diǎn)可以在計(jì)算能力相對(duì)較弱的設(shè)備上也可以輕松實(shí)現(xiàn),例如傳感器、智能手機(jī)等,因此更加適用于B2C領(lǐng)域的聯(lián)邦學(xué)習(xí)。
常見的數(shù)據(jù)擾動(dòng)方法包括差分隱私、k-匿名等。其中,k-匿名方法多用于數(shù)據(jù)發(fā)布領(lǐng)域,通過概括、泛化、隱匿等方式,使發(fā)布數(shù)據(jù)中的至少k條記錄在準(zhǔn)標(biāo)識(shí)符上不可區(qū)分。而由于聯(lián)邦學(xué)習(xí)要求參與者在每一次合法申請(qǐng)時(shí)都能獲取到完整、具體的模型參數(shù),與k-匿名方法相悖,因此該方法很難應(yīng)用于聯(lián)邦學(xué)習(xí)。目前被應(yīng)用于聯(lián)邦學(xué)習(xí)領(lǐng)域中的數(shù)據(jù)擾動(dòng)方法只有差分隱私。
差分隱私最早于2008年由Dwork提出[12],通過嚴(yán)格的數(shù)學(xué)證明,使用隨機(jī)應(yīng)答(Randomized Response)方法確保數(shù)據(jù)集在輸出信息時(shí)受單條記錄的影響始終低于某個(gè)閾值,從而使第三方無法根據(jù)輸出的變化判斷單條記錄的更改或增刪,被認(rèn)為是目前基于擾動(dòng)的隱私保護(hù)方法中安全級(jí)別最高的方法。
不過,由于傳統(tǒng)的完全差分隱私(Pure Differential Privacy)基于最嚴(yán)格的假設(shè):最大背景攻擊,即假設(shè)攻擊者擁有除了某一條記錄以外的所有背景信息,而這在實(shí)際情況中是十分罕見的。因此完全差分隱私對(duì)于隱私性的保護(hù)過于嚴(yán)苛,極大影響了數(shù)據(jù)的可用性[2]。目前實(shí)際場景中主要采用的是帶有松弛機(jī)制的近似差分隱私(Approximate Differential Privacy),具體定義如下所示。
定義1設(shè)有隨機(jī)算法M:D→R,其中D為輸入集合,R為所有可能輸出的集合。如果對(duì)于任意兩個(gè)相鄰輸入(Adjacent Inputs)d,d′∈D,對(duì)于輸出集合的任意子集S?R,算法M均滿足
則稱算法M滿足(ε,δ)-差分隱私。其中,ε>0被稱為隱私預(yù)算,用于控制算法M對(duì)相鄰輸入給出相同輸出的概率比,值越大表示隱私性越差,可用性越好;δ∈(0,1)代表松弛度,指的是允許該機(jī)制失敗導(dǎo)致隱私保護(hù)不成立的概率。而傳統(tǒng)差分隱私的定義中則不包含δ項(xiàng)。
機(jī)器學(xué)習(xí)中一般采用高斯機(jī)制對(duì)真實(shí)值進(jìn)行加噪[36,45-47],實(shí)現(xiàn)隨機(jī)應(yīng)答,此時(shí)
其中,f(d)表示真實(shí)場景下對(duì)輸入d的輸出;Sf表示該f函數(shù)的敏感度,指對(duì)于兩個(gè)相鄰輸入,其可能輸出的最大距離
此時(shí),如文獻(xiàn)[48]中的計(jì)算,只需要ε,δ,σ三者滿足
就可以認(rèn)為ε-差分隱私是成立的。
憑借輕量化的優(yōu)勢(shì),差分隱私已在傳統(tǒng)機(jī)器學(xué)習(xí)領(lǐng)域得到大量應(yīng)用。例如谷歌[45,49-50]、蘋果[51]、微軟[52]以及Snap公司[53]采用本地差分隱私機(jī)制采集用戶數(shù)據(jù),用于數(shù)據(jù)統(tǒng)計(jì)與模型訓(xùn)練,如輸入統(tǒng)計(jì)與分析、內(nèi)存占用統(tǒng)計(jì)、語料庫擴(kuò)充、郵件分類等任務(wù);文獻(xiàn)[54-57]同樣采用本地差分隱私實(shí)現(xiàn)了數(shù)據(jù)采集。由于上述工作均在數(shù)據(jù)被收集之前就在本地完成加噪,可以視為對(duì)機(jī)器學(xué)習(xí)進(jìn)行輸入擾動(dòng)。與之類似,文獻(xiàn)[58-60]等以線性回歸、邏輯回歸、聚類、矩陣分解等簡單訓(xùn)練任務(wù)為例,通過輸入擾動(dòng)的方式對(duì)數(shù)據(jù)實(shí)現(xiàn)了差分隱私保護(hù)。
文獻(xiàn)[36,45-47]的工作則主要設(shè)計(jì)了訓(xùn)練過程中的擾動(dòng)方法,這些方法往往會(huì)通過一個(gè)隱私預(yù)算累加器計(jì)算每一輪迭代后的隱私預(yù)算,一旦超出預(yù)算將會(huì)立即停止對(duì)樣本的使用,因而對(duì)差分隱私的控制更為精確,提升模型訓(xùn)練效果。
以上所提到的差分隱私方法在機(jī)器學(xué)習(xí)中的應(yīng)用均已有大量綜述文獻(xiàn)進(jìn)行介紹,例如文獻(xiàn)[2-3,61]等。
由于差分隱私方法所造成的模型準(zhǔn)確度下降,相比于加密算法所帶來的巨額計(jì)算開銷,對(duì)于企業(yè)級(jí)用戶來說更加難以接受,而個(gè)人用戶則相反。因此在目前聯(lián)邦學(xué)習(xí)中,差分隱私方法主要應(yīng)用于B2C場景下的縱向?qū)W習(xí)框架中。如1.3(1)所述,此時(shí)各參與者的數(shù)據(jù)具有相同的數(shù)據(jù)結(jié)構(gòu)。B2C場景下一般默認(rèn)存在一個(gè)中心服務(wù)器,可以協(xié)調(diào)各節(jié)點(diǎn)之間的合作學(xué)習(xí),接收模型參數(shù)更新并將新的模型發(fā)送給節(jié)點(diǎn)。
具體學(xué)習(xí)框架如圖4所示。其中,步驟1:參與者在本地計(jì)算梯度;步驟2:參與者將數(shù)據(jù)發(fā)送至服務(wù)器,有時(shí)會(huì)借助一個(gè)可信中間節(jié)點(diǎn);步驟3:服務(wù)器匯總來自各參與者或節(jié)點(diǎn)的模型參數(shù)更新;步驟4:服務(wù)器將更新后的模型參數(shù)分發(fā)給參與者。之后反復(fù)執(zhí)行步驟1~4直至損失函數(shù)收斂。
在上述4個(gè)步驟中的任何一個(gè)步驟都可以插入差分隱私機(jī)制以掩蓋節(jié)點(diǎn)的關(guān)鍵信息。在步驟1中客戶端側(cè)采用的差分隱私機(jī)制一般被稱為本地化(Local)差分隱私[62],在步驟2通過可信中間節(jié)點(diǎn)進(jìn)行擾動(dòng)可以被稱為分布式(Distributed)差分隱私[63-65],在步驟3和步驟4由服務(wù)器完成的擾動(dòng)被稱為中心化(Centralized)差分隱私[62],而融合了上述兩種或以上的差分隱私方法則被稱為混合(Hybrid)差分隱私[66]。
(1)本地化差分隱私。本地化差分隱私意味著對(duì)數(shù)據(jù)的訓(xùn)練以及對(duì)隱私的保護(hù)過程全部在客戶端就可以實(shí)現(xiàn)。直覺來看,這種差分隱私機(jī)制顯然優(yōu)于其他方案,因?yàn)橛脩艨梢匀珯?quán)掌握數(shù)據(jù)的使用與發(fā)布,也無需借助中心服務(wù)器,最有潛力實(shí)現(xiàn)完全意義上的去中心化聯(lián)邦學(xué)習(xí)。谷歌公司的Abadi等[45]于2016年在傳統(tǒng)機(jī)器學(xué)習(xí)中實(shí)現(xiàn)了差分隱私,并在當(dāng)時(shí)就提出了在手機(jī)、平板電腦等小型設(shè)備上訓(xùn)練模型的設(shè)想,認(rèn)為該差分隱私機(jī)制憑借輕量化的特點(diǎn),更加適用于本地化、邊緣化場景。聯(lián)邦學(xué)習(xí)問世后,已有許多研究認(rèn)為文獻(xiàn)[45]可以無障礙地應(yīng)用于聯(lián)邦學(xué)習(xí)[1,29-30]。
但是,本地化差分隱私本身及其在聯(lián)邦學(xué)習(xí)的應(yīng)用中仍然存在著不少問題。首先是它所需求的樣本量極其龐大,例如前文所述的Snap公司[53]將本地化差分隱私應(yīng)用到垃圾郵件分類器的訓(xùn)練中,最終收集了用戶數(shù)億份樣本才達(dá)到較高的準(zhǔn)確度。谷歌[45,49-50]、蘋果[51]、微軟公司[52]在用戶設(shè)備上大量部署了本地化差分隱私,用來收集數(shù)據(jù)并進(jìn)行模型訓(xùn)練,相較無噪模型的訓(xùn)練需要更多的數(shù)據(jù)量,往往多達(dá)2個(gè)數(shù)量級(jí)。其次,在高維數(shù)據(jù)下,本地化差分隱私要取得可用性、隱私性的平衡將會(huì)更加困難[62,67]。另外,在去中心化的聯(lián)邦學(xué)習(xí)場景中,由于沒有中心服務(wù)器的協(xié)調(diào),參與者無法得知來自其他參與者的樣本信息,因此很難決定自己所添加隨機(jī)噪聲的大小,噪聲的分布不均將會(huì)嚴(yán)重降低模型性能[30]。
(2)中心化差分隱私。差分隱私方法最初被提出時(shí)大多采用中心化的形式,通過一個(gè)可信的第三方數(shù)據(jù)收集者匯總數(shù)據(jù),并對(duì)數(shù)據(jù)集進(jìn)行擾動(dòng)從而實(shí)現(xiàn)差分隱私。B2C架構(gòu)下的聯(lián)邦學(xué)習(xí)同樣可以在中心服務(wù)器上實(shí)現(xiàn)這種擾動(dòng)。文獻(xiàn)[36]根據(jù)文獻(xiàn)[45]的成果進(jìn)行了改進(jìn),在服務(wù)器端收集用戶更新后的梯度,通過逐個(gè)加噪的方式來隱藏各個(gè)節(jié)點(diǎn)的貢獻(xiàn);并證明了中心化加噪方案可以實(shí)現(xiàn)用戶級(jí)別的差分隱私而不僅僅是本地化方案的數(shù)據(jù)點(diǎn)級(jí)別,這意味著它不會(huì)暴露出任何一個(gè)曾參與過訓(xùn)練的用戶;最后通過實(shí)驗(yàn)證實(shí)了這種方法的模型訓(xùn)練效果要優(yōu)于本地化差分隱私。文獻(xiàn)[5]將類似的差分隱私與聯(lián)邦學(xué)習(xí)設(shè)置應(yīng)用到了自然語言處理領(lǐng)域,建立了聯(lián)想詞預(yù)測模型,并在實(shí)際場景中表現(xiàn)出優(yōu)秀的準(zhǔn)確性。
中心化差分隱私在實(shí)際應(yīng)用中同樣存在缺陷,因?yàn)樗芟抻谝粋€(gè)可信的中心化服務(wù)器,但是很多場景下服務(wù)器并不可信。因此,可以采用分布式差分隱私來作為本地化與中心化的折中,或采用混合差分隱私回避這兩者的部分缺陷。
(3)分布式差分隱私。分布式差分隱私指的是在若干個(gè)可信中間節(jié)點(diǎn)上先對(duì)部分用戶發(fā)送的數(shù)據(jù)進(jìn)行聚合并實(shí)施隱私保護(hù),然后傳輸加密或擾動(dòng)后的數(shù)據(jù)到服務(wù)器端,確保服務(wù)器端只能得到聚合結(jié)果而無法得到數(shù)據(jù)。該方案需要客戶端首先完成計(jì)算并進(jìn)行簡單的擾動(dòng)(例如較高隱私預(yù)算的本地化差分隱私)或加密,將結(jié)果發(fā)送至一個(gè)可信任的中間節(jié)點(diǎn),然后借助可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE)[68]、安全多 方 計(jì)算、安 全 聚合(Secure Aggregation)[31]或安全混洗(Secure Shuffling)[63]等方法,在中間節(jié)點(diǎn)實(shí)現(xiàn)進(jìn)一步的隱私保護(hù),最終將結(jié)果發(fā)送至服務(wù)器端?;诎踩酆系姆桨笇⒂?.4節(jié)詳細(xì)描述。
Bittau等于2017年[63]提出了一種安全混洗框架Encode-Shuffle-Analyze(ESA),通過在客戶端與服務(wù)器端額外增加一次匿名化混洗的步驟,允許用戶在本地只添加少量噪聲就實(shí)現(xiàn)較高級(jí)別的隱私保護(hù)。此后,Erlingsson等[49-50]、Cheu等[65]均對(duì)此框架進(jìn)行了改進(jìn),并考慮了與聯(lián)邦學(xué)習(xí)的結(jié)合。類似的分布式差分隱私解決方案同樣都兼具了本地化與中心化差分隱私的優(yōu)勢(shì),既不需要信任等級(jí)極高的服務(wù)器,也不需要在本地添加過多噪聲。但相對(duì)的,分布式差分隱私普遍需要極高的通信成本。
本地化、中心化與分布式差分隱私的區(qū)別與聯(lián)系如表2所示。
表2 本地化、中心化與分布式差分隱私的對(duì)比
(4)混合差分隱私?;旌喜罘蛛[私方案由Avent等[66]提出,它通過用戶對(duì)服務(wù)器信任關(guān)系的不同對(duì)用戶進(jìn)行分類。舉例而言,最不信任服務(wù)器的用戶可以使用最低隱私預(yù)算的本地化差分隱私,而最信任服務(wù)器的用戶甚至可以直接發(fā)送原始參數(shù);服務(wù)器也將根據(jù)用戶的信任關(guān)系對(duì)數(shù)據(jù)進(jìn)行不同程度的處理。該方案的問題是同樣需要一定的通信成本,并且還需要付出額外的預(yù)處理成本以劃分信任關(guān)系。
(1)區(qū)塊鏈(Blockchain)??紤]到區(qū)塊鏈技術(shù)的去中心化以及安全、透明的特性,已有許多研究開始關(guān)注區(qū)塊鏈在聯(lián)邦學(xué)習(xí)中的應(yīng)用。Kim等[69]設(shè)計(jì)了BlockFL框架,通過區(qū)塊鏈技術(shù)對(duì)移動(dòng)終端聯(lián)邦學(xué)習(xí)的本地模型更新進(jìn)行交換與驗(yàn)證。Weng等[70]設(shè)計(jì)了DeepChain框架,全程跟蹤并審查每位參與者的學(xué)習(xí)與參數(shù)更新過程,并通過一套激勵(lì)機(jī)制鼓勵(lì)參與者執(zhí)行高質(zhì)高效的模型訓(xùn)練。
然而,區(qū)塊鏈技術(shù)本就由于公共賬本機(jī)制而存在通信延遲高、數(shù)據(jù)吞吐量大等問題,尚未得到大面積推廣與使用;聯(lián)邦學(xué)習(xí)同樣具有通信與計(jì)算開銷大的兩道難題。目前而言這兩者的結(jié)合將會(huì)十分困難。
(2)安全聚合。Bonawitz等[71]將安全多方計(jì)算與秘密共享(Secret Sharing)[72]相結(jié)合,提出了安全聚合協(xié)議,允許每個(gè)客戶端向服務(wù)器提交一個(gè)經(jīng)過擾動(dòng)的數(shù)值,而服務(wù)器可以根據(jù)這些不正確的值得到一個(gè)正確的運(yùn)算結(jié)果(例如求和運(yùn)算)。在該協(xié)議下,每次客戶端提交數(shù)據(jù)前需要相互之間進(jìn)行大量通信,約定好本次通信的擾動(dòng)數(shù)值,因而帶來了極大的通信開銷。
可借助一個(gè)可信的中間服務(wù)器進(jìn)行事先協(xié)調(diào),相對(duì)減少安全聚合過程中的一部分通信成本。這與第3.3節(jié)中所提到的分布式差分隱私十分相似。例如Goryczka等[73]就已提出了這樣的分布式差分隱私框架,允許客戶端在提交數(shù)據(jù)到可信中間節(jié)點(diǎn)前添加少量噪聲,中間節(jié)點(diǎn)將會(huì)采用安全聚合協(xié)議,將這些數(shù)值進(jìn)行二次擾動(dòng)后提交至服務(wù)器,服務(wù)器仍能根據(jù)這些數(shù)據(jù)計(jì)算得到可用的結(jié)果。
不過與第3.3節(jié)中提及的其他分布式差分隱私機(jī)制類似,在安全聚合協(xié)議下實(shí)現(xiàn)聯(lián)邦學(xué)習(xí)仍需較高的通信開銷。
關(guān)于聯(lián)邦學(xué)習(xí)的研究以及發(fā)展方向目前已有一些綜述性文獻(xiàn)與成果,如文獻(xiàn)[1-2,16,29-31,61,74-75]等。其中,劉俊旭等[2]以及唐鵬等[61]的綜述文獻(xiàn)主要關(guān)注傳統(tǒng)機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的隱私保護(hù);楊強(qiáng)等[74-75]的工作主要側(cè)重于聯(lián)邦學(xué)習(xí)的實(shí)現(xiàn)與應(yīng)用。文獻(xiàn)[31]總結(jié)了目前聯(lián)邦學(xué)習(xí)中的三大問題,主要是通信帶寬問題、模型訓(xùn)練收斂性問題以及與云服務(wù)提供商的協(xié)調(diào)問題。除此以外,聯(lián)邦學(xué)習(xí)中關(guān)于隱私保護(hù)的現(xiàn)有解決方案均不足以讓人信服,它們?nèi)匀淮嬖诟髯缘娜毕荩?0]。本文對(duì)這些問題進(jìn)行了分析總結(jié),仍面臨一些挑戰(zhàn):
(1)數(shù)據(jù)隱私性與可用性的平衡更加困難。如第3.3節(jié)所述,聯(lián)邦學(xué)習(xí)的場景下,用戶需要獨(dú)立地添加噪聲以實(shí)現(xiàn)擾動(dòng),這會(huì)導(dǎo)致更加難以取得數(shù)據(jù)隱私性與可用性間的平衡。不過已有研究證明了只要引入足夠多的訓(xùn)練參與者就可以兼顧隱私性與可用性,例如文獻(xiàn)[36]通過實(shí)驗(yàn)發(fā)現(xiàn)帶有差分隱私保護(hù)的聯(lián)邦學(xué)習(xí)框架在有10 000名參與者的場景下,經(jīng)過訓(xùn)練可以做到與不含差分隱私的聯(lián)邦學(xué)習(xí)在100名參與者的場景下完全一樣的模型準(zhǔn)確率。其他來自各大企業(yè)的研究[45,49-52]也都已經(jīng)證明,在聯(lián)邦學(xué)習(xí)中引入可靠的差分隱私機(jī)制,意味著對(duì)參與者的需求量將會(huì)增加2到3個(gè)數(shù)量級(jí),并且會(huì)極大增加通信與運(yùn)算成本。而借助中心化差分隱私或分布式差分隱私會(huì)略微緩解這一點(diǎn)。
未來的研究需要繼續(xù)關(guān)注于這兩者的平衡,或是考慮隱私性、可用性與數(shù)據(jù)量三者間的平衡,例如如何在確保數(shù)據(jù)隱私與可用的前提下,進(jìn)一步壓縮參與者以及訓(xùn)練樣本的數(shù)量。
(2)缺乏可信服務(wù)器或可信節(jié)點(diǎn)。中心化差分隱私必須要由一個(gè)可信的服務(wù)器來實(shí)現(xiàn);而分布式差分隱私即使引入了安全混洗或安全聚合策略,也仍然需要一個(gè)可信的中間節(jié)點(diǎn)來實(shí)現(xiàn)?,F(xiàn)實(shí)場景下往往很難具備這些條件。顯然,可信執(zhí)行環(huán)境(TEE)可以作為一種解決方案(如3.3(3)所述)。TEE一般部署在底層軟件與硬件之間,相當(dāng)于一個(gè)受到硬件支持的微型虛擬機(jī),在公開透明的協(xié)議下調(diào)用獨(dú)占的軟硬件資源,能且僅能與固定的網(wǎng)絡(luò)接口進(jìn)行交互,可以提供相對(duì)較高的私密性與信任級(jí)別?,F(xiàn)有的TEE實(shí)例主要包括ARM公司的Trust-Zone架構(gòu)以及英特爾公司的SGX-enabled CPU架構(gòu)[76]等。
但是將TEE引入到聯(lián)邦學(xué)習(xí)中又會(huì)帶來其他問題。例如目前的TEE架構(gòu)僅能訪問CPU資源,而無法訪問機(jī)器學(xué)習(xí)常用的GPU資源[77]。另外,TEE也容易遭受側(cè)信道攻擊(Side Channel Attacks),這將導(dǎo)致TEE的失靈[78]。未來的工作可以進(jìn)一步關(guān)注TEE的優(yōu)化以及TEE與聯(lián)邦學(xué)習(xí)的結(jié)合研究。
(3)龐大的通信與計(jì)算開銷??紤]到聯(lián)邦學(xué)習(xí)場景下,用戶大多需要在移動(dòng)終端完成計(jì)算與通信任務(wù),此時(shí)對(duì)計(jì)算、通信成本的評(píng)估標(biāo)準(zhǔn)與傳統(tǒng)機(jī)器學(xué)習(xí)截然不同。例如,考慮到電量與性能因素,在移動(dòng)端引入任何基于RSA的非對(duì)稱加密算法都幾乎是不可接受的。為了盡可能回避加密算法,研究者提出了安全混洗[63]與安全聚合[31]方法(如3.3(3)所述),但這又帶來了極大的通信開銷。
文獻(xiàn)[79]證實(shí)了對(duì)模型的更新進(jìn)行以比特為單位的稀疏化可以有效降低通信成本,但是這同樣將增加計(jì)算成本,而且不能確定這種做法帶來的通信成本下降是否劃算。最近出現(xiàn)了一種對(duì)通信成本與準(zhǔn)確性之間進(jìn)行表征的方式[80-82],可以對(duì)一定帶寬下進(jìn)行分布式統(tǒng)計(jì)或?qū)W習(xí)的速率進(jìn)行評(píng)估,從而對(duì)于兩者間的權(quán)衡做出指導(dǎo)。不過目前尚未有研究將其應(yīng)用到聯(lián)邦學(xué)習(xí)中,也尚未有其他具體的降低通信或運(yùn)算成本的方案被提出,因此該領(lǐng)域仍是一個(gè)開放的方向,需要大量后續(xù)研究來填補(bǔ)空白。
隱私與安全問題是聯(lián)邦學(xué)習(xí)中非常重要的一個(gè)方向,考慮到聯(lián)邦學(xué)習(xí)被提出的初衷就是在保護(hù)用戶的數(shù)據(jù)隱私前提下實(shí)現(xiàn)數(shù)據(jù)利用,因此只有具備了充分可靠的隱私保護(hù)措施,未來才能讓聯(lián)邦學(xué)習(xí)在實(shí)際應(yīng)用中平穩(wěn)落地。
目前無論是民眾、企業(yè),還是政府,都對(duì)數(shù)據(jù)隱私問題投來了空前的注意力,也意味著隱私保護(hù)的研究面臨著前所未有的機(jī)遇與挑戰(zhàn)。這需要該領(lǐng)域的每一位研究人員通力協(xié)作,加快建立安全、可靠、成熟的隱私保護(hù)框架,及早滿足民眾的隱私需求、企業(yè)的經(jīng)濟(jì)利益需求以及政府的法律法規(guī)約束。