董 業(yè) 侯 煒 陳小軍 曾 帥
1(中國(guó)科學(xué)院信息工程研究所 北京 100195) 2(中國(guó)科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 101408)
在互聯(lián)網(wǎng)、大數(shù)據(jù)和機(jī)器學(xué)習(xí)的推動(dòng)下,人工智能技術(shù)飛速發(fā)展,語(yǔ)音識(shí)別、圖像處理等應(yīng)用逐步改變著人類的生產(chǎn)、生活方式.然而,在這些應(yīng)用背后,大規(guī)模的用戶敏感數(shù)據(jù),如醫(yī)療數(shù)據(jù)、生理特征、社交網(wǎng)絡(luò)等,被各類企業(yè)、機(jī)構(gòu)隨意收集.這些數(shù)據(jù)的收集能夠帶動(dòng)機(jī)器學(xué)習(xí)性能的提升,實(shí)現(xiàn)經(jīng)濟(jì)效益和公眾效益的雙贏,但卻使得個(gè)人隱私和數(shù)據(jù)安全面臨更大的風(fēng)險(xiǎn).與此同時(shí),個(gè)人隱私和數(shù)據(jù)安全愈發(fā)受到國(guó)內(nèi)外的重視關(guān)注.2017年6月施行的《中華人民共和國(guó)網(wǎng)絡(luò)安全法》(1)http://www.cac.gov.cn/2016-11/07/c_1119867116.htm、2018年3月歐盟宣布的歐盟通用數(shù)據(jù)保護(hù)條例(General Data Protection Regulation, GDPR)(2)https://gdpr-info.eu/都對(duì)企業(yè)處理用戶數(shù)據(jù)提出了明確要求.可見,企業(yè)在用戶不知情時(shí)進(jìn)行數(shù)據(jù)收集、共享和分析已經(jīng)被視為一種違法行為.因此,如何在保證用戶個(gè)人隱私和數(shù)據(jù)安全的情況下,充分發(fā)揮機(jī)器學(xué)習(xí)等人工智能方法的潛力是一項(xiàng)意義深遠(yuǎn)而又亟待解決的問題.
聯(lián)邦學(xué)習(xí)(federated learning)[1-3]作為一種新興的分布式隱私保護(hù)機(jī)器學(xué)習(xí)訓(xùn)練框架得到越來越多的重視.在聯(lián)邦學(xué)習(xí)中,分布式用戶在本地根據(jù)自己的私有數(shù)據(jù)訓(xùn)練機(jī)器學(xué)習(xí)模型,然后借助參數(shù)服務(wù)器僅共享訓(xùn)練得到的梯度來提升模型的性能.聯(lián)邦學(xué)習(xí)避免了用戶將自己的數(shù)據(jù)暴露給企業(yè)或者其他參與方,從而在一定程度上保護(hù)了自己的隱私和數(shù)據(jù)安全.但是,聯(lián)邦學(xué)習(xí)還處在發(fā)展初期,現(xiàn)有的方案還存在較多的不足:1)直接分享梯度的方式面臨許多的隱私威脅,敵手可以針對(duì)用戶的梯度推測(cè)出用戶數(shù)據(jù)中的敏感信息,甚至可以逆向推演得到用戶的私有數(shù)據(jù);2)簡(jiǎn)單地將隱私保護(hù)技術(shù),例如安全多方計(jì)算(secure multi-party computation, MPC)、同態(tài)加密(homomorphic encryption, HE)等,應(yīng)用到聯(lián)邦學(xué)習(xí)中可能帶來巨大的、甚至無法接受的額外開銷.
為了解決現(xiàn)有聯(lián)邦學(xué)習(xí)方案的問題和不足,本文基于梯度選擇和安全多方計(jì)算中的秘密分享技術(shù),設(shè)計(jì)了高效的安全聯(lián)邦學(xué)習(xí)方案,在保護(hù)用戶隱私的前提下大大減小了通信開銷.進(jìn)一步,我們還提出了一種驗(yàn)證方案用來防止服務(wù)器的惡意篡改.
本文的貢獻(xiàn)主要包括3個(gè)方面:
1) 結(jié)合梯度選擇和秘密分享,提出了一種高效的安全聯(lián)邦學(xué)習(xí)方案.和現(xiàn)有的工作相比,我們?cè)诒WC準(zhǔn)確性的前提下,將通信開銷減少到了原來的1%~10%.
2) 基于梯度的索引和值的數(shù)量積,我們?cè)O(shè)計(jì)了一種驗(yàn)證梯度聚合結(jié)果有效性的方案.在合理的安全性假設(shè)下,我們的驗(yàn)證方案可以抵抗服務(wù)器的惡意篡改.
3) 我們?cè)谡鎸?shí)的數(shù)據(jù)集上驗(yàn)證了方案通信的效率提升和模型的準(zhǔn)確性.實(shí)驗(yàn)結(jié)果表明本文提出的機(jī)制實(shí)現(xiàn)了隱私保護(hù)、通信開銷和模型性能三者之間的有效平衡.
本節(jié)主要介紹有關(guān)梯度選擇算法和聯(lián)邦學(xué)習(xí)隱私保護(hù)的方案.
Top-K梯度選擇算法在減小聯(lián)邦學(xué)習(xí)通信開銷方面發(fā)揮著重要作用,在學(xué)術(shù)界和工業(yè)界都受到了廣泛的關(guān)注和重視.Strom[4]首先提出在訓(xùn)練過程中,客戶端可以只上傳絕對(duì)值大于某個(gè)閾值的梯度.之后,Aji等人[5]提出了梯度丟棄算法.與Strom的方案不同的是,梯度丟棄算法不再依賴一個(gè)固定的閾值來選擇梯度,而是將梯度按照絕對(duì)值的大小排序,然后按照從大到小的原則選擇固定比例的梯度上傳.進(jìn)一步,Wang等人[6]從梯度的稀疏性和方差2個(gè)方面綜合考量來選擇梯度.最近,Alistarh等人[7]第一次在理論上給出了針對(duì)Top-K梯度選擇算法的收斂性分析.然而,盡管Top-K梯度選擇算法上傳的只是稀疏的部分梯度值,暴露這些梯度的真實(shí)值仍然會(huì)威脅到用戶的隱私安全.
如引言所述,直接暴露梯度的真實(shí)值可能使得各參與方本地的數(shù)據(jù)被敵手逆向推理,從而造成隱私泄露.針對(duì)上述威脅,目前的方案主要從2方面考慮:1)差分隱私;2)密碼學(xué)技術(shù).
利用差分隱私,可以在本地模型訓(xùn)練及全局模型整個(gè)過程中對(duì)相關(guān)參數(shù)進(jìn)行擾動(dòng),從而令敵手無法獲取真實(shí)模型參數(shù)[8-9].但是,與密碼學(xué)技術(shù)相比,差分隱私無法保證參數(shù)傳遞過程中的機(jī)密性,從而增加了模型遭受隱私攻擊的可能性.例如劉俊旭等人[10]針對(duì)聯(lián)邦學(xué)習(xí)下差分隱私中存在的攻擊方法進(jìn)行了詳細(xì)的調(diào)研.
目前在隱私保護(hù)聯(lián)邦學(xué)習(xí)中常用的密碼學(xué)技術(shù)包括安全多方計(jì)算、同態(tài)加密等.研究者們利用這些技術(shù)旨在實(shí)現(xiàn)聯(lián)邦學(xué)習(xí)中的核心問題——安全聚合(secure aggregation).目前的方案[11-13]在不同的方面都取得了長(zhǎng)足的進(jìn)步,但是也存在一些問題亟待解決.例如文獻(xiàn)[12-13]基于秘密分享構(gòu)造了安全聚合協(xié)議,旨在保證用戶梯度隱私的情況下高效地聚合梯度.其計(jì)算性能良好,但是其通信開銷遠(yuǎn)遠(yuǎn)大于在明文方案和利用差分隱私的方案,這大大限制了其應(yīng)用.

Fig. 1 The system architecture of federated learning圖1 聯(lián)邦學(xué)習(xí)系統(tǒng)結(jié)構(gòu)
秘密分享技術(shù)是安全多方計(jì)算領(lǐng)域的一種常用的技術(shù).秘密分享最早由Shamir和Blakley分別在文獻(xiàn)[14]和文獻(xiàn)[15]中提出,并廣泛用于密鑰管理、門限加密等方面.其后,針對(duì)秘密分享和恢復(fù)過程中正確性的問題,F(xiàn)eldman[16]構(gòu)造了可驗(yàn)證秘密分享方案(Feldman VSS),從而防止秘密分享者和參與者作弊;進(jìn)一步,為了克服Feldman VSS安全性對(duì)于秘密先驗(yàn)分布的依賴,Pedersen[17]將Pedersen承諾和秘密分享方案結(jié)合,構(gòu)造了Pedersen可驗(yàn)證秘密分享方案(Pedersen VSS).
另一方面,加法秘密分享技術(shù)由于其高效性也受到大量研究者的關(guān)注,并被用于許多重要的安全兩方(多方)計(jì)算方案,例如Sharemind[18],SPDZ[19]等.本文出于對(duì)安全和性能的綜合考慮,將采用加法秘密分享構(gòu)造安全方案.
本節(jié)主要介紹聯(lián)邦學(xué)習(xí)、Top-K梯度選擇算法、秘密分享技術(shù)和消息驗(yàn)證碼.
在聯(lián)邦學(xué)習(xí)中,用戶Ci持有本地私密數(shù)據(jù)集Di,所有的用戶共享同一個(gè)模型架構(gòu)θ.每個(gè)用戶都和參數(shù)服務(wù)器S建立安全信道.用戶的數(shù)目記作m.
訓(xùn)練階段如圖1所示,形式化描述如下:
1) 用戶Ci基于本地私密數(shù)據(jù)集訓(xùn)練模型θ,計(jì)算得到梯度向量gi:
gi=Train(θ,Di).
(1)
2) 用戶Ci將gi上傳到服務(wù)器S.
3) 服務(wù)器S聚合所有用戶上傳的梯度向量.在本文中采用加法聚合:
(2)
4) 服務(wù)器S將聚合結(jié)果gS返回給所有用戶,用戶計(jì)算均值,更新本地模型:
(3)
其中,α是學(xué)習(xí)率.
一輪更新完成之后,用戶檢測(cè)本地模型的準(zhǔn)確率是否達(dá)到要求.如果滿足要求則停止訓(xùn)練;否則,準(zhǔn)備進(jìn)行下一輪的訓(xùn)練.
在2.1節(jié)中,我們介紹了聯(lián)邦學(xué)習(xí)的基礎(chǔ)訓(xùn)練框架.在基礎(chǔ)框架中,用戶每次需要上傳所有的梯度.對(duì)于大型的網(wǎng)絡(luò)來說,上傳、下載梯度所需要的通信開銷可能成為系統(tǒng)的瓶頸.因此,梯度選擇成為一個(gè)改善通信性能的有效方法.在本文中,我們參考Aji等人[5]提出的梯度選擇方案來選擇上傳的K個(gè)梯度值.
具體來說,每次訓(xùn)練中用戶C計(jì)算得到梯度向量g后,首先將求g中每個(gè)元素g[j]的絕對(duì)值.然后根據(jù)絕對(duì)值的大小將所有g(shù)[j]排序.排序之后,我們需要選擇出絕對(duì)值最大的K個(gè)梯度值.然后將這K個(gè)梯度值上傳到服務(wù)器S.圖2給出了梯度選擇的具體描述.算法細(xì)節(jié)如算法1所示.

Fig. 2 Top-K gradients selection algorithm圖2 Top-K 梯度選擇算法
算法1.Top-K梯度選擇算法.
輸入:梯度向量g,K;
輸出:Top-K梯度值和對(duì)應(yīng)的索引信息.
①tmp=[],TK=[];*tmp存儲(chǔ)梯度絕對(duì)值和索引信息,TK存儲(chǔ)最終選擇的梯度*
② forg[j] ing
③tmp.append({j,abs(g[j])});*tmp中的每個(gè)元素包含索引ind和梯度絕對(duì)值abs*
④ end for
⑤ Sorttmpbytmp.absValue;
⑦TK.append({tmp[d].ind,g[tmp[d].
ind]});*TK中每個(gè)元素包含索引
ind和梯度值*
⑧ end for
在算法1的行②~④,用戶將每個(gè)梯度值的索引和絕對(duì)值作為一個(gè)整體存儲(chǔ)到tmp中.行⑤,用戶基于梯度絕對(duì)值的大小將tmp中所有元素降序排序.行⑥~⑧,用戶依據(jù)tmp中排序之后的索引信息選擇絕對(duì)值最大的K個(gè)梯度值,并將相應(yīng)的索引信息作為一個(gè)整體存入TK.最后,用戶得到TK,其中包含了絕對(duì)值最大的K個(gè)梯度值和對(duì)應(yīng)的索引信息.
與上傳所有梯度的方案相比,本文采用的方法大大減小了訓(xùn)練過程的通信開銷;和基于梯度閾值的梯度選擇方案[4]相比,本文采用的方法能將通信開銷限制在固定的范圍.
秘密分享將秘密x分成n個(gè)份額{x1,x2,…,xn},然后將xi安全地保存在第i個(gè)秘密持有者Pi.所有的份額滿足任意少于t個(gè)份額無法揭示任何關(guān)于秘密x的信息,而任何不少于t個(gè)份額可以恢復(fù)原來的秘密x,其中t≤n.出于對(duì)系統(tǒng)整體性能的考慮,在本文中我們采用高效的加法秘密分享[20],其中t=n.
定義1.加法秘密分享包含分享算法Sharing、恢復(fù)算法Reconst、分享的份額數(shù)目n.
互聯(lián)網(wǎng)與通信技術(shù)的發(fā)展打破了傳統(tǒng)學(xué)習(xí)的時(shí)空約束,改變了學(xué)生的學(xué)習(xí)行為,使學(xué)習(xí)更具有靈活性和主動(dòng)性,網(wǎng)絡(luò)學(xué)習(xí)的即時(shí)性也最大限度的幫助成人學(xué)生克服工學(xué)矛盾, 但網(wǎng)絡(luò)學(xué)習(xí)改變成人學(xué)習(xí)行為的同時(shí)也產(chǎn)生了一些消極的影響。在未來成人教育體系中,學(xué)生不僅僅是傳統(tǒng)課堂學(xué)習(xí)的“補(bǔ)充型”學(xué)習(xí),而且是終身學(xué)習(xí)的踐行者,而網(wǎng)絡(luò)學(xué)習(xí)給成人學(xué)生的終身學(xué)習(xí)提供了條件。成人教育的研究者和工作者,應(yīng)更客觀地看待互聯(lián)網(wǎng)在網(wǎng)絡(luò)學(xué)習(xí)中的作用和學(xué)生具體學(xué)習(xí)行為的嬗變,努力揚(yáng)長(zhǎng)避短,使成人學(xué)生在網(wǎng)絡(luò)學(xué)習(xí)中朝著更有益的方向發(fā)展。
Sharing:將秘密x、份額數(shù)目n作為輸入,輸出n個(gè)關(guān)于秘密x的份額如下:
1) 隨機(jī)選取n-1個(gè)隨機(jī)數(shù)
(4)
作為n-1個(gè)秘密份額.
2) 計(jì)算第n個(gè)秘密份額:
(5)
Reconst:輸入n個(gè)秘密份額{x1,x2,…,xn},恢復(fù)秘密x:
(6)
從而,任意的少于n個(gè)份額不能泄露秘密x的任何私密信息.而任意獲得n份秘密份額的用戶便可以根據(jù)式(6)恢復(fù)秘密.
除此之外,秘密分享方案還具有加同態(tài)性質(zhì).
定理1.給定秘密x和y的秘密分享份額,份額持有者Pi可以在秘密分享的狀態(tài)下計(jì)算得到秘密x+y的分享份額.
證明. 根據(jù)定義1,對(duì)x進(jìn)行加法秘密分享,得到:
{x1,x2,…,xn}←Sharing(x,n).
(7)
同理,對(duì)y的秘密分享,有:
{y1,y2,…,yn}←Sharing(y,n).
(8)
對(duì)于?i∈{1,2,…,n},Pi可以在本地計(jì)算:
zi=xi+yi(mod 2l).
(9)
同時(shí),根據(jù)式(6),有:
(10)
故{z1,z2,…,zn}是x+y的加法秘密分享份額.Pi可以根據(jù)式(9)計(jì)算x+y的秘密分享份額.
證畢.

Fig. 3 The illustration of protocol 圖3 協(xié)議流程圖
消息驗(yàn)證碼(message authentication code,MAC)是一種確認(rèn)消息完整性并認(rèn)證的技術(shù)[21],是一種與密鑰相關(guān)聯(lián)的單向Hash函數(shù).消息驗(yàn)證碼的形式化定義如下.
定義2.一個(gè)完成的消息驗(yàn)證碼方案由三元組(G,Sign,Verify)構(gòu)成.其中,G是密鑰生成算法,給定安全參數(shù)κ,生成密鑰sk←G(1κ);Sign是認(rèn)證算法,給定密鑰sk和消息x生成驗(yàn)證碼MAC=Sign(sk,x);Verify是驗(yàn)證算法,給定驗(yàn)證碼MAC、密鑰sk和消息x,判斷Verify(sk,x,MAC)=Accept是否成立;并且算法Sign和Verify需要滿足:
(11)
常見的消息驗(yàn)證碼基于分組密碼和Hash函數(shù)構(gòu)造方案,例如HMAC[22].
本文中,我們將消息驗(yàn)證碼的思想和梯度選擇的索引信息結(jié)合,設(shè)計(jì)了具有加同態(tài)性質(zhì)的驗(yàn)證碼,從而驗(yàn)證聚合結(jié)果的有效性.


我們引入了n個(gè)(n≥2)服務(wù)器對(duì)用戶的梯度進(jìn)行安全聚合.用戶的數(shù)目m≥3.


首先,用戶按照式(1)訓(xùn)練模型θ得到梯度向量g.然后,用戶調(diào)用Top-K梯度選擇算法選出絕對(duì)值最大的K個(gè)梯度.進(jìn)一步,用戶調(diào)用加法秘密分享的Sharing算法分享選擇出的梯度值.然后將分享份額上傳服務(wù)器.需要注意的是,梯度的索引信息也需要上傳.
另一方面,服務(wù)器在收到用戶上傳的梯度分享份額之后,根據(jù)索引信息將對(duì)應(yīng)的份額按式(9)聚合,得到聚合結(jié)果gS的秘密分享.然后將gS的秘密分享和所有用戶上傳的索引信息的并集IND返回給用戶.
最終,用戶調(diào)用秘密恢復(fù)算法Reconst恢復(fù)聚合結(jié)果gS.并且,根據(jù)索引信息更新本地模型.
協(xié)議的形式化描述如算法2所示.

輸入:用戶私密數(shù)據(jù)集Di、統(tǒng)一的初始化模型θ;
輸出:訓(xùn)練得到的模型θ.
① 每個(gè)用戶和每個(gè)服務(wù)器之間建立安全信道;
③ 用戶在本地訓(xùn)練模型,計(jì)算梯度;
④ 用戶調(diào)用Top-K梯度選擇算法,選擇出Top-K的梯度元素;
⑤ 用戶針對(duì)Top-K梯度元素調(diào)用秘密分享,得到梯度分享份額;
⑥ 用戶將索引信息和梯度分享上傳到對(duì)應(yīng)的服務(wù)器;
⑦ 服務(wù)器依照索引信息,根據(jù)秘密分享的加同態(tài)性質(zhì)聚合梯度分享;
⑧ 用戶下載服務(wù)器的聚合梯度分享份額,并調(diào)用秘密恢復(fù)算法恢復(fù)聚合梯度;
⑨ 用戶更新本地模型;
⑩ 進(jìn)行下一輪訓(xùn)練跳轉(zhuǎn)③,或者停止訓(xùn)練.

證明. 首先考慮敵手腐化了n-1個(gè)服務(wù)器.在這種條件下,敵手能夠獲得n-1個(gè)梯度秘密分享份額.但根據(jù)加法秘密分享的性質(zhì),任意不超過n-1個(gè)秘密份額無法泄露任何關(guān)于秘密真實(shí)值的私密信息.因此,在這種條件下,敵手不能獲得關(guān)于梯度真實(shí)值的任何私密信息.
其次,我們考慮在敵手腐化m-2個(gè)用戶的情況.在這種情況下,敵手可以得到聚合結(jié)果的真實(shí)值.除此之外,敵手還可以得到所有腐化用戶的梯度真實(shí)值.因此,敵手能夠按式(12)獲得所有誠(chéng)實(shí)用戶梯度值之和:
(12)
其中,honest為誠(chéng)實(shí)用戶的集合,corrupted為被腐化用戶的集合.
基于至少有2個(gè)誠(chéng)實(shí)用戶的假設(shè),敵手在這種情況下也無法獲得針對(duì)某個(gè)用戶的梯度真實(shí)值.

證畢.

假設(shè)敵手腐化服務(wù)器S1.記S1按照式(9)聚合完成的結(jié)果為gS,1.敵手生成任意的噪聲向量r.之后,敵手便可以計(jì)算:
(13)
最終用戶端恢復(fù)聚合結(jié)果,得到:
gS+r(mod 2l).
(14)
從而使得最終聚合結(jié)果受到噪聲r(shí)的干擾,模型的訓(xùn)練過程和性能受到影響.
為了抵抗上述類型的攻擊,我們利用梯度的索引和梯度值構(gòu)造了驗(yàn)證碼MAC.以此檢測(cè)服務(wù)器是否對(duì)聚合結(jié)果進(jìn)行惡意修改,從而抵抗惡意敵手的攻擊.

TK=[{ind,g[ind]}k].
(15)
進(jìn)一步,利用索引信息ind和梯度的真實(shí)值g[ind]計(jì)算驗(yàn)證碼MAC:
(16)
然后,用戶上傳MAC到所有的服務(wù)器.服務(wù)器在收到所有用戶上傳的MAC之后,將對(duì)所有MAC求和得到MACS:
(17)
聚合完成之后,服務(wù)器將聚合結(jié)果的秘密份額和其對(duì)應(yīng)的索引信息INDS,以及MACS返回給用戶.用戶在本地計(jì)算恢復(fù)聚合梯度真實(shí)值gS,并進(jìn)行驗(yàn)證:
1) 所有的MACS都相等;
2) 用戶計(jì)算:
(18)

如果上述1)2)都驗(yàn)證通過,那么用戶則接受gS并更新模型;否則,則廣播錯(cuò)誤并終止協(xié)議.具體協(xié)議如算法3.

輸入:用戶私密數(shù)據(jù)集Di、統(tǒng)一的初始化模型θ;
輸出:訓(xùn)練得到的模型θ.
⑥ 用戶按式(16)計(jì)算MAC;
⑦ 服務(wù)器聚合梯度,并按式(17)對(duì)MAC求和得到MACS;
⑨ 用戶驗(yàn)證所有的MACS相等,并按式(18)驗(yàn)證聚合結(jié)果的有效性;
⑩ 如果所有的驗(yàn)證通過,用戶更新本地模型;否則廣播錯(cuò)誤并終止訓(xùn)練;
首先,我們分析驗(yàn)證過程的正確性.
1) 如果服務(wù)器沒有進(jìn)行任何的惡意修改,由于所有的服務(wù)器收到的MAC都是相同的,所以按照式(16)計(jì)算得到的MACS都相等.
2) 為了簡(jiǎn)單起見,我們首先考慮2個(gè)用戶的情況(此處暫時(shí)不考慮隱私保護(hù)).2個(gè)用戶記作C1,C2,記C1,C2選擇梯度向量為g1和g2,對(duì)應(yīng)的索引集合為IND1和IND2.根據(jù)協(xié)議,我們有INDS=IND1∪IND2.
因此,對(duì)于?ind∈INDS,有3種情況:
(19)
進(jìn)而,式(18)可以分解為
MAC1+MAC2(mod 2l).
(20)

上述推理很容易可以推廣到多個(gè)用戶的情形.

本文在手寫體數(shù)字識(shí)別數(shù)據(jù)集MNIST(3)http://yann.lecun.com/exdb/mnist/上的卷積神經(jīng)網(wǎng)絡(luò)(CNN)進(jìn)行實(shí)驗(yàn). 數(shù)據(jù)集MNIST由4部分——Training Set Images,Training Set Labels, Test Set Images和Test Set Labels組成.各部分如表1所示.
我們?cè)贗ntel Xeon E5-2650 CPU with 2.30 GHz 126 GB RAM服務(wù)器上、在局域網(wǎng)內(nèi)模擬2個(gè)參數(shù)服務(wù)器和10用戶端.我們采用Pytorch作為底層的機(jī)器學(xué)習(xí)訓(xùn)練庫(kù),并基于Python3實(shí)現(xiàn)我們的秘密分享方案和Top-K梯度選擇算法.在實(shí)驗(yàn)中我們迭代訓(xùn)練100次,每次訓(xùn)練迭代中用戶端需要和服務(wù)器交互計(jì)算1次完成梯度的安全聚合.

Table1 An Overview of MNIST
卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖4所示:

Fig. 4 The architecture of CNN圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
我們分別從模型的準(zhǔn)確率、訓(xùn)練的通信開銷和時(shí)間開銷3方面分析我們的方案.


Fig. 5 The accuracy changes圖5 準(zhǔn)確率變化

Table 2 The Accuracy Results
進(jìn)一步,我們還探索不同的梯度選擇比率對(duì)于模型訓(xùn)練的影響.在圖5中,我們選擇1%,5%和10%的梯度分享上傳,并和明文下100%上傳的方式比較.從圖5和表2中可以看到,增加上傳分享的梯度對(duì)于準(zhǔn)確率的提升和收斂速度的提升并不顯著.這與之前有關(guān)Top-K梯度選擇工作的結(jié)論相符.
通信開銷是聯(lián)邦學(xué)習(xí)的瓶頸之一,在安全的聯(lián)邦學(xué)習(xí)中,由于在密文狀態(tài)下無法使用壓縮算法等優(yōu)化技術(shù),這個(gè)問題更為嚴(yán)重.為了提升通信性能,我們?cè)赥op-K梯度選擇的基礎(chǔ)上,結(jié)合秘密分享提出了高效的解決方案.


Table 3 Communication Overhead in One Training Iteration
實(shí)驗(yàn)結(jié)果表明,我們采用Top-K梯度選擇算法,可以極大地優(yōu)化在安全聯(lián)邦學(xué)習(xí)中的通信開銷問題.例如,我們將Top-K比率從10%優(yōu)化到1%,通信性能優(yōu)化了大約9.78倍.而4.1節(jié)的實(shí)驗(yàn)結(jié)果表明在這個(gè)范圍內(nèi)減少Top-K的選擇比率并不會(huì)對(duì)模型性能造成很大的影響,因此Top-K梯度選擇在安全聯(lián)邦學(xué)習(xí)領(lǐng)域也具有很大的發(fā)展?jié)摿?


我們分別在Top-K梯度選擇比率為1%,5%和10%下進(jìn)行實(shí)驗(yàn),并且與明文實(shí)驗(yàn)對(duì)比.結(jié)果如表4所示.
表4的實(shí)驗(yàn)結(jié)果表明:和明文訓(xùn)練對(duì)比,我們的安全協(xié)議在在線訓(xùn)練并沒有引入太多的時(shí)間開銷.用戶端的計(jì)算時(shí)間和服務(wù)器的計(jì)算時(shí)間和明文訓(xùn)練對(duì)比,增加幅度很小,這種增幅在實(shí)際應(yīng)用中是可以接受的.而在預(yù)處理階段,通過1%,5%和10%的梯度選擇比率對(duì)比,可以驗(yàn)證預(yù)處理的時(shí)間和需要的隨機(jī)數(shù)的數(shù)量呈正相關(guān).
另一方面,我們也可以觀察到主要的開銷來自于傳輸梯度的時(shí)間開銷.例如,1%和10%的梯度選擇比率對(duì)比,后者需要的傳輸時(shí)間大約是前者的10倍.這也是目前安全聯(lián)邦學(xué)習(xí)面臨的主要性能瓶頸之一.
聯(lián)邦學(xué)習(xí)中的通信開銷是其重要的瓶頸之一,而這個(gè)問題在安全聯(lián)邦學(xué)習(xí)中帶來的影響更為嚴(yán)重.本文將Top-K梯度選擇和秘密分享的方法結(jié)合起來,在保證用戶隱私和數(shù)據(jù)安全的情況下大幅提升了通信效率.進(jìn)一步,我們利用索引信息構(gòu)造了驗(yàn)證碼,在保護(hù)隱私的基礎(chǔ)上驗(yàn)證了服務(wù)端聚合結(jié)果的有效性,而且驗(yàn)證碼所帶來的額外通信負(fù)載是常數(shù)級(jí)別并獨(dú)立于梯度的數(shù)量.這對(duì)于進(jìn)一步的相關(guān)研究具有重要的參考意義.目前,也有許多工作通過對(duì)梯度量化編碼的方式來提升通信性能,我們將在未來的工作中結(jié)合相關(guān)領(lǐng)域的方案進(jìn)行下一步的探索.