孫 兵 劉 艷 王 田 彭紹亮 王國軍 賈維嘉
1(華僑大學(xué)計算機科學(xué)與技術(shù)學(xué)院 福建廈門 361021) 2(北京師范大學(xué)人工智能與未來網(wǎng)絡(luò)研究院 廣東珠海 519087) 3(北京師范大學(xué)-香港浸會大學(xué)聯(lián)合國際學(xué)院人工智能與多模態(tài)數(shù)據(jù)處理重點實驗室 廣東珠海 519087) 4(湖南大學(xué)信息科學(xué)與工程學(xué)院 長沙 410082) 5(廣州大學(xué)計算機科學(xué)與網(wǎng)絡(luò)工程學(xué)院 廣州510006)
近年來,深度學(xué)習(xí)(deep learning, DL)[1]的發(fā)展為人工智能技術(shù)的進步創(chuàng)造了動力.隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,移動設(shè)備都具備強大的芯片、傳感器以及計算能力,能夠在處理高級任務(wù)的同時,收集和產(chǎn)生更豐富的數(shù)據(jù)[2].這些數(shù)據(jù)為深度學(xué)習(xí)的研究提供了有利的基礎(chǔ)條件,是深度學(xué)習(xí)不可或缺的部分.
傳統(tǒng)以云為中心的深度學(xué)習(xí),需要先收集移動設(shè)備的數(shù)據(jù),包括物聯(lián)網(wǎng)設(shè)備和智能手機收集的數(shù)據(jù),例如照片、視頻和位置等信息[3-5],并全部發(fā)送到基于云的服務(wù)器或數(shù)據(jù)中心進行處理與訓(xùn)練.然而,這種方法存在2個問題:
1) 網(wǎng)絡(luò)負擔.在萬物互聯(lián)的時代,移動設(shè)備每分每秒都產(chǎn)生數(shù)以億計的數(shù)據(jù)[6],這些數(shù)據(jù)全部上傳到云服務(wù)器會占用大量的網(wǎng)絡(luò)帶寬.同時,以云為中心的學(xué)習(xí)方式傳輸延遲高,不能及時進行數(shù)據(jù)交互,給網(wǎng)絡(luò)帶來不必要的負擔.
2) 數(shù)據(jù)隱私[7].數(shù)據(jù)所有者對隱私越來越注重,用戶往往不愿共享自己的個人數(shù)據(jù).許多國家和組織也制定了相關(guān)隱私政策,例如歐盟委員會制定的“General Data Protection Regulation”(《通用數(shù)據(jù)保護條例》)[8].因此,利用一些邊緣設(shè)備的計算和存儲能力,把計算推向邊緣[9]被提出作為一種解決方案.
因此,聯(lián)邦學(xué)習(xí)(federated learning, FL)[10]應(yīng)運而生,目的在于保護大數(shù)據(jù)環(huán)境下模型學(xué)習(xí)中涉及的用戶數(shù)據(jù)隱私.在聯(lián)邦學(xué)習(xí)訓(xùn)練過程中,只需要將所有移動設(shè)備在其私有數(shù)據(jù)上訓(xùn)練的本地模型上傳到云服務(wù)器中進行聚合,不涉及數(shù)據(jù)本身,很大程度上提高了用戶數(shù)據(jù)的隱私性.同時,邊緣計算的提出是為了緩解云中心的計算壓力,目的是把云服務(wù)中心的計算任務(wù)卸載到邊緣[11],這恰好與聯(lián)邦學(xué)習(xí)的計算模式相適應(yīng),為聯(lián)邦學(xué)習(xí)創(chuàng)造了有利條件.在移動設(shè)備上訓(xùn)練模型,除了保證數(shù)據(jù)不離開本地,還能讓計算更加靠近數(shù)據(jù)源以節(jié)省通信成本.
然而,無線傳感網(wǎng)絡(luò)[12-13]等邊緣環(huán)境復(fù)雜、設(shè)備能力的差異性、數(shù)據(jù)質(zhì)量等因素,使得如何在邊緣網(wǎng)絡(luò)高效率地執(zhí)行聯(lián)邦學(xué)習(xí)是當前面臨的關(guān)鍵問題.一方面,一些實時性強的應(yīng)用需要及時得到反饋,例如車聯(lián)網(wǎng)服務(wù)[14]等;另一方面,在物聯(lián)網(wǎng)快速發(fā)展的時代,爆發(fā)式增長的數(shù)據(jù)需要高效的處理機制才能發(fā)揮其作用.因此,對聯(lián)邦學(xué)習(xí)效率的研究是非常必要的.
目前,聯(lián)邦學(xué)習(xí)的熱度呈持續(xù)增長的趨勢.圖1為谷歌搜索隨時間變化的熱度值,圖2為國內(nèi)外文獻網(wǎng)站檢索到的近幾年關(guān)于聯(lián)邦學(xué)習(xí)的文獻數(shù)量.可以看出,聯(lián)邦學(xué)習(xí)正處于迅速發(fā)展的階段.
Fig. 1 Google trends圖1 谷歌搜索熱度
Fig. 2 Number of papers at home and abroad圖2 國內(nèi)外文獻數(shù)量
本文首先對聯(lián)邦學(xué)習(xí)效率優(yōu)化方案進行了廣泛調(diào)研,闡述了聯(lián)邦學(xué)習(xí)的技術(shù)背景以及深度學(xué)習(xí)等基礎(chǔ)知識,并說明了邊緣計算與聯(lián)邦學(xué)習(xí)的基本原理以及二者之間的相互作用與影響.其次,分析了聯(lián)邦學(xué)習(xí)中存在的效率優(yōu)化問題,根據(jù)影響效率的不同因素,將聯(lián)邦學(xué)習(xí)效率優(yōu)化歸納為通信優(yōu)化、訓(xùn)練優(yōu)化以及從安全與隱私角度考慮的效率優(yōu)化.再次,列舉并對比分析了目前的研究方案,揭示了現(xiàn)有方案存在的不足.聯(lián)邦學(xué)習(xí)的研究還處于正在發(fā)展的階段,現(xiàn)有技術(shù)還不夠完善.最后,探討了聯(lián)邦學(xué)習(xí)面臨的新挑戰(zhàn),本文以邊緣計算作為擴展,提出了基于邊緣學(xué)習(xí)的聯(lián)邦學(xué)習(xí)方案,并在數(shù)據(jù)優(yōu)化、自適應(yīng)學(xué)習(xí)、激勵機制和前沿技術(shù)等方面提出了創(chuàng)新性的理念與思想,為聯(lián)邦學(xué)習(xí)未來的研究提供了新的解決思路.
通過聯(lián)邦學(xué)習(xí)在國內(nèi)外的研究現(xiàn)狀,可以看出其重要性與研究價值.聯(lián)邦學(xué)習(xí)的提出和實現(xiàn)與邊緣計算和深度學(xué)習(xí)息息相關(guān).邊緣計算為聯(lián)邦學(xué)習(xí)的本地訓(xùn)練創(chuàng)造了條件,深度學(xué)習(xí)為聯(lián)邦學(xué)習(xí)提供了理論依據(jù)和核心技術(shù).本節(jié)首先介紹深度學(xué)習(xí)和邊緣計算等背景知識,然后闡述傳統(tǒng)數(shù)據(jù)隱私保護技術(shù)及其不足,從而引出聯(lián)邦學(xué)習(xí)的概念、架構(gòu)與分類,突出聯(lián)邦學(xué)習(xí)的特點與優(yōu)勢,對比了聯(lián)邦學(xué)習(xí)與傳統(tǒng)分布式學(xué)習(xí)的區(qū)別,并總結(jié)了現(xiàn)有的聯(lián)邦學(xué)習(xí)平臺的特點.
現(xiàn)有的人工智能應(yīng)用大多是通過機器學(xué)習(xí)(machine learning, ML)來實現(xiàn)的,從各類設(shè)備上獲取數(shù)據(jù)來訓(xùn)練機器,實現(xiàn)分類和預(yù)測等任務(wù).深度學(xué)習(xí)則是利用人工神經(jīng)網(wǎng)絡(luò)[15]來學(xué)習(xí)數(shù)據(jù),結(jié)構(gòu)如圖3所示.深度學(xué)習(xí)模型的每一層都由神經(jīng)元組成,神經(jīng)元根據(jù)輸入的數(shù)據(jù)產(chǎn)生非線性輸出.輸入層的神經(jīng)元接收數(shù)據(jù)并將其傳播到隱含層,隱含層的神經(jīng)元生成數(shù)據(jù)的加權(quán)和,然后用特定的激活函數(shù)[16]輸出加權(quán)和,最后的結(jié)果發(fā)送到輸出層.一個訓(xùn)練好的深度學(xué)習(xí)模型可以應(yīng)用于實際場景以代替人類部分的智能行為.
Fig. 3 Deep learning model圖3 深度學(xué)習(xí)模型
常見的模型有3種:
1) 卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network, CNN)[17].CNN是一種前饋式的深層神經(jīng)網(wǎng)絡(luò),包含卷積層、池化層和全連接層.在圖像識別上應(yīng)用的過程首先將數(shù)據(jù)輸入CNN模型,經(jīng)過多次卷積和池化操作,再將提取到的圖像特征輸入全連接層進行識別與分類.
2) 循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)[18].RNN是用來解決順序輸入數(shù)據(jù)等時序問題的模型.RNN的輸入包括當前和先前輸入的樣本,每個神經(jīng)元都擁有一個內(nèi)部存儲器,用來存儲先前樣本的信息.例如長短期記憶網(wǎng)絡(luò)就是RNN的擴展,并且廣泛應(yīng)用于自然語言處理等領(lǐng)域.
3) 生成式對抗網(wǎng)絡(luò)(generative adversarial net-work, GAN)[19].GAN由2個主要組件組成,即生成器和鑒別器.生成器負責從真實數(shù)據(jù)的訓(xùn)練數(shù)據(jù)集中學(xué)習(xí)數(shù)據(jù)特征之后生成新的偽數(shù)據(jù);鑒別器負責根據(jù)生成器生成的偽數(shù)據(jù)對真實數(shù)據(jù)進行區(qū)分.GAN通常應(yīng)用在圖像生成、圖像轉(zhuǎn)換、圖像合成等領(lǐng)域.
邊緣計算顧名思義就是在邊緣進行計算.隨著物聯(lián)網(wǎng)設(shè)備和數(shù)據(jù)的增長,云計算中心的負載越來越大,通信成本和傳輸延遲也在不斷增加.為此,邊緣計算將計算從網(wǎng)絡(luò)中心推向更接近用戶和數(shù)據(jù)源的網(wǎng)絡(luò)邊緣,把計算任務(wù)卸載到邊緣或者移動設(shè)備上,從而降低延遲與帶寬消耗[20]、提高效率和數(shù)據(jù)隱私性.
“邊緣”是一個相對的概念,指云服務(wù)器之外包含具有計算和存儲能力的設(shè)備節(jié)點的邊緣網(wǎng)絡(luò)層,例如由云計算與傳感器網(wǎng)絡(luò)層構(gòu)成的傳感云系統(tǒng)[12].隨著技術(shù)的深入研究與發(fā)展,相繼提出霧計算[21]、移動邊緣計算(mobile edge computing, MEC)[22]等邊緣化模型.如圖4所示,網(wǎng)絡(luò)環(huán)境中的基站、微型服務(wù)器和智能設(shè)備等都可以作為邊緣計算節(jié)點.
Fig. 4 Edge computing model圖4 邊緣計算模型
從聯(lián)邦學(xué)習(xí)的設(shè)置來看,在移動設(shè)備上進行本地模型訓(xùn)練,服務(wù)器進行模型聚合,將主要的學(xué)習(xí)任務(wù)卸載到移動設(shè)備,這種基于邊緣端以保護用戶隱私的深度學(xué)習(xí)方式也順應(yīng)了邊緣計算的模式.聯(lián)邦學(xué)習(xí)與邊緣計算的結(jié)合與互補是一種必然的趨勢.邊緣計算旨在協(xié)調(diào)大量的移動設(shè)備和邊緣服務(wù)器以處理在其附近生成的數(shù)據(jù)[23],在邊緣處理數(shù)據(jù)還能大大提高數(shù)據(jù)的隱私性.而聯(lián)邦學(xué)習(xí)的目的也是在保護用戶數(shù)據(jù)隱私的前提下,通過從移動邊緣設(shè)備的數(shù)據(jù)中學(xué)習(xí)特征信息來實現(xiàn)智能決策和行為.此外,聯(lián)邦學(xué)習(xí)與邊緣計算之間還存在3方面的聯(lián)系與相互作用:
1) 移動邊緣網(wǎng)絡(luò)中產(chǎn)生的數(shù)據(jù)需要聯(lián)邦學(xué)習(xí)充分發(fā)揮其價值.聯(lián)邦學(xué)習(xí)可以自動識別并獲取邊緣設(shè)備上產(chǎn)生的有用數(shù)據(jù),例如文本信息、圖像視頻信息、車輛信息等.然后,根據(jù)快速變化的邊緣環(huán)境,從數(shù)據(jù)中提取特征信息并反饋到實時預(yù)測決策應(yīng)用(例如智能交通[24]、智能駕駛[25]等)中,從而在提高數(shù)據(jù)處理效率的同時保護用戶數(shù)據(jù)隱私[26].
2) 邊緣計算可以利用大量的資源豐富聯(lián)邦學(xué)習(xí)的應(yīng)用場景.深度學(xué)習(xí)的發(fā)展離不開算法優(yōu)化、硬件優(yōu)化、數(shù)據(jù)和應(yīng)用場景等重要推動力.邊緣計算可以為聯(lián)邦學(xué)習(xí)提供豐富的數(shù)據(jù)與資源.為了提高模型的性能,最常用的方法是使用更多層神經(jīng)元來細化模型,需要在模型中學(xué)習(xí)更多參數(shù),訓(xùn)練所需的數(shù)據(jù)也隨之增加.移動邊緣網(wǎng)絡(luò)中大量的物聯(lián)網(wǎng)設(shè)備恰好為聯(lián)邦學(xué)習(xí)提供了豐富的數(shù)據(jù).此外,如果這些數(shù)據(jù)集上傳到云數(shù)據(jù)中心進行處理,會消耗大量的帶寬資源,并給云服務(wù)器帶來巨大壓力.邊緣計算為聯(lián)邦學(xué)習(xí)提供了大量的計算資源,移動設(shè)備的計算資源也是聯(lián)邦學(xué)習(xí)的應(yīng)用基礎(chǔ).
3) 人工智能面向用戶需要結(jié)合邊緣計算和聯(lián)邦學(xué)習(xí)作為基本架構(gòu).人工智能已經(jīng)在日常生活中的許多領(lǐng)域取得了巨大的成功,例如智能推薦系統(tǒng)、模式識別和智慧城市等.為了支持更多的應(yīng)用程序,人工智能需要更接近用戶.邊緣設(shè)備更接近用戶和移動設(shè)備,并且邊緣計算相比云計算更加靈活、成本更低廉.而聯(lián)邦學(xué)習(xí)在邊緣計算的基礎(chǔ)上,承載了人工智能應(yīng)用的部署任務(wù).隨著用戶對隱私的關(guān)注,通過聯(lián)邦學(xué)習(xí)的調(diào)控能實現(xiàn)保護隱私的人工智能.因此,聯(lián)邦學(xué)習(xí)與邊緣計算除了具有互補性,同時也是普及人工智能的基礎(chǔ)架構(gòu).
傳統(tǒng)的深度學(xué)習(xí)訓(xùn)練中,各方數(shù)據(jù)首先被數(shù)據(jù)收集者集中收集,然后由數(shù)據(jù)分析者進行模型訓(xùn)練.其中,數(shù)據(jù)收集者與數(shù)據(jù)分析者可以是同一方,如移動應(yīng)用開發(fā)者(云服務(wù)器);也可以是多方,如開發(fā)者將數(shù)據(jù)共享給其他數(shù)據(jù)分析機構(gòu).由此可見集中學(xué)習(xí)模式下,用戶數(shù)據(jù)一旦被收集,便很難再擁有對數(shù)據(jù)的控制權(quán),其數(shù)據(jù)將被用于何處、如何使用也不得而知[27].針對深度學(xué)習(xí)面臨的數(shù)據(jù)隱私問題,目前的研究主要從差分隱私、同態(tài)加密以及多方安全計算等不同角度對深度學(xué)習(xí)中的隱私保護方法進行了探討.
1.3.1 差分隱私技術(shù)
差分隱私是一種擾動技術(shù),指在模型訓(xùn)練過程中引入隨機性,即添加一定的隨機噪聲,使輸出結(jié)果與真實結(jié)果具有一定程度的偏差,防止攻擊者惡意推理.具體來說,差分隱私在服務(wù)器進行計算的過程中利用擾動方法來保護敏感數(shù)據(jù),如圖5所示.文獻[28]基于差分隱私保護機制提出了一種對本地數(shù)據(jù)進行擾動變換的機制,使用噪聲訓(xùn)練從而增加云端深度神經(jīng)網(wǎng)絡(luò)對移動設(shè)備提交的擾動數(shù)據(jù)的魯棒性.差分隱私技術(shù)大多是在原始數(shù)據(jù)或模型參數(shù)上進行加噪,保護數(shù)據(jù)隱私的同時模型精度會有所影響.
1.3.2 同態(tài)加密技術(shù)
如圖6所示,同態(tài)加密的核心思想是直接在密文上做運算,運算結(jié)果解密后與明文運算的結(jié)果相同.目前,同態(tài)加密已被廣泛應(yīng)用于基于云計算場景的隱私保護研究中.在以云為中心的深度學(xué)習(xí)過程中使用同態(tài)加密對數(shù)據(jù)加密然后分析計算,能夠很好地解決數(shù)據(jù)保密與安全等問題.然而,同態(tài)加密十分依賴于函數(shù)的復(fù)雜度,對于存在大量的非線性計算的深度學(xué)習(xí)模型,算法的計算開銷十分高昂.此外,同態(tài)加密只支持整數(shù)數(shù)據(jù),且需要固定的乘法深度[29]等.
Fig. 5 Differential privacy technology圖5 差分隱私技術(shù)
Fig. 6 Homomorphic encryption technology圖6 同態(tài)加密技術(shù)
1.3.3 多方安全計算
多方安全計算是通過特殊的算法在無可信第三方的情況下,確保輸入的隱私性與輸出的正確性[30].具體來說,假設(shè)有多個參與方,它們擁有各自的數(shù)據(jù)集,在無可信第三方的情況下,通過計算一個約定函數(shù),要求每個參與方除了計算結(jié)果外不能得到其他參與方的任何輸入信息.多方安全計算可以實現(xiàn)無可信方場景下的安全計算,但是為了實現(xiàn)隱私保護,需要進行多次傳輸,通信開銷較大.該方法比較適用于小規(guī)模實體間的安全計算,對于具有大量用戶的深度學(xué)習(xí)場景的適應(yīng)性較差.
目前,主流的深度學(xué)習(xí)隱私保護技術(shù)在一定程度上保護了用戶的數(shù)據(jù)隱私,但從本質(zhì)上來說,數(shù)據(jù)同樣需要離開設(shè)備本地,用戶失去了對數(shù)據(jù)的控制權(quán),就會存在隱私風(fēng)險.且差分隱私技術(shù)、同態(tài)加密技術(shù)和多方安全計算這3種隱私保護技術(shù)存在各自的不足,因此研究者開始探索如何實現(xiàn)無需數(shù)據(jù)收集的學(xué)習(xí)方案.
1.4.1 概念與架構(gòu)
基于數(shù)據(jù)擁有者對于隱私的高需求,在聯(lián)邦學(xué)習(xí)中,服務(wù)器不需要用戶共享個人的隱私數(shù)據(jù),在本地設(shè)備上用個人數(shù)據(jù)訓(xùn)練共享模型即可.聯(lián)邦學(xué)習(xí)的體系結(jié)構(gòu)以及訓(xùn)練過程如圖7所示.其中參與聯(lián)邦學(xué)習(xí)的設(shè)備為數(shù)據(jù)擁有者,每個設(shè)備都持有私有數(shù)據(jù)集,每個設(shè)備利用這些數(shù)據(jù)訓(xùn)練本地模型.所有訓(xùn)練好的本地模型參數(shù)發(fā)送到服務(wù)器中聚合,并更新全局模型.然后服務(wù)器再把更新后的全局模型作為新一輪的共享模型發(fā)送到參與設(shè)備迭代訓(xùn)練,直到訓(xùn)練后的全局模型達到要求.
Fig. 7 Classical federated learning structure圖7 經(jīng)典的聯(lián)邦學(xué)習(xí)結(jié)構(gòu)
通常來說,聯(lián)邦學(xué)習(xí)由多個參與者和一個服務(wù)器組成,參與者用來分布式地訓(xùn)練共享模型,服務(wù)器用來聚合這些本地模型并給參與者分發(fā)任務(wù).聯(lián)邦學(xué)習(xí)的訓(xùn)練過程分為3步:
1) 任務(wù)初始化.在訓(xùn)練開始之前,服務(wù)器首先要確定訓(xùn)練的任務(wù)和目標,并選擇參與聯(lián)邦學(xué)習(xí)的設(shè)備,然后把共享模型發(fā)送給已選擇的設(shè)備.
2) 本地訓(xùn)練與共享.每個設(shè)備利用私有數(shù)據(jù)訓(xùn)練本地模型.訓(xùn)練的目標就是找到最佳的本地模型.設(shè)備訓(xùn)練完之后把模型參數(shù)上傳到服務(wù)器,進行下一步操作.
3) 全局聚合與更新.服務(wù)器收集到來自所有參與設(shè)備的本地模型后,進行模型參數(shù)聚合.典型的聚合操作是平均算法FedAvg[31],聯(lián)邦學(xué)習(xí)服務(wù)器通過平均本地模型參數(shù)得到下一輪的共享全局模型,目標是找到最佳的全局模型.
這3個步驟將會依次迭代進行,當全局模型收斂或者達到一定的準確率時結(jié)束訓(xùn)練.
1.4.2 聯(lián)邦學(xué)習(xí)分類
如果要對用戶的數(shù)據(jù)建立學(xué)習(xí)模型,需要其數(shù)據(jù)的特征,也必須有標簽數(shù)據(jù),即期望得到的答案.比如,在圖像識別領(lǐng)域,標簽是被識別的用戶的身份(或?qū)嶓w的類別);在車聯(lián)網(wǎng)領(lǐng)域,標簽是與車輛用戶相關(guān)的信息等.用戶特征加標簽構(gòu)成了完整的訓(xùn)練數(shù)據(jù).在聯(lián)邦學(xué)習(xí)的應(yīng)用場景中,各個數(shù)據(jù)集的用戶不完全相同,或用戶特征不完全相同.因此,根據(jù)數(shù)據(jù)的不同特點,將聯(lián)邦學(xué)習(xí)分為3類:橫向聯(lián)邦學(xué)習(xí)、縱向聯(lián)邦學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí)[32].我們以2個數(shù)據(jù)集為例,分別介紹3類聯(lián)邦學(xué)習(xí)的區(qū)別.
1) 橫向聯(lián)邦學(xué)習(xí).如圖8(a)所示,當2個數(shù)據(jù)集的用戶重疊部分很少,但是用戶特征重疊部分比較大時,把數(shù)據(jù)集橫向切分,取出2個數(shù)據(jù)集中特征相同但來自不同用戶的數(shù)據(jù)進行訓(xùn)練,這種場景下的聯(lián)邦學(xué)習(xí)屬于橫向聯(lián)邦學(xué)習(xí).
2) 縱向聯(lián)邦學(xué)習(xí).如圖8(b)所示,當2個數(shù)據(jù)集的用戶重疊部分很多,但用戶特征重疊部分比較少時,通過用戶的不同數(shù)據(jù)特征聯(lián)合訓(xùn)練一個更綜合的模型,這種場景下的聯(lián)邦學(xué)習(xí)屬于縱向聯(lián)邦學(xué)習(xí).
3) 聯(lián)邦遷移學(xué)習(xí).如圖8(c)所示,聯(lián)邦遷移學(xué)習(xí)是縱向聯(lián)邦學(xué)習(xí)的一種特例.當2個數(shù)據(jù)集的用戶重疊部分少,用戶特征重疊部分也較少,且有的數(shù)據(jù)還存在標簽缺失時,此時利用遷移學(xué)習(xí)來解決數(shù)據(jù)規(guī)模小的問題,這種場景下的聯(lián)邦學(xué)習(xí)就是聯(lián)邦遷移學(xué)習(xí).
Fig. 8 Three types of federated learning圖8 3類聯(lián)邦學(xué)習(xí)
這3種類型的聯(lián)邦學(xué)習(xí)的共同點都在于保護用戶數(shù)據(jù)的隱私性,區(qū)別主要在于用戶和數(shù)據(jù)的重疊性.聯(lián)邦學(xué)習(xí)的提出是基于不同用戶、數(shù)據(jù)特征重疊性高的情況,并且目前大部分的研究都是基于橫向聯(lián)邦學(xué)習(xí),縱向聯(lián)邦學(xué)習(xí)和聯(lián)邦遷移學(xué)習(xí)的研究工作暫時比較少.由于不同類型的聯(lián)邦學(xué)習(xí)訓(xùn)練與優(yōu)化機理都相互獨立,而在移動邊緣網(wǎng)絡(luò)中部署實現(xiàn)聯(lián)邦學(xué)習(xí)旨在利用更多不同的用戶和設(shè)備來訓(xùn)練模型.因此,本文主要關(guān)注的是橫向聯(lián)邦學(xué)習(xí)的效率優(yōu)化,本文所提及的聯(lián)邦學(xué)習(xí)均為橫向聯(lián)邦學(xué)習(xí).
1.4.3 特點與優(yōu)勢
隨著數(shù)據(jù)的急劇增長,集中式的數(shù)據(jù)中心無法完成巨大的任務(wù)量.當單個節(jié)點的處理能力無法滿足日益增長的計算、存儲任務(wù),硬件的提升成本高昂到得不償失,且應(yīng)用程序也不能進一步優(yōu)化的時候,就需要考慮分布式的學(xué)習(xí)模式.分布式學(xué)習(xí)是早于聯(lián)邦學(xué)習(xí)的用來解決大數(shù)據(jù)處理的方案,分布式系統(tǒng)是由一組通過網(wǎng)絡(luò)進行通信、為了完成共同的任務(wù)而協(xié)調(diào)工作的計算機節(jié)點組成的系統(tǒng).它的出現(xiàn)是為了用廉價的、普通的機器完成單個計算機無法完成的計算、存儲任務(wù),簡單來說就是利用更多的機器處理更多的數(shù)據(jù).云服務(wù)器之外的大量子設(shè)備為分布式學(xué)習(xí)提供了基礎(chǔ),利用分片或者復(fù)制集的思想,把任務(wù)和數(shù)據(jù)分配給每一個服務(wù)器.雖然分布式學(xué)習(xí)減輕了云服務(wù)器的計算壓力,但同時也存在問題.分布式系統(tǒng)中有大量的服務(wù)器節(jié)點,若其中一個節(jié)點出現(xiàn)故障,則整個系統(tǒng)出現(xiàn)故障的可能性就會變大.此外,分片或者復(fù)制集都或多或少共享了數(shù)據(jù),數(shù)據(jù)泄露等安全問題無法解決.
與此類似的,在移動設(shè)備上基于點對點通信的學(xué)習(xí)方式[33]相比分布式學(xué)習(xí)更靈活,但是非主從式的結(jié)構(gòu)使得學(xué)習(xí)效率低下,設(shè)備之間的交互也讓用戶的隱私面臨威脅.聯(lián)邦學(xué)習(xí)不同于傳統(tǒng)的分布式學(xué)習(xí)以及點對點通信方式的學(xué)習(xí),用戶的數(shù)據(jù)始終保存在本地,在移動設(shè)備進行訓(xùn)練,并由服務(wù)器統(tǒng)一調(diào)控.聯(lián)邦學(xué)習(xí)屬于主從式的學(xué)習(xí)方式,服務(wù)器與移動設(shè)備共同協(xié)調(diào),在保護用戶數(shù)據(jù)隱私的前提下,提高了學(xué)習(xí)的可靠性.聯(lián)邦學(xué)習(xí)與傳統(tǒng)分布式學(xué)習(xí)的相關(guān)對比見表1.在移動邊緣網(wǎng)絡(luò)中進行多次訓(xùn)練與通信,意味著聯(lián)邦學(xué)習(xí)擁有3種特性:
1) 通信環(huán)境不穩(wěn)定.在基于數(shù)據(jù)中心的分布式訓(xùn)練中,通信環(huán)境是較封閉的,數(shù)據(jù)傳輸速率非常高且沒有數(shù)據(jù)包丟失.但是,這些假設(shè)不適用于在訓(xùn)練中涉及異構(gòu)設(shè)備的聯(lián)邦學(xué)習(xí)環(huán)境.在通信通道不穩(wěn)定的情況下,移動設(shè)備可能會由于斷網(wǎng)而退出.
2) 資源約束.除了帶寬限制之外,聯(lián)邦學(xué)習(xí)還受到參與設(shè)備本身的約束.例如設(shè)備可以具有不同的計算能力、CPU性能等.移動設(shè)備沒有分布式服務(wù)器的強大性能,本地訓(xùn)練的效率無法保障,且無法直接進行管理和維護.
Table 1 Federated Learning Versus TraditionalDistributed Learning表1 聯(lián)邦學(xué)習(xí)與傳統(tǒng)分布式學(xué)習(xí)對比
3) 安全與隱私問題.雖然聯(lián)邦學(xué)習(xí)不用收集用戶的數(shù)據(jù),但仍然存在惡意參與者針對模型或系統(tǒng)的隱私侵犯威脅,這很可能泄露用戶的隱私.此外,移動設(shè)備自身的抗干擾和抵抗第三方攻擊的能力較弱,聯(lián)邦學(xué)習(xí)系統(tǒng)的安全性容易被破壞.
隨著國內(nèi)外學(xué)者的研究,許多適用于聯(lián)邦學(xué)習(xí)的開源平臺或項目已經(jīng)研發(fā)出來,表2總結(jié)了9種目前主流的平臺.
Table 2 Federated Learning Platforms and Their Features表2 聯(lián)邦學(xué)習(xí)平臺及其特點
1) TFF(TensorFlow federated). TFF[34]是由谷歌開發(fā)的一個基于TensorFlow的框架,用于分布式機器學(xué)習(xí)和其他分布式計算.TFF為2層結(jié)構(gòu),其中聯(lián)邦學(xué)習(xí)層是一個高級接口,允許現(xiàn)有的TensorFlow模型支持并實現(xiàn)聯(lián)邦學(xué)習(xí),用戶不必親自設(shè)計聯(lián)邦學(xué)習(xí)算法.另一層為聯(lián)邦核心層,結(jié)合了TensorFlow和通信運營商,允許用戶自己設(shè)計聯(lián)邦學(xué)習(xí)算法.
2) 工業(yè)級開源框架FATE(federated AI tech-nology enabler).FATE[35]是微眾銀行AI團隊推出的工業(yè)級別聯(lián)邦學(xué)習(xí)框架,可以在保護數(shù)據(jù)安全和數(shù)據(jù)隱私的前提下進行人工智能協(xié)作.作為一個工業(yè)級的聯(lián)邦學(xué)習(xí)框架,F(xiàn)ATE項目提供了許多現(xiàn)成的聯(lián)邦學(xué)習(xí)算法以及多種加密機制,可以支持不同種類的安全計算.
3) PySyft. PySyft[36]是一個基于PyTorch的框架,可以在不可信的環(huán)境中執(zhí)行加密、保護隱私的深度學(xué)習(xí).為了模擬聯(lián)邦學(xué)習(xí),參與者被創(chuàng)建為虛擬工作者,將數(shù)據(jù)分割并分配給虛擬工作者,并指定數(shù)據(jù)所有者和存儲位置,然后從虛擬工作者中獲取模型后以進行全局聚合.
4) PaddleFL.PaddleFL[37]主要是面向深度學(xué)習(xí)進行設(shè)計的,提供了眾多在計算機視覺、自然語言處理、推薦算法等領(lǐng)域的聯(lián)邦學(xué)習(xí)策略及應(yīng)用.同時PaddleFL還將提供橫向與縱向傳統(tǒng)機器學(xué)習(xí)方法的應(yīng)用策略,利用開源的FedAvg算法和基于差分隱私的隨機梯度下降(stochastic gradient descent, SGD)算法來實現(xiàn)保護隱私的分布式學(xué)習(xí),以對分散式的數(shù)據(jù)集進行模型訓(xùn)練.結(jié)合本身在大規(guī)模分布式訓(xùn)練的彈性調(diào)度能力,PaddleFL在聯(lián)邦學(xué)習(xí)領(lǐng)域有非常多的應(yīng)用場景.
5) OpenI縱橫.OpenI縱橫[38]是由微眾銀行、鵬城實驗室、香港人工智能與機器人協(xié)會以及星云Clustar等共同開發(fā)并應(yīng)用到OpenI啟智平臺的孤島數(shù)據(jù)聯(lián)邦解決方案.該方案主要關(guān)注在滿足用戶數(shù)據(jù)安全、法律合規(guī)條件下的多方數(shù)據(jù)使用和聯(lián)邦建模的問題.OpenI縱橫提供了豐富的一站式聯(lián)邦建模算法組件,可以執(zhí)行大多數(shù)聯(lián)邦建模任務(wù).
6) “蜂巢”聯(lián)邦學(xué)習(xí)平臺.該平臺由平安科技自主研發(fā),是一個完整的聯(lián)邦學(xué)習(xí)智能系統(tǒng),包括4個功能層級:“蜂巢”數(shù)據(jù)層、“蜂巢”聯(lián)邦層、“蜂巢”算法層以及“蜂巢”優(yōu)化層.依托平安集團在金融科技業(yè)務(wù)經(jīng)驗的優(yōu)勢,在金融領(lǐng)域做了大量的定向優(yōu)化工作,例如風(fēng)險控制和金融安全測試等.
7) Clara FL. Clara FL[39]是一款由英偉達公司開發(fā)的用于分布式協(xié)作聯(lián)邦學(xué)習(xí)訓(xùn)練的應(yīng)用程序,主要應(yīng)用于醫(yī)療領(lǐng)域,目的在于保護患者的隱私且實現(xiàn)聯(lián)邦訓(xùn)練.該應(yīng)用程序面向邊緣服務(wù)器并部署這些分布式客戶端系統(tǒng),可以實現(xiàn)本地深度學(xué)習(xí)訓(xùn)練,并協(xié)同訓(xùn)練出更為實用的全局模型.
8) Federated-averaging-tutorials[40].該項目是在TensorFlow框架上實現(xiàn)聯(lián)邦平均算法的一組開源教程,主要的目標是把隱私保護相關(guān)技術(shù)應(yīng)用在分布式機器學(xué)習(xí)算法上.Federated-averaging-tutorials使用Keras深度學(xué)習(xí)框架作為基礎(chǔ),并提供本地、分布式、聯(lián)邦平均3種方法來訓(xùn)練TensorFlow模型.
9) 華為聯(lián)邦學(xué)習(xí)平臺NAIE(network AI engine). NAIE[41]提供了一套自動化的聯(lián)邦學(xué)習(xí)服務(wù),實現(xiàn)了一鍵式從創(chuàng)建聯(lián)邦實例到管理邊緣節(jié)點的平臺服務(wù).用戶只要下載一個客戶端就可以輕松加入或退出聯(lián)邦學(xué)習(xí),且平臺對聯(lián)邦學(xué)習(xí)的整個過程實現(xiàn)了可視化的管理.華為NAIE以橫向聯(lián)邦為基礎(chǔ),內(nèi)置了眾多聯(lián)邦學(xué)習(xí)能力,包括聯(lián)邦匯聚、梯度分叉、多方計算和壓縮算法等能力.用戶可以通過創(chuàng)建聯(lián)邦實例來發(fā)起眾籌式訓(xùn)練,并能夠查看訓(xùn)練狀態(tài),享受共同訓(xùn)練的成果.華為NAIE聯(lián)邦學(xué)習(xí)平臺具有聯(lián)邦實例管理能力、邊緣節(jié)點管理能力和運行聯(lián)邦實例能力,后續(xù)還將對縱向聯(lián)邦學(xué)習(xí)提供支持.
我們在調(diào)研中發(fā)現(xiàn)設(shè)備與服務(wù)器之間的通信問題是影響聯(lián)邦學(xué)習(xí)效率的主要因素.移動邊緣網(wǎng)絡(luò)層與云服務(wù)器之間的距離較遠,而聯(lián)邦學(xué)習(xí)需要進行多輪訓(xùn)練,這帶來了較多的通信時間與成本.此外,在聯(lián)邦學(xué)習(xí)過程的3個步驟中,每個步驟都影響聯(lián)邦學(xué)習(xí)的訓(xùn)練效率.例如在初始化中,服務(wù)器需要選擇性能強大的移動設(shè)備參加訓(xùn)練,從而加快本地訓(xùn)練與上傳的速度;在聚合步驟中,需要控制聚合的頻率或內(nèi)容來提高模型聚合的收斂效果.因此,本節(jié)將從通信、訓(xùn)練以及由安全與隱私引起的效率優(yōu)化問題等方面展開描述聯(lián)邦學(xué)習(xí)目前存在的優(yōu)化問題.
傳統(tǒng)聯(lián)邦學(xué)習(xí)為2層結(jié)構(gòu),移動設(shè)備利用本地數(shù)據(jù)訓(xùn)練得到本地模型,通過廣域網(wǎng)將模型傳送到云端服務(wù)器.然而參與聯(lián)邦學(xué)習(xí)的設(shè)備數(shù)量成千上萬,甚至更多,設(shè)備與服務(wù)器之間的大量通信必然會占用過多的帶寬.同時,設(shè)備的信號與能量狀態(tài)也會影響與服務(wù)器的通信,導(dǎo)致網(wǎng)絡(luò)延遲,消耗更高的通信成本.因此為了提高訓(xùn)練的實時性,聯(lián)邦學(xué)習(xí)需要解決通信問題.
2.1.1 邊緣計算協(xié)調(diào)
參與聯(lián)邦學(xué)習(xí)的移動設(shè)備一般都具有高計算能力的處理芯片,能夠在短時間內(nèi)滿足本地訓(xùn)練的要求,所以模型的計算時間往往可忽略不計.然而,每個設(shè)備擁有的數(shù)據(jù)集大小以及分布情況不一致,需要通過多次聯(lián)邦訓(xùn)練才可能使模型收斂,這就導(dǎo)致聯(lián)邦學(xué)習(xí)的通信消耗遠大于計算消耗[31].傳統(tǒng)聯(lián)邦學(xué)習(xí)在高通信效率和高模型性能之間難以平衡,而邊緣計算提供了合適的解決方案.利用邊緣計算的優(yōu)勢,可以把更多的計算任務(wù)卸載到邊緣設(shè)備.在服務(wù)器全局聚合之前,在邊緣節(jié)點或者移動設(shè)備上增加本地訓(xùn)練迭代次數(shù)或更多的計算,使本地模型的精度更高,以減少聯(lián)邦學(xué)習(xí)的訓(xùn)練輪數(shù).此外,在訓(xùn)練優(yōu)化中使用更合理的模型聚合方式或更快速的模型收斂方法,也可以減少通信次數(shù).
2.1.2 模型傳輸消耗
聯(lián)邦學(xué)習(xí)大多是通過訓(xùn)練復(fù)雜的模型來實現(xiàn)最終的目的,一個復(fù)雜的模型可能包含上百萬個參數(shù)[42],在網(wǎng)絡(luò)中傳輸高維度的模型參數(shù)也會消耗更多的通信資源.為了減少分布式訓(xùn)練帶來的通信開銷,模型壓縮是一種解決方法[43].利用梯度量化和梯度稀疏化技術(shù),將帶有數(shù)百萬參數(shù)的模型轉(zhuǎn)化為一個簡單的、能保證訓(xùn)練質(zhì)量的模型.梯度量化通過將梯度向量的每個元素量化為有限位的低精度值來對梯度向量進行有損壓縮,而梯度稀疏化是通過選擇性地傳輸部分梯度向量來減少通信消耗[44].文獻[45]觀察到分布式梯度下降方法的參數(shù)優(yōu)化過程中存在99.9%的梯度交換是冗余的.基于這一觀察結(jié)果,文獻[45]的作者提出了深度梯度壓縮(deep gradient com-pression, DGC),并且在對CNN和RNN進行了大量實驗后,證明了模型梯度壓縮在效果上是可行的.
聯(lián)邦學(xué)習(xí)的本地訓(xùn)練與常規(guī)深度學(xué)習(xí)訓(xùn)練過程類似,而聯(lián)邦學(xué)習(xí)中存在的異構(gòu)計算資源、模型聚合以及數(shù)據(jù)質(zhì)量是影響其訓(xùn)練效率的關(guān)鍵.
2.2.1 移動設(shè)備異構(gòu)
聯(lián)邦學(xué)習(xí)協(xié)議[46]如圖9所示.在每一輪訓(xùn)練開始之前,都要選擇設(shè)備來加入聯(lián)邦訓(xùn)練.傳統(tǒng)方案中,服務(wù)器會隨機選擇一組設(shè)備作為參與者,把共享模型發(fā)送到這些設(shè)備進行訓(xùn)練,然后服務(wù)器需要收集這一輪所有設(shè)備的本地模型來更新全局模型[31].這意味著,聯(lián)邦學(xué)習(xí)整體的訓(xùn)練過程受到訓(xùn)練時間最長的設(shè)備的影響.
在包含無數(shù)設(shè)備的網(wǎng)絡(luò)中,每個設(shè)備的性能、網(wǎng)絡(luò)狀態(tài)和能量都不一樣,導(dǎo)致每個設(shè)備訓(xùn)練模型的時間也不一樣.同時,除了設(shè)備在硬件上的差異之外,每個用戶的使用情況也不一樣.例如有的用戶只有在連入了無線網(wǎng)絡(luò)的情況下才愿意接受聯(lián)邦訓(xùn)練[47].因此,為了解決這一問題,相關(guān)研究者已經(jīng)研究出新的聯(lián)邦學(xué)習(xí)參與者選擇協(xié)議,在聯(lián)邦學(xué)習(xí)初始化時,評估每個設(shè)備的資源狀態(tài),通過解決參與設(shè)備的資源約束問題來減少本地訓(xùn)練的時間,從而提高聯(lián)邦學(xué)習(xí)訓(xùn)練的效率.
Fig. 9 Communication protocol of federated learning[46]圖9 聯(lián)邦學(xué)習(xí)通信協(xié)議[46]
2.2.2 服務(wù)器聚合頻率
在邊緣計算環(huán)境下實現(xiàn)分布式地訓(xùn)練深度學(xué)習(xí)模型,通常都是采用先局部后集中的方法.聯(lián)邦學(xué)習(xí)訓(xùn)練過程中本地模型訓(xùn)練完成后,這些模型參數(shù)就被傳遞到聯(lián)邦學(xué)習(xí)服務(wù)器進行聚合.在這種情況下,服務(wù)器如何控制模型的聚合更新,顯然會影響聯(lián)邦學(xué)習(xí)的訓(xùn)練效率.聚合控制的過程包括聚合的內(nèi)容(即本地模型參數(shù))和聚合的頻率.圖9中處理全局聚合的傳統(tǒng)方法是同步方法,即聚合操作在固定的時間間隔進行,模型的訓(xùn)練受到最壞設(shè)備的約束.
另一種選擇性聚合可以控制聯(lián)邦學(xué)習(xí)服務(wù)器聚合的內(nèi)容.大量的設(shè)備在不安全的邊緣網(wǎng)絡(luò)中訓(xùn)練模型,模型參數(shù)冗余或遭到惡意篡改的可能性很大[48],這些不可用的模型參數(shù)會大大降低全局模型的準確率.因此,盡可能聚合正確的本地模型可以大大提高聯(lián)邦學(xué)習(xí)的訓(xùn)練效率.
2.2.3 數(shù)據(jù)質(zhì)量
在聯(lián)邦學(xué)習(xí)過程中,移動設(shè)備上數(shù)據(jù)集的非獨立同分布(non-independent and identically distributed, non-IID)問題是影響聯(lián)邦學(xué)習(xí)訓(xùn)練效果的重要因素.同分布性意味著數(shù)據(jù)沒有總體趨勢,分布不會波動,樣本中的所有數(shù)據(jù)都取自同一概率分布.獨立性意味著樣本都是獨立的事件,沒有任何關(guān)聯(lián).傳統(tǒng)的分布式深度學(xué)習(xí),云服務(wù)器將收集到的數(shù)據(jù)集劃分為若干個子數(shù)據(jù)集,這些子數(shù)據(jù)集被發(fā)送到各個分布式節(jié)點進行訓(xùn)練.這樣,即使是較小的數(shù)據(jù)集,同樣能代表總體分布,訓(xùn)練出的模型在準確率上沒有差別.然而,這種方式不符合聯(lián)邦學(xué)習(xí),并且假設(shè)每個移動設(shè)備上的本地數(shù)據(jù)符合獨立同分布(independent and identically distributed, IID)原則也是不現(xiàn)實的.具體來說,有2個原因:
1) 違背獨立性原則.如果設(shè)備上的數(shù)據(jù)生成或收集不夠隨機.例如,數(shù)據(jù)是按時間排序的,則違背了獨立性原則.此外,同一地理位置內(nèi)設(shè)備的數(shù)據(jù)可能具有一定程度的關(guān)聯(lián),同樣違背了獨立性原則.
2) 違背同分布性原則.由于移動設(shè)備與特定地理區(qū)域相關(guān)聯(lián),標簽的分布因分區(qū)而異.此外,由于設(shè)備存儲能力的不同,本地數(shù)據(jù)量也不同,所以違背了同分布性原則.因此,聯(lián)邦學(xué)習(xí)中的數(shù)據(jù)集屬于non-IID.
文獻[31]提出FedAvg算法以緩解non-IID數(shù)據(jù)帶來的影響.但隨著技術(shù)研究的深入,該算法并不完全適用.因此,為了提高聯(lián)邦學(xué)習(xí)的學(xué)習(xí)效率以及收斂速度,解決移動設(shè)備上數(shù)據(jù)的non-IID問題是非常關(guān)鍵的.
2.2.4 模型收斂
通常來說,如果模型具有較快的收斂速率,則在聯(lián)邦學(xué)習(xí)過程中可以節(jié)省參與設(shè)備訓(xùn)練所需的時間和資源消耗,能夠極大地提高聯(lián)邦學(xué)習(xí)的效率.以一個簡單的神經(jīng)網(wǎng)絡(luò)模型fθ(x)的優(yōu)化為例,訓(xùn)練的過程就是找到一個最優(yōu)的模型參數(shù)使得模型預(yù)測值與樣本標簽真實值之間的損失最小,此時模型達到收斂.用數(shù)學(xué)表達式表示為:
(1)
其中,θ為神經(jīng)網(wǎng)絡(luò)模型的權(quán)重參數(shù),為損失函數(shù),(xi,yi)為n個樣本中的第i個樣本.
(2)
由于GD每次都要對所有樣本計算梯度,造成了冗余計算.因此,隨機梯度下降(stochastic gradient descent, SGD)通過隨機選擇樣本進行梯度計算從而提高計算效率.SGD的優(yōu)化目標通過式(1)可得到式(3):
(3)
其中,B為樣本批量的數(shù)量.同樣地,在第t次的訓(xùn)練中隨機選擇第i個樣本批量來計算梯度,而無須計算所有的樣本,SGD的數(shù)學(xué)表達式為
(4)
然而,SGD方法可能在優(yōu)化過程中產(chǎn)生左右振蕩的情況.為了加快模型的收斂速率,文獻[49]提出通過考慮更多先前的迭代來提高GD的收斂速度.因此,考慮了動量梯度下降法(momentum gradient descent, MGD)以加速模型收斂[50].具體來說,MGD像傳統(tǒng)GD一樣計算梯度,但是不直接用計算出的梯度進行參數(shù)更新,而是賦予當前梯度一個權(quán)值,并綜合考慮之前的梯度得到一個加權(quán)的平均值,再進行參數(shù)更新.MGD在第t+1次的參數(shù)更新為:
(5)
θt+1=θt-ηtd(t+1),
(6)
其中,d(t)是動量項,γ是衰減因子.由于基于動量的梯度方法能改進模型的收斂速率,在分布式機器學(xué)習(xí)領(lǐng)域中有一些將動量項應(yīng)用于SGD優(yōu)化的工作.例如在文獻[51]中,動量應(yīng)用于每個聚合回合的更新,以改善優(yōu)化和泛化.在文獻[52]中,證明了帶有動量的分布式SGD的線性收斂性.
文獻[53]提出了一種新的動量聯(lián)邦學(xué)習(xí)(mom-entum federated learning, MFL).該文作者在聯(lián)邦學(xué)習(xí)的本地更新中引入動量項,并利用MGD執(zhí)行本地迭代.理論證明了所提出的MFL的全局收斂性,并推導(dǎo)了MFL的收斂邊界.與傳統(tǒng)聯(lián)邦學(xué)習(xí)相比,提出的MFL具有更快的模型收斂速度.
聯(lián)邦學(xué)習(xí)不同于傳統(tǒng)深度學(xué)習(xí),由于設(shè)備上的數(shù)據(jù)屬于non-IID,導(dǎo)致本地模型訓(xùn)練的質(zhì)量不一致,在驗證集上的損失可能超出估計值,這也是影響聯(lián)邦學(xué)習(xí)模型收斂的主要因素.文獻[54]提出了可以自適應(yīng)調(diào)整的FedProx算法,它對損失函數(shù)進行了修改,包括一個可調(diào)節(jié)的參數(shù),該參數(shù)限制了本地更新對初始模型參數(shù)的影響程度.當訓(xùn)練損失增加時,可以調(diào)整模型更新以減小對當前參數(shù)的影響.
同樣地,文獻[55]提出的LoAdaBoost FedAvg算法,在參與設(shè)備訓(xùn)練完本地模型后,將交叉損耗與前一輪訓(xùn)練的中值損耗進行比較.如果損失較大,則在聚合之前對本地模型再次進行訓(xùn)練,以提高學(xué)習(xí)效率.實驗證明該算法具有較快的收斂速度.更多優(yōu)化聯(lián)邦學(xué)習(xí)non-IID問題的解決方案在3.2節(jié)中進行詳細的討論.
與集中式學(xué)習(xí)相比,聯(lián)邦學(xué)習(xí)的環(huán)境不可控,來自惡意設(shè)備的攻擊成為主要的隱患.研究表明,惡意的攻擊者仍可以根據(jù)其他參與者的共享模型來推斷用戶相關(guān)的隱私信息(例如生成式對抗網(wǎng)絡(luò)攻擊、模型反演攻擊等),并且精度高達90%[56-57].這種攻擊也可以成功地從各種訓(xùn)練模型中提取模型信息[58].此外,聯(lián)邦學(xué)習(xí)中也存在許多安全威脅,例如中毒攻擊,這也會導(dǎo)致聯(lián)邦學(xué)習(xí)的訓(xùn)練效率瓶頸.聯(lián)邦學(xué)習(xí)中的中毒攻擊可分為2類:
1) 數(shù)據(jù)中毒.在聯(lián)邦學(xué)習(xí)中,設(shè)備使用本地數(shù)據(jù)進行模型訓(xùn)練,并將訓(xùn)練后的模型發(fā)送到服務(wù)器以進行進一步處理.在這種情況下,服務(wù)器難以確定每個設(shè)備的本地數(shù)據(jù)是否真實.因此,惡意參與者可以通過創(chuàng)建臟標簽數(shù)據(jù)來訓(xùn)練模型,以產(chǎn)生錯誤的參數(shù),降低全局模型的準確性.文獻[59]研究了聯(lián)邦學(xué)習(xí)中的基于標簽反轉(zhuǎn)的數(shù)據(jù)中毒攻擊,攻擊者使用與其他參與者相同的損失函數(shù)和超參數(shù)訓(xùn)練的本地模型,利用標簽反轉(zhuǎn)污染數(shù)據(jù)集.實驗表明攻擊成功率、效率隨中毒樣本和攻擊者數(shù)量呈線性增加.
2) 模型參數(shù)中毒.另一種比數(shù)據(jù)中毒更為有效的攻擊是模型中毒攻擊[60].對于模型中毒攻擊,攻擊者可以直接修改模型的參數(shù),該模型直接發(fā)送到服務(wù)器以進行聚合.相比數(shù)據(jù)中毒,即使只有一個模型中毒攻擊者,也能迅速降低全局模型的精度.
安全與隱私問題除了破壞模型的訓(xùn)練精度,更嚴重的是導(dǎo)致用戶不再信任聯(lián)邦學(xué)習(xí)服務(wù)器,用戶將不愿意參與共同訓(xùn)練,而過低的設(shè)備參與率導(dǎo)致全局模型的性能低下,甚至造成模型收斂的瓶頸.為了提高模型訓(xùn)練的效率與精度,需要結(jié)合相關(guān)隱私與安全機制,解決針對聯(lián)邦學(xué)習(xí)環(huán)境的安全與隱私問題,提高模型的穩(wěn)定性與用戶的參與度,為高效的聯(lián)邦學(xué)習(xí)提供可靠環(huán)境.
第2節(jié)討論了當前聯(lián)邦學(xué)習(xí)存在的優(yōu)化問題,本節(jié)將詳細介紹與分析目前針對聯(lián)邦學(xué)習(xí)效率優(yōu)化的相關(guān)研究與技術(shù)方案.通信效率的研究主要為解決在基于云或基于邊緣的環(huán)境中實現(xiàn)聯(lián)邦學(xué)習(xí)帶來的通信時間與負載的問題.而訓(xùn)練優(yōu)化是對聯(lián)邦學(xué)習(xí)訓(xùn)練的每個步驟進行優(yōu)化,包括參與設(shè)備選擇與協(xié)調(diào)、模型聚合控制.此外,還針對數(shù)據(jù)質(zhì)量問題,總結(jié)了聯(lián)邦學(xué)習(xí)收斂優(yōu)化等相關(guān)的研究方案.最后列舉了通過保護聯(lián)邦學(xué)習(xí)安全與隱私從而提高模型性能的方案.
3.1.1 增加邊緣端的計算
為了減少由多輪通信帶來的通信消耗,文獻[31]提出2種方法來增加設(shè)備上的計算量:1)增加任務(wù)的并行性,通過在每一輪選擇更多的設(shè)備參與聯(lián)邦訓(xùn)練來減少訓(xùn)練的輪數(shù);2)增加設(shè)備的計算,即在全局聚合更新之前,在每個設(shè)備上執(zhí)行更多的訓(xùn)練任務(wù).因此,文獻[31]的作者提出了一種基于平均迭代模型的深度神經(jīng)網(wǎng)絡(luò)聯(lián)邦學(xué)習(xí)的FedAvg算法,考慮了不同的模型體系結(jié)構(gòu)和數(shù)據(jù)集,進行了廣泛的實驗評估.根據(jù)聯(lián)邦學(xué)習(xí)的規(guī)則,每輪隨機選擇的設(shè)備訓(xùn)練出來的本地模型精度都不相同,F(xiàn)edAvg算法對這些模型參數(shù)進行平均操作.具體來說,文獻[31]的作者定義了聯(lián)邦學(xué)習(xí)的優(yōu)化問題,將式(1)的深度學(xué)習(xí)優(yōu)化問題改寫為
(7)
(8)
其中,f(w)為損失函數(shù),w為模型參數(shù),K代表參加訓(xùn)練的設(shè)備數(shù)量,數(shù)據(jù)樣本總量為D,pk代表設(shè)備k擁有的數(shù)據(jù)集,其大小為Dk=|pk|.該文作者首先分析了目前主流的SGD優(yōu)化方法,并將其直接應(yīng)用于聯(lián)邦學(xué)習(xí),即每一輪訓(xùn)練在設(shè)備上進行一次梯度計算,對于每個設(shè)備k有
(9)
(10)
其中,t表示當前聯(lián)邦學(xué)習(xí)的訓(xùn)練輪數(shù).傳統(tǒng)SGD的計算效率雖然很高,但是需要進行大量的訓(xùn)練輪數(shù)才能得到好的模型.為了讓每個設(shè)備執(zhí)行更多的計算以減少通信,F(xiàn)edAvg算法將本地的一次梯度計算改進為多次,即設(shè)備進行多次本地訓(xùn)練:
(11)
此外,算法還設(shè)置了超參數(shù)C,E,B.其中C表示每一輪選擇設(shè)備的比例;E表示設(shè)備上本地迭代的次數(shù);B表示設(shè)備訓(xùn)練的本地數(shù)據(jù)批量大小.通過調(diào)整這些超參數(shù)的值來增加設(shè)備端的計算量,從而使本地模型的精度更高.本地訓(xùn)練之后,對所有的本地模型進行平均得到更新后的全局模型,并將其作為新的初始模型發(fā)送給下一輪訓(xùn)練的設(shè)備,算法1完整地表示了FedAvg的細節(jié).根據(jù)仿真實驗結(jié)果,F(xiàn)edAvg算法的通信輪數(shù)減少到SGD算法的1/30,也證明了當模型精度達到一定的閾值時,增加計算量并不會帶來額外的通信消耗.
算法1.FedAvg.
輸入:設(shè)備數(shù)量K和選擇比例C、本地數(shù)據(jù)批量大小B、本地迭代次數(shù)E、學(xué)習(xí)率η;
輸出:模型參數(shù)w.
服務(wù)器端:
① 初始化全局模型w0;
② 確定需要選擇設(shè)備的數(shù)量m←max(C×K,1);
③ 服務(wù)器隨機選擇m個設(shè)備并下發(fā)全局模型;
⑤ 利用式(10)全局聚合;
⑥ 重復(fù)②~⑤直到模型w收斂,其中t為輪數(shù).
設(shè)備端(k,w):
① 將本地數(shù)據(jù)集pk劃分為大小為B的樣本批量;
② 對于B中的樣本用式(11)進行權(quán)值更新;
③ 重復(fù)E次步驟②;
④ 將訓(xùn)練好的本地模型w發(fā)送到服務(wù)器端.
Fig. 10 AlexNet model based on two-stream federated learning[61]圖10 基于雙流聯(lián)邦學(xué)習(xí)的AlexNet模型[61]
雖然FedAvg算法已經(jīng)廣泛用于聯(lián)邦學(xué)習(xí)的研究,但是在non-IID數(shù)據(jù)集上的效果不明顯,會帶來更多的訓(xùn)練輪數(shù)與通信消耗.文獻[61]基于文獻[31]的思想,為了增加每個參與設(shè)備的計算量,提出了帶有最大平均偏差(maximum mean discrepancy, MMD)的雙流聯(lián)邦學(xué)習(xí)模型.MMD用來測量數(shù)據(jù)分布均值之間的距離.例如,給定數(shù)據(jù)分布ρ1和ρ2,則MMD可用數(shù)學(xué)表達式表示為
ZMMD(ρ1,ρ2)(E[φ(ρ1)]-E[φ(ρ2)])2,
(12)
其中,φ(·)表示映射到再生核希爾伯特空間.
文獻[61]的作者認為全局模型包含來自多個設(shè)備的信息,有利于本地模型的訓(xùn)練.如圖10所示,雙流聯(lián)邦學(xué)習(xí)算法與傳統(tǒng)FedAvg對比,可以使參與設(shè)備在每一輪的本地訓(xùn)練中保留全局模型作為參考,除了訓(xùn)練本地數(shù)據(jù)之外,還參考全局模型從其他設(shè)備中學(xué)習(xí).具體來說,雙流模型在本地訓(xùn)練中,通過最小化全局模型與本地模型之間的損失來保證設(shè)備學(xué)習(xí)到其他設(shè)備數(shù)據(jù)之外的特征,從而加快模型收斂的進程,減少通信的輪數(shù),計算公式為:
(wk|w,Xk,Yk)=cls+MMD,
(13)
(14)
MMD=λZMMD(w(Xk),wk(Xk)),
(15)
其中,X,Y分別表示樣本(xi,yi)的數(shù)據(jù)與標簽,表示全局模型與本地模型之間的損失,J為模型分類損失,λ為系數(shù).在實驗中,文獻[61]的作者使用CNN模型在CIFAR-10和MNIST數(shù)據(jù)集上進行了評估.結(jié)果表明,即使參與設(shè)備上的數(shù)據(jù)是non-IID形式的,提出的雙流模型算法也可以在少于20%的通信輪數(shù)的情況下,使聯(lián)邦學(xué)習(xí)的全局模型達到理想的精度,優(yōu)于傳統(tǒng)的方案.
目前,聯(lián)邦學(xué)習(xí)的方案大多數(shù)是基于服務(wù)器與設(shè)備之間的2層結(jié)構(gòu).長距離的通信與交流顯然會帶來更多的通信成本,將服務(wù)部署在邊緣服務(wù)器成為一種解決方案.例如,文獻[62]將深度強化學(xué)習(xí)技術(shù)和聯(lián)邦學(xué)習(xí)框架與移動邊緣系統(tǒng)相結(jié)合,以對MEC、緩存和通信進行優(yōu)化.為了更好地利用設(shè)備和邊緣節(jié)點之間的協(xié)作交流,加快模型訓(xùn)練和模型推理,文獻[62]的作者設(shè)計了一個“In-Edge-AI”框架,從而實現(xiàn)動態(tài)的優(yōu)化和增強效果,同時減少不必要的系統(tǒng)通信負載.此框架通過深度強化學(xué)習(xí)來共同管理與優(yōu)化邊緣通信和計算資源,并通過聯(lián)邦學(xué)習(xí)來分布式地訓(xùn)練深度強化學(xué)習(xí)代理.
文獻[63]的作者認為,聯(lián)邦學(xué)習(xí)反復(fù)地訓(xùn)練會帶來巨大的通信延遲,同樣基于邊緣智能的理念,引入了MEC平臺作為聯(lián)邦學(xué)習(xí)的中間層.該文作者提出了一種分層的聯(lián)邦學(xué)習(xí)架構(gòu)用來減少用戶和云之間的通信輪數(shù).此外,還提出了HierFAVG分層聯(lián)邦學(xué)習(xí)平均算法.該算法與FedAvg相比,利用邊緣層節(jié)點的計算能力,在聯(lián)邦學(xué)習(xí)服務(wù)器全局聚合前,使邊緣服務(wù)器聚合多個設(shè)備的本地模型,以減少設(shè)備的通信連接次數(shù).文獻[63]的作者對比了基于云和基于邊緣的聯(lián)邦學(xué)習(xí)框架,如圖11所示.基于云的聯(lián)邦學(xué)習(xí)服務(wù)器需要與每個設(shè)備進行遠程通信連接,并且頻繁的通信連接會消耗大量的網(wǎng)絡(luò)帶寬資源.而完全基于邊緣服務(wù)器的聯(lián)邦學(xué)習(xí)雖然通信距離縮短了,但邊緣服務(wù)器的計算性能不如強大的云服務(wù)器,在計算時延上有所妥協(xié).可以看出基于邊緣的分層聯(lián)邦學(xué)習(xí)與云服務(wù)器的通信連接次數(shù)更少,并且保留云服務(wù)器的計算資源,在減少與云通信的同時,系統(tǒng)的計算性能也得到了保障.仿真結(jié)果表明,HierFAVG算法利用更多邊緣服務(wù)器進行邊緣聚合,比傳統(tǒng)FedAvg算法在云中統(tǒng)一聚合方案的通信開銷更少,但是應(yīng)用在non-IID數(shù)據(jù)上,模型還達不到期望的效果.
Fig. 11 Cloud-based versus edge-based federated learning[63]圖11 基于云與基于邊緣的聯(lián)邦學(xué)習(xí)框架對比[63]
3.1.2 模型壓縮
為了解決傳輸復(fù)雜模型帶來的過多通信消耗,文獻[64]在FedAvg算法的基礎(chǔ)上進行了調(diào)整,結(jié)合分布式的Adam優(yōu)化形式和新型壓縮技術(shù),提出了基于通信效率的CE-FedAvg算法.該文作者通過結(jié)合均勻量化和指數(shù)量化2種方法來減少每輪訓(xùn)練上傳的總數(shù)據(jù)量與通信的次數(shù),并且對不同數(shù)量的設(shè)備設(shè)置IID數(shù)據(jù)與non-IID數(shù)據(jù),通過大量實驗測試了設(shè)備的參與率和壓縮率.結(jié)果表明,當模型收斂時,CE-FedAvg的通信輪數(shù)僅為FedAvg的通信輪數(shù)的1/6.CE-FedAvg的優(yōu)勢在于能夠以更少的通信輪次來使模型達到收斂,同時壓縮了上傳的數(shù)據(jù),大大減少了通信損耗.此優(yōu)化方案在FedAvg算法的基礎(chǔ)上加入了壓縮與量化的思想,從而減少聯(lián)邦學(xué)習(xí)傳輸過程中的通信消耗.
文獻[65]提出了一種將模型剪枝與聯(lián)邦學(xué)習(xí)相結(jié)合的方法,目的就是壓縮模型的大小來降低傳輸時的通信成本.剪枝包括在服務(wù)器上對初始模型剪枝和在設(shè)備上對本地模型的剪枝,其他部分與傳統(tǒng)的聯(lián)邦學(xué)習(xí)過程保持一致.模型剪枝[66]就是刪除一定剪枝率的最小絕對值權(quán)值,當模型訓(xùn)練和剪枝同時反復(fù)進行后,最終會得到一個小尺寸的模型.
如圖12所示,在服務(wù)器上對初始模型剪枝后,根據(jù)聯(lián)邦剪枝需要,進一步再對聚合后的全局模型進行剪枝以刪除小幅度的權(quán)重值,直到模型的大小達到所需的修剪水平.文獻[65]的作者通過復(fù)雜性分析和大量的模擬與真實實驗,證明了該方法可以大大降低通信和計算的負載.該文作者還討論了在各種條件下模型剪枝的效果,例如在不同類型的優(yōu)化方法上對聯(lián)邦學(xué)習(xí)模型剪枝的影響.
Fig. 12 Model pruning圖12 剪枝模型
文獻[47]為了降低聯(lián)邦學(xué)習(xí)上行鏈路的通信消耗,基于模型壓縮的思想提出了結(jié)構(gòu)化更新和概略化更新2種方法.結(jié)構(gòu)化更新的目的是使本地模型在具有較少變量的有限空間結(jié)構(gòu)(例如低秩或隨機掩碼)上進行更新與訓(xùn)練;概略化更新指的是在與服務(wù)器通信之前,結(jié)合量化、隨機旋轉(zhuǎn)與子采樣等壓縮形式對模型進行編碼,然后在服務(wù)器聚合之前對模型解碼的方法.實驗結(jié)果表明,結(jié)構(gòu)化與概略化更新可以將通信成本降低2個數(shù)量級.同時,在損失一定精度的條件下,可以實現(xiàn)更高的壓縮率和更快的收斂速度.
文獻[67]認為設(shè)備和云服務(wù)器之間的梯度和參數(shù)同步是影響通信成本的重要因素.因此,該文作者提出了一種基于邊緣隨機梯度下降(edge stochastic gradient descent, eSGD)的方法,以擴大CNN的邊緣訓(xùn)練.eSGD是一組具有收斂性和實際性能保證的稀疏方案.首先,eSGD確定哪些梯度坐標是重要的,并且只將重要的梯度坐標傳輸給云進行同步.這個重要的更新可以大大降低通信成本.其次,使用動量殘差累積來跟蹤過期的殘差梯度坐標,以避免稀疏更新導(dǎo)致的低收斂速度.實驗表明,在梯度下降比分別為50%,75%,87.5%的時候,該算法在MNIST數(shù)據(jù)集上訓(xùn)練的準確率分別為91.2%,86.7%,81.5%.該方案利用了梯度稀疏化等技術(shù),減少了邊緣到云傳輸?shù)臄?shù)據(jù)量,從而減小通信消耗.
文獻[68]提出了2種技術(shù)來減少聯(lián)邦學(xué)習(xí)中的通信開銷.一種是在服務(wù)器到設(shè)備之間的通信中使用有損壓縮技術(shù);另一種是使用聯(lián)邦Dropout技術(shù),即向每個設(shè)備傳遞全局模型的子模型.在有損壓縮過程中,首先將模型中每個要壓縮的權(quán)值矩陣重構(gòu)成向量形式,然后進行基礎(chǔ)變換、子采樣和量化操作.此時的模型大小已經(jīng)比原始模型小,為進一步減少通信消耗,該文作者通過聯(lián)邦Dropout在模型的全連接層將固定數(shù)量的激活向量丟棄,從而得到一個簡化的子模型.如圖13所示,具體過程為:①通過聯(lián)邦Dropout構(gòu)造子模型;②有損壓縮結(jié)果對象,壓縮了要進行通信的模型大?。虎蹖⑦@個壓縮模型發(fā)送給設(shè)備,設(shè)備使用本地數(shù)據(jù)對其進行解壓和訓(xùn)練;④壓縮最后的更新;⑤這個更新被發(fā)送回服務(wù)器進行解壓;⑥聚合到全局模型中.文獻[68]的作者在常用的數(shù)據(jù)集上進行了大量的對比實驗,結(jié)果表明在不影響模型質(zhì)量的情況下,該通信策略大大減少了服務(wù)器到設(shè)備的通信,節(jié)約了本地計算資源以及模型上傳時產(chǎn)生的通信延遲.
Fig. 13 A compression process that combines two technologies[68]圖13 結(jié)合2種技術(shù)的壓縮過程[68]
現(xiàn)有的壓縮技術(shù)多數(shù)只有在理想條件下表現(xiàn)良好,例如設(shè)備上數(shù)據(jù)的分布是均衡的,對于non-IID數(shù)據(jù)的模型收斂性不能保證.為了解決基于模型壓縮的通信友好但收斂效果差的問題,文獻[69]的作者通過對比實驗,發(fā)現(xiàn)在現(xiàn)有的壓縮算法中,top-k稀疏化算法對于聯(lián)邦學(xué)習(xí)模型的收斂影響最小,因此提出了一種新的壓縮框架——稀疏三元壓縮(sparse ternary compression, STC).STC擴展了現(xiàn)有的top-k梯度稀疏化壓縮技術(shù),并提供了一種新的機制,實現(xiàn)對權(quán)值更新的分層與最優(yōu)格倫布編碼[70].實驗表明,STC的性能明顯優(yōu)于FedAvg算法,STC方案下的聯(lián)邦學(xué)習(xí)在訓(xùn)練迭代次數(shù)和通信比特數(shù)方面的收斂速度都快于FedAvg.因此,該方案適用于設(shè)備與服務(wù)器之間低延遲和低帶寬的聯(lián)邦學(xué)習(xí)環(huán)境.
3.1.3 歸納總結(jié)
本節(jié)主要從增加端設(shè)備的計算量、模型壓縮2種策略來討論降低聯(lián)邦學(xué)習(xí)的通信消耗的方案,在表3中總結(jié)了這些方法.
聯(lián)邦學(xué)習(xí)把訓(xùn)練任務(wù)分散到每個移動設(shè)備上,服務(wù)器與設(shè)備之間的通信消耗是影響訓(xùn)練的首要因素.研究者通過云端協(xié)作與云邊端協(xié)作的方式,結(jié)合MEC等邊緣計算平臺,將更多的計算卸載到邊緣或設(shè)備端,以減少訓(xùn)練輪數(shù).從表3中可以看出,目前通信優(yōu)化的方案大部分是基于云端2層結(jié)構(gòu)的協(xié)作,然而,云服務(wù)器與移動設(shè)備的距離較遠,當參加訓(xùn)練的設(shè)備數(shù)量很大時,帶寬的限制與通信延遲仍是一大挑戰(zhàn).
此外,丟棄部分冗余的梯度或壓縮模型也是降低通信時延和負載的方法.然而,許多通過壓縮技術(shù)來降低通信消耗的方案會帶來其他方面的不利影響,例如模型剪枝可以丟棄不必要的數(shù)據(jù)以達到減少傳輸量的目的,但是,這些數(shù)據(jù)或多或少都與模型的收斂相關(guān),模型的精度在一定程度上會受到影響.表3的方案還存在一些不足,大部分支持通信效率的研究方案在面對分布式機器學(xué)習(xí)帶來的數(shù)據(jù)質(zhì)量問題時并不能很好地適用,只是在數(shù)據(jù)分布理想的狀態(tài)下保證了通信的效率和模型的收斂.因此,設(shè)計權(quán)衡通信消耗與模型收斂的算法來提高聯(lián)邦學(xué)習(xí)整體的效率仍然是重要的研究點.
Table 3 Summary and Comparison of Researches on Federated Learning Communication Optimization表3 聯(lián)邦學(xué)習(xí)通信優(yōu)化研究方案的總結(jié)與對比
3.2.1 設(shè)備選擇
在文獻[31]中,為了使聯(lián)邦學(xué)習(xí)訓(xùn)練效果達到最佳,該文作者提出最大化選擇參與設(shè)備的方法.但是,文獻[71]的作者認為在某些設(shè)備計算資源有限或無線信道條件差的情況下,會導(dǎo)致聯(lián)邦學(xué)習(xí)需要更長的訓(xùn)練時間和上傳時間.因此,為了解決這個問題,文獻[71]的作者提出一種新的聯(lián)邦學(xué)習(xí)協(xié)議,稱之為FedCS.該協(xié)議基于MEC框架,根據(jù)設(shè)備的資源狀況動態(tài)地選擇設(shè)備參與并有效地執(zhí)行聯(lián)邦學(xué)習(xí).FedCS協(xié)議解決了帶有資源約束的設(shè)備選擇的問題,允許服務(wù)器盡可能多地聚合來自設(shè)備的模型更新.
Fig. 14 Protocol of FedCS[71]圖14 FedCS協(xié)議[71]
?i
(16)
(17)
(18)
(19)
則認為該設(shè)備集S中存在資源受約束的設(shè)備,需要重新通過計算來選擇一組更好的設(shè)備.
文獻[71]的作者在MEC環(huán)境中使用ClFAR-10圖像數(shù)據(jù)集進行了實驗評估,實驗結(jié)果表明,與傳統(tǒng)的聯(lián)邦學(xué)習(xí)協(xié)議相比,F(xiàn)edCS協(xié)議通過對具有不同約束的設(shè)備進行選擇,使聯(lián)邦學(xué)習(xí)能夠在預(yù)期的時間內(nèi)完成訓(xùn)練過程.然而,F(xiàn)edCS僅在簡單的模型上進行了測試.當擴展到更復(fù)雜的模型上或者面對數(shù)量龐大的設(shè)備集時,不斷計算設(shè)備的時間會帶來額外的負載與計算時延,并且FedCS協(xié)議不關(guān)注模型聚合的精度,對于數(shù)據(jù)non-IID問題不能完全適用.
在此基礎(chǔ)上,文獻[72]提出一種基于多標準的聯(lián)邦學(xué)習(xí)設(shè)備選擇方法,并預(yù)測設(shè)備是否能夠執(zhí)行聯(lián)邦學(xué)習(xí)任務(wù).特別是在每一輪中,該選擇算法中的設(shè)備數(shù)量都最大化,同時考慮到每個設(shè)備的資源及其完成訓(xùn)練和發(fā)送所需更新的能力.
文獻[73]假設(shè)一些設(shè)備是可用的,而另一些設(shè)備為脫機或超出通信范圍.基于這個假設(shè)提出一個啟發(fā)式算法,在保證模型的測試精度的前提下選擇最佳的設(shè)備參加訓(xùn)練,從而解決了當設(shè)備達到預(yù)算的目標數(shù)量時優(yōu)化模型準確性的問題.文獻[74]為長期處在能量約束下的聯(lián)邦學(xué)習(xí)設(shè)備選擇和帶寬分配制定了一個隨機優(yōu)化問題,并設(shè)計了一種僅利用當前可用無線信道信息但可以實現(xiàn)長期性能保證的算法.文獻[75]從最小模型交換時間的角度研究聯(lián)邦學(xué)習(xí)中的設(shè)備選擇方案,并使用動態(tài)隊列量化設(shè)備的參與率.
3.2.2 資源協(xié)調(diào)
一般情況下,移動邊緣網(wǎng)絡(luò)環(huán)境是動態(tài)的、不確定的,設(shè)備所擁有的資源時刻都在變化,例如無線網(wǎng)絡(luò)和能量等條件都會影響聯(lián)邦學(xué)習(xí)的訓(xùn)練.為此,文獻[76]考慮了基于移動群體機器學(xué)習(xí)(mobile crowd-machine learning, MCML)的聯(lián)邦學(xué)習(xí)模型.同樣地,MCML使邊緣網(wǎng)絡(luò)中的移動設(shè)備能夠協(xié)同訓(xùn)練服務(wù)器所需的DNN模型,同時將數(shù)據(jù)保存在移動設(shè)備上,解決了傳統(tǒng)機器學(xué)習(xí)的數(shù)據(jù)隱私問題.為了解決動態(tài)網(wǎng)絡(luò)環(huán)境中資源的限制,同時將能耗、時間和通信的成本最小化,服務(wù)器需要確定設(shè)備用于訓(xùn)練的適當數(shù)據(jù)量和能量.為此,文獻[76]的作者采用基于雙深度Q-Network[77]的算法,允許服務(wù)器在不具備任何網(wǎng)絡(luò)動態(tài)先驗知識的情況下學(xué)習(xí)并找到最優(yōu)決策.具體來說,為了使聯(lián)邦學(xué)習(xí)長期累積的回報最大化,服務(wù)器在給定狀態(tài)s的情況下確定最優(yōu)的決策a.基于Q-learning構(gòu)造了一個最優(yōu)策略的狀態(tài)-動作查詢表Q(s,a),并通過以下方式進行更新:
Qnew(s,a)=(1-η)Q(s,a)+η(r(s,a)+γmaxQ(s′,a′)),
(20)
(21)
其中,γ是衰減因子,r(s,a)是回報函數(shù),G,H,I分別代表累積的數(shù)據(jù)、訓(xùn)練延遲與能量消耗,α是比例因子.根據(jù)查詢表,服務(wù)器可以從任何狀態(tài)找到對應(yīng)的最佳決策,使整個系統(tǒng)的能耗與成本最低.然而,Q-learning受到服務(wù)器的大規(guī)模狀態(tài)和動作空間的困擾,為此采用深度Q-learning為服務(wù)器找到最優(yōu)策略.實驗結(jié)果表明,該算法在能量消耗和訓(xùn)練延遲方面均優(yōu)于靜態(tài)算法;與貪婪算法相比,該方案能減少31%左右的能量消耗;與隨機方案相比,訓(xùn)練延遲減少55%左右,大大提高了聯(lián)邦學(xué)習(xí)的效率.
文獻[78]的作者認為,現(xiàn)有的聯(lián)邦訓(xùn)練和推理結(jié)果可能會偏向個別設(shè)備,即本地訓(xùn)練中模型損失最高的設(shè)備將會主導(dǎo)整個全局模型的損失,意味著在進行模型推理時不利于其他設(shè)備.因此,提出了一個不可知的聯(lián)邦學(xué)習(xí)框架.該文作者證明該框架會使聯(lián)邦學(xué)習(xí)產(chǎn)生公平的訓(xùn)練效果.此外,該文作者還提出了公平聯(lián)邦學(xué)習(xí)(q-fair federated learning,q-FFL)資源分配的優(yōu)化目標,通過這個目標可以動態(tài)地為每個本地模型分配不同的權(quán)重,即
(22)
其中,q為公平性參數(shù).當q=0時,該優(yōu)化目標相當于傳統(tǒng)聯(lián)邦學(xué)習(xí)的目標,如式(23)所示;當q的值較大時,說明此本地模型的損失較大,需要優(yōu)化此本地模型以減小訓(xùn)練精度分布的方差.
(23)
為了解決q-FFL問題,文獻[78]的作者相應(yīng)地設(shè)計了一種適合于聯(lián)邦學(xué)習(xí)的高效率方案q-FedAvg,對傳統(tǒng)FedAvg算法中的目標函數(shù)進行重新加權(quán),將較高的權(quán)重分配給損失較大的設(shè)備,整體的優(yōu)化目標就偏向本地經(jīng)驗風(fēng)險較大的設(shè)備.實驗證明了該方案在公平性、靈活性和效率方面均優(yōu)于現(xiàn)有方案.
考慮到無線信道的資源分配問題,文獻[79]提出了一種基于空中計算的帶寬模擬聚合技術(shù)(broad-band analog aggregation, BAA)的聯(lián)邦學(xué)習(xí)框架.圖15(a)表示傳統(tǒng)的多址通信系統(tǒng),其中不同線型表示相互正交的通信信道.為了避免傳輸節(jié)點間的相互干擾,每個節(jié)點都需要通過某種多址方式來實現(xiàn)在不同信道同時傳輸,在接入點再恢復(fù)每個節(jié)點的數(shù)據(jù)進行計算.當節(jié)點數(shù)目增多且無線資源有限時,計算等待時延將會大大增加.相反,圖15(b)所示的空中計算將所有發(fā)送節(jié)點并發(fā)傳輸,接入點直接計算數(shù)據(jù),只需一次信道使用,大大節(jié)省了帶寬資源.
Fig. 15 Air computing versus traditional multiple access communication圖15 空中計算與傳統(tǒng)多址通信對比
文獻[79]的作者利用了多址信道的波形疊加特性,實現(xiàn)了設(shè)備同時占用全部帶寬的傳輸.與此同時,BAA考慮了衰落信道模型,通過信道翻轉(zhuǎn)對移動設(shè)備發(fā)射功率進行控制,同時限制了信道質(zhì)量差的設(shè)備的傳輸,以減少通信延遲,同時在一定程度上減少了傳輸?shù)臄?shù)據(jù)量.作為延伸,在文獻[80]中還引入了除空中計算外的誤差累積和梯度稀疏化.為了提高模型精度,未經(jīng)掃描的梯度向量可以首先存儲在誤差累積向量中,在下一輪中使用誤差向量校正局部梯度估計.另外,當存在帶寬限制時,參與設(shè)備可以應(yīng)用梯度稀疏,以確保更新幅度大的參數(shù)進行傳輸.
文獻[81]還提出了一種高效節(jié)能的帶寬分配和調(diào)度策略,用來降低設(shè)備的能耗.該方案一方面適應(yīng)設(shè)備的信道狀態(tài)和計算能力,從而在保證學(xué)習(xí)性能的同時降低總能耗.與傳統(tǒng)聯(lián)邦學(xué)習(xí)的時間優(yōu)化設(shè)計相比,該策略將更多的帶寬資源分配給那些信道較弱或計算能力較差的調(diào)度設(shè)備.另一方面,封閉式的調(diào)度優(yōu)先級函數(shù)對具有更好的信道狀態(tài)和計算能力的設(shè)備具有優(yōu)先偏向.實驗證明了所提出的策略能夠降低大量的能耗,同時保證了模型訓(xùn)練的速率.文獻[82]針對邊緣計算環(huán)境中的聯(lián)邦學(xué)習(xí),引入了帶寬切片來支持聯(lián)邦學(xué)習(xí),以保證訓(xùn)練帶寬的低通信延遲.帶寬切片可以保留專門用于學(xué)習(xí)任務(wù)的網(wǎng)絡(luò)資源,打破了在訓(xùn)練過程中落后設(shè)備帶來的瓶頸.
3.2.3 聚合控制
傳統(tǒng)的FedAvg算法,模型的全局聚合是在收集到所有設(shè)備上的本地更新后再進行的,雖然可以通過對參與設(shè)備的選擇與協(xié)調(diào)來加快聯(lián)邦學(xué)習(xí)的進程,但是同步聚合總是會受到最后一個上傳模型的設(shè)備的影響.對此,為了加快全局模型聚合和收斂,文獻[83]提出一種新的異步聯(lián)邦學(xué)習(xí)算法,只要設(shè)備的本地訓(xùn)練完成,即可上傳本地模型.
圖16對同步聯(lián)邦學(xué)習(xí)與異步聯(lián)邦學(xué)習(xí)進行了對比.該異步模型允許參與設(shè)備在聯(lián)邦學(xué)習(xí)訓(xùn)練過程中,只要訓(xùn)練完本地模型就可以立即上傳到服務(wù)器進行聚合,而無須等待所有設(shè)備都上傳完畢后再聚合.文獻[83]的作者還發(fā)現(xiàn),異步聯(lián)邦學(xué)習(xí)模型對于在訓(xùn)練時中途加入的設(shè)備具有魯棒性,不會影響訓(xùn)練效果.通過對聯(lián)邦同步學(xué)習(xí)和異步學(xué)習(xí)的對比實驗,證明了異步學(xué)習(xí)模型的訓(xùn)練效果更好.然而,在non-IID數(shù)據(jù)集上模型的準確性依然存在不足.
為了更好地管理動態(tài)資源約束,實現(xiàn)全局最佳聚合,文獻[84]的作者基于梯度下降的訓(xùn)練方法,提出了一種自適應(yīng)的全局聚合方案.該方案改變了全局模型的聚合頻率,從而在保證聯(lián)邦學(xué)習(xí)訓(xùn)練過程中有效利用可用資源的同時,保證了模型的性能.該文作者還認為當服務(wù)器聚合模型總數(shù)和聚合間隔之間的本地模型的總數(shù)不同時,訓(xùn)練損失是隨之受到影響的.為此,提出了一種基于最新系統(tǒng)狀態(tài)自適應(yīng)選擇最優(yōu)全局聚合頻率的控制算法,該算法能夠確定本地更新和全局參數(shù)聚合之間的最佳折中,以在給定資源預(yù)算下將損失函數(shù)最小化.例如,如果全局聚合耗費大量時間,那么在與聯(lián)邦學(xué)習(xí)服務(wù)器的通信之前,會進行更多的邊緣聚合.仿真結(jié)果表明,在相同的時間預(yù)算下,自適應(yīng)聚合方案在損失函數(shù)最小化和精度方面都優(yōu)于固定聚合方案.
文獻[85]提出了一種提高聯(lián)邦學(xué)習(xí)通信與訓(xùn)練效率的模型選擇性聚合算法CMFL(communication-mitigated federated learning).關(guān)鍵思想是識別和排除有偏差的、與全局收斂不相關(guān)的本地更新.首先用式(24)證明了連續(xù)的全局模型wt和wt+1之間的歸一化差值很小,即
(24)
基于這一結(jié)果,提出CMFL方案根據(jù)參與設(shè)備的本地更新與所有參與的設(shè)備協(xié)作生成的全局更新的一致性來度量設(shè)備上的本地模型參數(shù)的相關(guān)性,即比較本地更新與全局更新中模型參數(shù)的符號.具體來說,CMFL設(shè)置了一個可調(diào)的閾值來識別和排除不相關(guān)的更新.假設(shè)本地模型w具有N個模型參數(shù)u1,u2,…,uN,全局模型w*具有N個模型參數(shù)g1,g2,…,gN.若本地模型與全局模型參數(shù)符號相同的比例大于這個閾值,則認為本地模型是相關(guān)的,反之則不相關(guān),即:
(25)
當模型的參數(shù)符號相等時,設(shè)置I(·)=1;否則I(·)=0.若e大于閾值,則保留該本地模型并上傳到服務(wù)器中聚合,反之丟棄.從理論上證明了CMFL是收斂的,并通過與現(xiàn)有解決方案相比,證明了CMFL可以顯著地減少網(wǎng)絡(luò)通信帶寬的占用,排除不相關(guān)的本地模型后全局模型聚合的收斂程度也得到提高.在聯(lián)邦多任務(wù)學(xué)習(xí)場景下,CMFL方案提高了5.7倍的通信效率和4%的模型預(yù)測精度.
通過對聯(lián)邦學(xué)習(xí)通信優(yōu)化的討論,可知有限的通信帶寬是聚合本地模型更新的主要瓶頸.為了加快聯(lián)邦學(xué)習(xí)全局聚合的速度,文獻[86]提出了基于空中計算的快速全局模型聚合方法.該方法通過設(shè)備選擇和波束成形設(shè)計來實現(xiàn),能夠在滿足模型聚合的均方誤差要求下最大化所選參與聯(lián)邦學(xué)習(xí)的設(shè)備數(shù)量.該文作者利用稀疏和低秩優(yōu)化來提升該方法的性能.考慮到現(xiàn)有算法在稀疏和低秩優(yōu)化中的局限性,該文作者使用凸差函數(shù)(difference-of-convex-functions, DC)表示稀疏低秩函數(shù),并在設(shè)備選擇過程中準確地檢測出固定秩約束.為了進一步改進DC算法,將DC函數(shù)重寫為強凸差函數(shù),更優(yōu)化了DC算法的全局收斂速度.實驗結(jié)果證明了所提出的DC方法的可行性,在CIFAR-10數(shù)據(jù)集上訓(xùn)練的支持向量機分類器可以實現(xiàn)更高的預(yù)測精度和更快的收斂速度.
3.2.4 數(shù)據(jù)優(yōu)化
數(shù)據(jù)的non-IID是影響聯(lián)邦學(xué)習(xí)模型訓(xùn)練效果主要的因素.文獻[87]指出如果使用non-IID數(shù)據(jù)訓(xùn)練CNN模型,則FedAvg的準確性將大大下降.對于MNIST數(shù)據(jù)集,模型下降的準確率可達11%;對于CIFAR-10數(shù)據(jù)集,模型下降的準確率可達51%.聯(lián)邦學(xué)習(xí)模型在IID數(shù)據(jù)集與non-IID數(shù)據(jù)集下的訓(xùn)練效果如圖17所示,可以看出由于數(shù)據(jù)的non-IID,隨著時間的推移,導(dǎo)致本地訓(xùn)練后的本地模型之間的差距較大,意味著全局模型將緩慢收斂,甚至無法收斂.
為了緩解此問題,文獻[87]基于在設(shè)備上的本地訓(xùn)練中引入其他機制的思想來提出2個潛在的解決方案.首先采用基于最大平均差異算法的聯(lián)邦雙流模型FedMMD(federated maximum mean discrepancy),以解決在傳統(tǒng)聯(lián)邦學(xué)習(xí)設(shè)置下,設(shè)備上訓(xùn)練單一本地模型的不足.最大平均差異算法被引入設(shè)備上的訓(xùn)練迭代中,使本地模型集成來自全局模型的更多知識.實驗表明,所提出的FedMMD模型在不影響最終測試性能的情況下減少了所需的通信次數(shù).文獻[87]的作者進一步提出了具有特征融合機制的聯(lián)邦學(xué)習(xí)算法(federated learning feature fusion, FedFusion),以降低通信成本.通過引入特征融合模塊,可以在特征提取階段之后從本地模型和全局模型中聚合特征,而無須耗費額外的計算成本.這些模塊使每個移動設(shè)備上的訓(xùn)練過程更加高效,并且可以更恰當?shù)靥幚韓on-IID的數(shù)據(jù),因為每個設(shè)備將為其自身學(xué)習(xí)最合適的功能融合模塊.圖18展示了特征融合的過程,在第t輪開始時,保留了全局模型的特征提取器,通過聚合本地和全局模型的特征,以更低的通信成本獲得了更高的精度.此外,特征融合模塊為新加入訓(xùn)練的參與設(shè)備提供了更好的初始化,從而加快了收斂速度.實驗表明,F(xiàn)edFusion在準確性和泛化能力方面都優(yōu)于標準的聯(lián)邦學(xué)習(xí)算法,同時將所需的通信輪數(shù)減少了60%以上.
Fig. 17 The difference between the models in IID and non-IID datasets圖17 在IID與non-IID數(shù)據(jù)集下模型的差別
Fig. 18 Training iteration of FedFusion[87]圖18 FedFusion的訓(xùn)練迭代[87]
文獻[88]提出了聯(lián)邦擴展(federated augmenta-tion, FAug)方案,其中每個設(shè)備共同訓(xùn)練一個生成模型,每個設(shè)備可以使用生成模型生成缺失的數(shù)據(jù)樣本,從而將其本地數(shù)據(jù)擴展為一個IID數(shù)據(jù)集.具體來說,F(xiàn)Aug中的每個設(shè)備都能識別出自己的數(shù)據(jù)樣本中缺少的標簽,即所謂的目標標簽,并通過無線鏈路將這些目標標簽的少數(shù)種子數(shù)據(jù)樣本上傳到服務(wù)器.服務(wù)器對上傳的種子數(shù)據(jù)樣本進行過采樣,從而訓(xùn)練出一個GAN模型.最后,每個設(shè)備可以下載經(jīng)過訓(xùn)練的GAN生成器使每個設(shè)備能夠補充目標標簽,直到得到一個平衡的IID數(shù)據(jù)集.這大大減少了與直接數(shù)據(jù)樣本交換相比的通信開銷.實驗表明,F(xiàn)Aug相比傳統(tǒng)聯(lián)邦學(xué)習(xí)僅需要1/26的通信輪數(shù)就能實現(xiàn)95%以上的測試準確性.通過數(shù)據(jù)擴充,每個設(shè)備可以根據(jù)生成的數(shù)據(jù)集訓(xùn)練出一個更加個性化和精確的用于分類或推理任務(wù)的模型.值得注意的是,F(xiàn)Aug方法中的服務(wù)器需要是可信的,這樣用戶才愿意上傳數(shù)據(jù).
文獻[89]的作者認為對于高度傾斜的non-IID數(shù)據(jù)集訓(xùn)練的神經(jīng)網(wǎng)絡(luò),最高會使聯(lián)邦學(xué)習(xí)的精度降低55%左右.該文作者進一步證明了這種精度下降可以用權(quán)值散度來解釋,權(quán)值散度可以用每個設(shè)備上的類分布與總體分布之間的陸地移動距離(earth’s mover’s distance, EMD)來量化.因此,提出了一種策略,通過創(chuàng)建一個在所有邊緣設(shè)備之間全局共享的數(shù)據(jù)子集來縮小每個模型之間的距離,從而改進對non-IID數(shù)據(jù)的訓(xùn)練效果.實驗表明,僅使用5%的全局共享數(shù)據(jù),CIFAR-10數(shù)據(jù)集的準確性可提高約30%.
文獻[90]在文獻[71]的基礎(chǔ)上,假設(shè)有限數(shù)量(例如低于1%)的設(shè)備讓它們的數(shù)據(jù)上傳到服務(wù)器,提出一個新穎的學(xué)習(xí)機制Hybrid-FL.服務(wù)器使用從隱私敏感度低的設(shè)備收集的數(shù)據(jù)來構(gòu)造部分IID數(shù)據(jù),服務(wù)器利用構(gòu)造的數(shù)據(jù)訓(xùn)練模型并聚合到全局模型中來更新模型,如圖19所示.在Hybrid-FL算法中,文獻[90]的作者設(shè)計了一種啟發(fā)式算法,從而在帶寬和時間的約束下在服務(wù)器上構(gòu)建分布良好的數(shù)據(jù)集.具體來說,假設(shè)Dr={d1,d2,…,dcate}為第r輪訓(xùn)練中參與設(shè)備上存儲的每個類的總數(shù)據(jù)量,則設(shè)備上數(shù)據(jù)之間的偏差為
(26)
(27)
Fig. 19 Framework of Hybrid-FL[90]圖19 Hybrid-FL框架[90]
通過分類數(shù)據(jù)中固有的異構(gòu)屬性內(nèi)和屬性間耦合以及屬性到對象的耦合來學(xué)習(xí)相似性,可以計算數(shù)據(jù)之間的相關(guān)性,從而提高移動設(shè)備模型訓(xùn)練所需數(shù)據(jù)的質(zhì)量以及提高模型訓(xùn)練的收斂性[91].通過該算法可以使訓(xùn)練數(shù)據(jù)集的每個類別更加均勻.此外,該算法增加了從設(shè)備收集的數(shù)據(jù)量,使數(shù)據(jù)近似IID,以提高模型性能.實驗結(jié)果表明,在non-IID情況下,該方法的分類精度明顯高于已有方法.但是考慮到用戶對隱私的注重,可能不愿意共享數(shù)據(jù),因此,該方法存在一定的局限性.
作為異步聯(lián)邦學(xué)習(xí)的改進,考慮到落后的本地模型對全局收斂的貢獻大小,文獻[92]提出了基于non-IID數(shù)據(jù)集的異步聯(lián)邦優(yōu)化FedAsync算法.因為服務(wù)器和參與設(shè)備并不是同步工作,所以服務(wù)器不會一直等待.由于設(shè)備上傳時受通信的延遲或訓(xùn)練的先后順序影響,當服務(wù)器接收到該模型參數(shù)時,可能此時已經(jīng)進行過幾輪全局聚合,導(dǎo)致服務(wù)器接收模型與聚合之間存在延遲.該延遲越大對模型收斂結(jié)果的影響也就越大.因此,提出了一個混合超參數(shù)來控制由延遲影響的模型權(quán)重.每個新接收的本地更新根據(jù)時效性自適應(yīng)加權(quán),時效性定義為當前訓(xùn)練迭代與所接收更新所屬迭代的差值.例如,來自落后設(shè)備的過時更新是沒有價值的,因為它應(yīng)該在前幾輪訓(xùn)練中收到.因此,它的權(quán)重相對更小.此外,為了解決由于數(shù)據(jù)non-IID所導(dǎo)致的模型收斂緩慢問題,文獻[93]還在損失函數(shù)中加入一個懲罰項,迫使所有本地模型收斂到一個共享最優(yōu)值.該文作者證明,在保證隱私的前提下可以有效地實現(xiàn)通信,并且這個懲罰項可以隨著分布式設(shè)置中節(jié)點的數(shù)量變化而進行縮放.實驗結(jié)果表明,該方法在MNIST數(shù)據(jù)集上的圖像識別的效果優(yōu)于其他方法.
3.2.5 歸納總結(jié)
由于在聯(lián)邦學(xué)習(xí)中會涉及到不同計算能力的設(shè)備和不同質(zhì)量與數(shù)量的數(shù)據(jù)集,這些異構(gòu)因素在很大程度上會影響訓(xùn)練的效率.針對這些因素,本文從聯(lián)邦學(xué)習(xí)訓(xùn)練優(yōu)化的3個方面來介紹相關(guān)解決方案,如表4所示.
從表4中可以看出,目前聯(lián)邦學(xué)習(xí)在訓(xùn)練上的優(yōu)化主要是在設(shè)備選擇、資源協(xié)調(diào)、聚合控制和數(shù)據(jù)優(yōu)化這4個方面.設(shè)備的選擇打破了訓(xùn)練的瓶頸,使訓(xùn)練不受最慢設(shè)備的影響.為了使訓(xùn)練結(jié)果不偏向某個設(shè)備,許多文獻提出資源協(xié)調(diào)的方案,讓聯(lián)邦學(xué)習(xí)變得更加公平與準確.除此之外,現(xiàn)有技術(shù)對模型的全局聚合進行了優(yōu)化,通過調(diào)整聚合的頻率或聚合的內(nèi)容,讓聚合的速率與模型效果更加優(yōu)于傳統(tǒng)的聯(lián)邦學(xué)習(xí).
Table 4 Summary and Comparison of Researches on Federated Learning Training Optimization表4 聯(lián)邦學(xué)習(xí)訓(xùn)練優(yōu)化研究方案的總結(jié)與對比
然而,non-IID數(shù)據(jù)仍是影響模型收斂最重要的因素,要想保證模型訓(xùn)練的準確度,就必須優(yōu)化數(shù)據(jù)的non-IID問題.為此,本文專門討論了基于該問題的優(yōu)化技術(shù).我們發(fā)現(xiàn)提出的解決方案之一是人為地共享或構(gòu)造一個IID數(shù)據(jù)集,而這些數(shù)據(jù)是來自用戶的,這可能在實際應(yīng)用中并不適用,也不符合聯(lián)邦學(xué)習(xí)的初始設(shè)置.因此,對于聯(lián)邦學(xué)習(xí)收斂效率的研究還有很大的空間.
從結(jié)果上來看,目前訓(xùn)練優(yōu)化方面的技術(shù)方案在訓(xùn)練能耗、時間與收斂效果上與傳統(tǒng)的聯(lián)邦學(xué)習(xí)相比,得到了有效的提升.
3.3.1 安 全
1) 數(shù)據(jù)安全.聯(lián)邦學(xué)習(xí)能夠為分布式訓(xùn)練和模型推理提供可擴展的共享環(huán)境.然而,聯(lián)邦學(xué)習(xí)架構(gòu)潛在的安全漏洞,特別是對于從用戶傳入聯(lián)邦的數(shù)據(jù)中毒攻擊,造成全局模型收斂的阻礙.在這種情況下,惡意參與者可能會偽造錯誤數(shù)據(jù)以破壞訓(xùn)練結(jié)果,此類攻擊可能會降低學(xué)習(xí)模型的總體性能.文獻[94]研究了針對聯(lián)邦學(xué)習(xí)系統(tǒng)的數(shù)據(jù)中毒攻擊,其中參與者的惡意子集旨在通過發(fā)送源自錯誤標記數(shù)據(jù)的模型更新來毒害全局模型.該文作者證明,即使有一小部分惡意參與者,此類數(shù)據(jù)中毒攻擊也會導(dǎo)致分類準確度和召回率的大幅下降.
文獻[95]評估了基于女巫攻擊的數(shù)據(jù)中毒對聯(lián)邦學(xué)習(xí)系統(tǒng)的影響.惡意攻擊者通過創(chuàng)建大量的假數(shù)據(jù)標簽或臟標簽來破壞訓(xùn)練全局模型時的有效性.為了減輕女巫攻擊,該文作者提出了一種稱為FoolsGold的防御策略.該方案的關(guān)鍵思想是可以根據(jù)更新的梯度將誠實的參與者與女巫攻擊者區(qū)分.具體來說,每個參與者的訓(xùn)練數(shù)據(jù)都有其自身的特殊性,根據(jù)學(xué)習(xí)過程中參與者本地更新的多樣性來識別數(shù)據(jù)中毒攻擊.借助FoolsGold,系統(tǒng)可以在傳統(tǒng)聯(lián)邦學(xué)習(xí)過程進行最小更改的情況下防御數(shù)據(jù)中毒攻擊,并且不需要學(xué)習(xí)過程之外的任何輔助信息.實驗結(jié)果表明,F(xiàn)oolsGold超過了現(xiàn)有最先進方法的能力,可以應(yīng)對基于女巫攻擊的數(shù)據(jù)標簽翻轉(zhuǎn),并且可以適用于不同分布的用戶數(shù)據(jù)、不同的中毒目標和各種女巫策略.文獻[96]提出了一個檢測惡意用戶并生成準確模型的系統(tǒng),用戶不再向服務(wù)器傳送模型梯度而是上傳偽裝特征,并設(shè)計了一種基于這些偽裝特征的自動統(tǒng)計機制來抵御數(shù)據(jù)中毒攻擊.在這種解決方案中,使用均值聚類算法對每輪通信過程中的本地模型更新(偽裝特征)進行聚類,并識別出異常分布的孤立點,即數(shù)據(jù)中毒后的本地模型.
2) 模型參數(shù)安全.對于模型中毒攻擊,惡意參與者可以直接修改更新后的模型,然后將其發(fā)送到服務(wù)器進行聚合.即使只有一個攻擊者,整個全局模型也可能中毒.文獻[97]提出了一些防止全局模型受到惡意本地模型影響的解決方案.第1種解決方案,根據(jù)移動設(shè)備共享的更新模型,服務(wù)器可以檢查共享模型是否有助于提高全局模型的性能;否則,該設(shè)備將被標記為潛在的攻擊者,并且在經(jīng)過幾輪該設(shè)備的更新模型觀察之后,服務(wù)器可以確定這是否是惡意用戶.第2種解決方案是移動設(shè)備上的互相比較.如果某個移動設(shè)備的更新模型與其他設(shè)備上的模型有很大差別,則該設(shè)備可能是惡意模型;然后,服務(wù)器將繼續(xù)觀察該設(shè)備的更新,才能確定這是否是惡意用戶.
為防止由于移動設(shè)備上傳不可靠的模型從而導(dǎo)致聯(lián)邦學(xué)習(xí)被破壞,或由于能量限制以及高速移動而導(dǎo)致劣質(zhì)數(shù)據(jù)對模型訓(xùn)練的影響,文獻[98]引入了信譽的概念作為度量指標,以防止設(shè)備發(fā)送不可靠或惡意的模型更新等危險行為.此外,文獻[99]提出了一種方法,利用預(yù)先訓(xùn)練好的異常檢測模型來檢測移動邊緣網(wǎng)絡(luò)中存在異常行為的設(shè)備,及時消除惡意用戶對全局模型以及聯(lián)邦學(xué)習(xí)系統(tǒng)產(chǎn)生的不利影響.
3.3.2 隱私保護
文獻[100]的作者將服務(wù)器設(shè)置成惡意的,當進行全局模型聚合時,通過利用設(shè)備發(fā)送到服務(wù)器的本地模型,結(jié)合GAN網(wǎng)絡(luò)模型共同推斷并精準地偽造出受害者設(shè)備上的一些隱私數(shù)據(jù).如圖20所示,惡意服務(wù)器獲取到來自設(shè)備的本地模型后,將某個設(shè)備的本地模型復(fù)制到GAN模型的鑒別器中進行訓(xùn)練,并通過數(shù)據(jù)分布計算與附加數(shù)據(jù)集的訓(xùn)練,使鑒別器與生成器能夠得到更準確的訓(xùn)練.最后,生成器能夠生成該設(shè)備的隱私數(shù)據(jù).這種攻擊方式對特定的設(shè)備進行攻擊,生成該設(shè)備上的具體數(shù)據(jù)信息,是聯(lián)邦學(xué)習(xí)中一種較嚴重的隱私威脅.
Fig. 20 Federated learning GAN attack model based on malicious server圖20 基于惡意服務(wù)器的聯(lián)邦學(xué)習(xí)GAN攻擊模型
為了保護用戶模型參數(shù)的私密性,文獻[101]介紹了一種稱為差分隱私的隨機梯度下降技術(shù),該技術(shù)可以在傳統(tǒng)深度學(xué)習(xí)算法上有效地實現(xiàn).在此基礎(chǔ)上,文獻[102]將差分隱私技術(shù)應(yīng)用到聯(lián)邦學(xué)習(xí)環(huán)境,關(guān)鍵思想是在模型參數(shù)發(fā)送到服務(wù)器之前,在移動設(shè)備上部署差分隱私技術(shù),在訓(xùn)練后的本地參數(shù)上添加一些噪聲.該文作者還分析了該方案下聯(lián)邦平均聚合的收斂效果,結(jié)果表明可以達到效率和所需隱私保護級別之間的平衡.通過這種方式,參與設(shè)備可以降低從其共享參數(shù)中泄露隱私的風(fēng)險.
文獻[103]中的作者提出了一種更全面的隱私保護方案.對于每個訓(xùn)練輪次,服務(wù)器首先選擇隨機數(shù)量的參與者以訓(xùn)練全局模型,然后進一步在模型參數(shù)上添加噪聲.因為無法得知哪些設(shè)備參與了訓(xùn)練,所以能夠有效防止惡意設(shè)備通過共享模型來推斷其他設(shè)備的隱私.
3.3.3 歸納總結(jié)
本節(jié)討論了在聯(lián)邦學(xué)習(xí)訓(xùn)練模型的過程中存在的惡意攻擊行為,從安全性和隱私性2個方面分析了當前的安全與隱私保護機制.聯(lián)邦學(xué)習(xí)的目的是供移動設(shè)備執(zhí)行有效的且保護隱私的協(xié)作模型訓(xùn)練方案.但是,針對聯(lián)邦學(xué)習(xí)的隱私攻擊過程,攻擊惡意設(shè)備可以獲得其他參與者敏感信息的訪問權(quán)限.此外,在傳輸共享模型的階段,攻擊者也可以執(zhí)行模型中毒攻擊,這些攻擊將會破壞整個學(xué)習(xí)系統(tǒng).本文對比分析了目前聯(lián)邦學(xué)習(xí)的隱私與安全的策略,在表5中進行了總結(jié).
Table 5 Federated Learning Security and Privacy Strategies表5 聯(lián)邦學(xué)習(xí)安全與隱私策略
聯(lián)邦學(xué)習(xí)由于其分布式的特性,以及移動邊緣網(wǎng)絡(luò)環(huán)境的復(fù)雜性,使聯(lián)邦學(xué)習(xí)系統(tǒng)的穩(wěn)定性不如傳統(tǒng)分布式學(xué)習(xí).用戶的不可控性造成許多未知因素,這給聯(lián)邦學(xué)習(xí)的效率優(yōu)化帶來了極大的挑戰(zhàn).目前,聯(lián)邦學(xué)習(xí)的研究仍處于初期,沒有一套完善的方案解決穩(wěn)定性、效率優(yōu)化問題,訓(xùn)練過程容易受到影響.通過對移動邊緣網(wǎng)絡(luò)中聯(lián)邦學(xué)習(xí)效率優(yōu)化研究現(xiàn)狀的深入分析,我們認為未來聯(lián)邦學(xué)習(xí)的優(yōu)化研究可以重點從7個方面展開:
聯(lián)邦學(xué)習(xí)的研究還處于初級階段,大多數(shù)是基于云和端的2層學(xué)習(xí)架構(gòu).大量的移動設(shè)備與云服務(wù)器直接通信會帶來更多的能耗和通信成本.同時,隨著模型的日漸復(fù)雜化,服務(wù)器也會承受越來越大的負載.為了高效利用移動邊緣網(wǎng)絡(luò)中設(shè)備的計算資源并進一步釋放人工智能的潛力,將傳統(tǒng)基于集中式(例如數(shù)據(jù)中心)的人工智能下沉到靠近用戶的網(wǎng)絡(luò)邊緣已成為一種技術(shù)趨勢,例如目前新興的邊緣智能[104].在聯(lián)邦學(xué)習(xí)領(lǐng)域中利用云—邊—端協(xié)作方式的技術(shù)還比較少,或只是簡單地用邊緣層來存放數(shù)據(jù),沒有真正發(fā)揮邊緣的價值.相比基于云的云—端協(xié)作,邊緣化學(xué)習(xí)的優(yōu)勢有4方面:
1) 低時延與低能耗.在實時性較高的場景,例如智能交通系統(tǒng)、智能醫(yī)療系統(tǒng)等,這些場景對時延非常敏感,如果數(shù)據(jù)沒有及時傳送,可能會造成模型決策錯誤.云和端之間的傳輸需要更長的時間,邊緣化學(xué)習(xí)可以降低通信的響應(yīng)時間以及成本.
2) 高安全性與高隱私性.在通信過程中,聯(lián)邦學(xué)習(xí)以及設(shè)備本身容易受到惡意攻擊,但移動設(shè)備的能力有限,不能保證模型以及自身的安全性.利用邊緣設(shè)備,例如小型基站和服務(wù)器,結(jié)合同態(tài)加密和多方安全計算等安全機制可以降低設(shè)備被攻擊的風(fēng)險[105].
3) 易管理.在實際應(yīng)用中,由于網(wǎng)絡(luò)連接不穩(wěn)定等因素,設(shè)備可能在訓(xùn)練中途退出,導(dǎo)致模型性能下降.邊緣服務(wù)器靠近用戶,通信連接相對穩(wěn)定,可以更方便地監(jiān)控設(shè)備狀態(tài)并進行管理.
4) 易擴展.云服務(wù)器的建立和維護的成本很高,而人工智技術(shù)更新?lián)Q代迅速,使云數(shù)據(jù)中心需要不斷地升級與擴展.相反,邊緣設(shè)備成本更低、靈活易擴展.可以將更多的任務(wù)部署到邊緣設(shè)備中,而不需要更多的服務(wù)成本.
結(jié)合更多的邊緣計算可以為聯(lián)邦學(xué)習(xí)帶來更多的學(xué)習(xí)場景.例如,傳統(tǒng)的Gossip算法[33]作為移動邊緣網(wǎng)絡(luò)中一種點對點的通信方式,也可以看作去中心化的邊緣計算模式.具體來說,在一個有界網(wǎng)絡(luò)中,每個節(jié)點都隨機地與其他節(jié)點通信,經(jīng)過幾輪隨機的通信,最終所有節(jié)點的狀態(tài)都會達成一致.考慮到聯(lián)邦學(xué)習(xí)設(shè)備的異構(gòu)性,在本地訓(xùn)練階段可以基于Gossip使設(shè)備之間進行互相學(xué)習(xí),提高本地模型的質(zhì)量,從而加速全局模型的收斂.
聯(lián)邦學(xué)習(xí)應(yīng)用在移動邊緣網(wǎng)絡(luò),用戶的數(shù)據(jù)無法進行統(tǒng)一的預(yù)處理,除了來自第三方的惡意攻擊,設(shè)備自身存在的錯誤數(shù)據(jù)、數(shù)據(jù)冗余等問題無法避免.數(shù)據(jù)質(zhì)量是模型快速收斂的關(guān)鍵,因此,針對聯(lián)邦學(xué)習(xí)的數(shù)據(jù)清洗是一個很大的挑戰(zhàn).
文獻[106]提出一種基于移動邊緣節(jié)點的數(shù)據(jù)清洗模型,在邊緣節(jié)點上建立分類模型以辨別異常數(shù)據(jù).同樣地,在參與聯(lián)邦學(xué)習(xí)的移動設(shè)備上建立數(shù)據(jù)清洗模型也是一個解決方案.因此,在保證設(shè)備計算資源足夠的前提下,本文提出一種聯(lián)邦學(xué)習(xí)數(shù)據(jù)清洗方案.服務(wù)器在聯(lián)邦學(xué)習(xí)任務(wù)初始化過程中同時準備一個先驗的數(shù)據(jù)清洗模型,并將該模型一同發(fā)送給設(shè)備.設(shè)備在進行本地訓(xùn)練之前,先經(jīng)過數(shù)據(jù)清洗模型以篩選并剔除部分錯誤或無用的數(shù)據(jù).這樣能減小本地模型訓(xùn)練的誤差,大大提高聯(lián)邦學(xué)習(xí)模型的學(xué)習(xí)效果.
考慮到無法直接對用戶數(shù)據(jù)進行處理或清洗,可以利用邊緣的計算和通信資源來獲得最佳的聯(lián)邦學(xué)習(xí)性能.例如,在不同的網(wǎng)絡(luò)位置部署移動邊緣節(jié)點,使其成為遠程云和移動設(shè)備通信的樞紐.在本地更新階段,每個移動設(shè)備計算本地模型和全局模型參數(shù)之間的相似度,如果二者之間的相似性較低,則推測該本地模型所使用的數(shù)據(jù)集質(zhì)量低,存在錯誤數(shù)據(jù)或臟標簽的可能性高,選擇丟棄而不上傳到邊緣服務(wù)器;本地訓(xùn)練結(jié)束后,部署在不同網(wǎng)絡(luò)位置的移動邊緣節(jié)點聚合簇內(nèi)的必要本地更新,然后將邊緣聚合后的模型發(fā)送到云服務(wù)器進行全局聚合,從而減少由錯誤數(shù)據(jù)訓(xùn)練的本地模型,達到模型清洗的目的.
聯(lián)邦學(xué)習(xí)作為分布式學(xué)習(xí)的一種延伸,通信消耗與收斂性能是系統(tǒng)的主要評價指標.在本文的聯(lián)邦學(xué)習(xí)通信與訓(xùn)練優(yōu)化方案中,很難將二者同時滿足.例如模型壓縮技術(shù)壓縮了模型大小,雖然能夠降低傳輸過程中的消耗,但是在模型精度上有一定的妥協(xié).因此,文獻[76]綜合考慮了將能耗、訓(xùn)練時間和通信成本最小化,提出設(shè)備資源最優(yōu)決策方案.然而,隨著模型的復(fù)雜化和訓(xùn)練任務(wù)的增加,綜合各方面提升聯(lián)邦學(xué)習(xí)的效率是非常困難的,考慮自適應(yīng)的訓(xùn)練算法變得尤為重要,我們給出2個自適應(yīng)方向:
1) 自適應(yīng)通信與訓(xùn)練時間的折中.根據(jù)聯(lián)邦學(xué)習(xí)系統(tǒng)的通信與能量消耗的側(cè)重點,對移動邊緣網(wǎng)絡(luò)的環(huán)境進行建模并設(shè)計動態(tài)的決策算法,以保持訓(xùn)練過程動態(tài)平衡地進行.例如,當訓(xùn)練時通信所消耗的資源過多或時延過高時,則可通過算法調(diào)整本地訓(xùn)練與更新的時間,或通過壓縮減少模型的數(shù)據(jù)量;反之,可以增加本地更新的次數(shù),或傳輸完整的模型參數(shù),以學(xué)習(xí)更多的知識來提高模型的收斂速率.
2) 自適應(yīng)本地訓(xùn)練.在本地模型迭代優(yōu)化時,學(xué)習(xí)率是一個非常重要的超參數(shù).學(xué)習(xí)率是梯度下降優(yōu)化方法中的步長,若步長過大則可能導(dǎo)致模型的振蕩,若步長過小又會使模型收斂的速率很慢.由于聯(lián)邦學(xué)習(xí)使用的數(shù)據(jù)集的分布因用戶而異,依賴于歷史經(jīng)驗的步長不能準確地適應(yīng)模型的訓(xùn)練狀況,步長的設(shè)置變得非常困難.因此,采用設(shè)備的自適應(yīng)訓(xùn)練以優(yōu)化模型收斂也是提高聯(lián)邦學(xué)習(xí)效率的重要方法.
大多數(shù)聯(lián)邦學(xué)習(xí)的框架僅由一個服務(wù)器與多個參與設(shè)備組成,即單一服務(wù)器的聯(lián)邦學(xué)習(xí).在實際情況下,可能會存在2種情況:1)參與設(shè)備可能是不愿共享其模型參數(shù)的競爭者,并且還受益于訓(xùn)練好的全局模型,但沒有對全局模型做出貢獻;2)聯(lián)邦學(xué)習(xí)服務(wù)器可能正在與其他服務(wù)器競爭,在極端情況下,服務(wù)器可能接收不到設(shè)備的本地模型.此外,由于參與設(shè)備對它們的可用計算資源和數(shù)據(jù)質(zhì)量有更多的了解,在聯(lián)邦學(xué)習(xí)服務(wù)器與參與設(shè)備之間存在信息不對稱.因此,設(shè)計更合理的激勵機制[107],以激勵移動設(shè)備用戶參與聯(lián)邦學(xué)習(xí)并減小由于信息不對稱帶來的潛在不利影響,以及解決服務(wù)器之間的競爭問題.此外,對于聯(lián)邦學(xué)習(xí),用戶可以是服務(wù)使用者,同時也可以是數(shù)據(jù)生成器.在這種情況下,需要一種新穎的服務(wù)定價機制[108]來考慮用戶的服務(wù)消耗及其數(shù)據(jù)貢獻的價值.
例如,移動設(shè)備和服務(wù)器之間的通信可以利用Stackelberg博弈論[109-110]進行建模,其中服務(wù)器是買方,移動設(shè)備是賣方,每個設(shè)備都可以非合作地決定自己的利潤最大化價格.首先,服務(wù)器考慮模型的學(xué)習(xí)準確性與訓(xùn)練數(shù)據(jù)大小之間不斷增加的凹關(guān)系,確定訓(xùn)練數(shù)據(jù)的大小以使模型學(xué)習(xí)的利潤最大化;然后,移動設(shè)備決定每單位數(shù)據(jù)的價格以最大化個人利潤.
文獻[111]的作者提出了一種利用合同理論[112]的激勵設(shè)計,以吸引具有高質(zhì)量數(shù)據(jù)的移動設(shè)備.該合同可以通過自我披露機制來減少信息不對稱,在這種激勵機制下,每個合同必須確保每個設(shè)備參加聯(lián)邦學(xué)習(xí)時都具有積極作用,并且每個最大化效用的設(shè)備都只會選擇為其類型設(shè)計的合同.服務(wù)器的目標則是在該合同的約束情況下最大化自己的利潤,通過這種方式來達到聯(lián)邦學(xué)習(xí)參與設(shè)備與服務(wù)器的效率平衡.隨著聯(lián)邦學(xué)習(xí)參與用戶對利益的要求發(fā)生變化,設(shè)計合理的服務(wù)定價也是未來重要的研究方向.
由于移動邊緣網(wǎng)絡(luò)的復(fù)雜性與不確定因素較多,且移動設(shè)備的計算資源不足,在聯(lián)邦學(xué)習(xí)過程中發(fā)生故障或被攻擊的可能性大,用戶的隱私仍然受到來自第三方的威脅.目前的聯(lián)邦學(xué)習(xí)隱私保護方案依賴于傳統(tǒng)的加密與數(shù)據(jù)擾動的方式,例如同態(tài)加密和差分隱私.然而,由于現(xiàn)有技術(shù)的局限性,權(quán)衡模型的可用性與隱私性成為聯(lián)邦學(xué)習(xí)的挑戰(zhàn).
例如,差分隱私的優(yōu)點在于添加隨機噪聲不會造成過高的性能代價,而缺點在于擾動機制將可能使模型精度變差.同樣地,同態(tài)加密雖然能夠保證數(shù)據(jù)在存儲、傳輸與計算過程中的隱私與安全,但加密過程涉及大量的復(fù)雜計算和密鑰傳輸,對于復(fù)雜模型來說,計算和通信的開銷都非常大.為了保證聯(lián)邦學(xué)習(xí)的效率,對隱私的保護雖然重要,而對于隱私保護的可行性更為重要.在未來的工作中,需要考慮權(quán)衡算法的可行性與隱私性,研究輕量級的安全與隱私保護策略,從整體上提高聯(lián)邦學(xué)習(xí)的性能.
聯(lián)邦學(xué)習(xí)中由于用戶與用戶之間的差異,本地non-IID數(shù)據(jù)隨著用戶地域分布以及偏好而變動,導(dǎo)致每個用戶自身的模型參數(shù)僅適合本身的數(shù)據(jù),全局模型很難滿足所有參與者的需求.因此,需要考慮一種新穎的方法使全局模型針對每個用戶進行優(yōu)化,提高全局模型在統(tǒng)計學(xué)異構(gòu)性方面的泛化能力.
4.6.1 個性化
基于模型初始化的元學(xué)習(xí)(例如模型無關(guān)元學(xué)習(xí))對任務(wù)的快速收斂擁有良好的適應(yīng)性和泛化性.例如,文獻[113]將元學(xué)習(xí)方法與聯(lián)邦學(xué)習(xí)方法相結(jié)合.具體來說,每個設(shè)備被看成一個任務(wù),設(shè)備的本地數(shù)據(jù)被分為support set與query set.參與訓(xùn)練的設(shè)備接收元學(xué)習(xí)器參數(shù)meta-learner進行模型訓(xùn)練,利用support set更新本地任務(wù)的參數(shù)learner,然后基于更新后的learner在query set上更新meta-learner.經(jīng)過幾輪訓(xùn)練后,元學(xué)習(xí)器參數(shù)meta-learner不會偏袒任何設(shè)備,提升了在所有設(shè)備上的泛化能力.相比傳統(tǒng)的聯(lián)邦學(xué)習(xí),聯(lián)邦元學(xué)習(xí)共享的不再是整個模型,而是元模型參數(shù),使聯(lián)邦元學(xué)習(xí)可以應(yīng)用得更加靈活.與傳統(tǒng)的聯(lián)邦平均算法相比,聯(lián)邦元學(xué)習(xí)在模型精度和通信成本上都有所改善.文獻[114]通過聯(lián)邦元學(xué)習(xí)方法,使模型僅用少量的樣本就能迅速適應(yīng)學(xué)習(xí)新的學(xué)習(xí)任務(wù),減少了大量計算成本.文獻[115]在聯(lián)邦學(xué)習(xí)環(huán)境中構(gòu)建了一種個性化的模型,并提出基于多任務(wù)學(xué)習(xí)的MOCHA算法以解決移動邊緣網(wǎng)絡(luò)中通信、設(shè)備斷線和容錯性等問題,從而增加模型的泛化能力.
4.6.2 去中心化
目前主流的方法都是基于中心化聯(lián)邦學(xué)習(xí),而中心化聯(lián)邦學(xué)習(xí)方法的缺點是依賴一個中央服務(wù)器,這需要所有設(shè)備同意一個可信的中央服務(wù)器.目前,從系統(tǒng)架構(gòu)上通過去中心化等方式優(yōu)化通信效率也正在深入研究.文獻[116]提出了一個去中心化的聯(lián)邦學(xué)習(xí)框架BrainTorrent,所有的參與者相互作用,而不依賴于一個中央服務(wù)器.在參與者之間進行點對點學(xué)習(xí),模型隨時根據(jù)不同的參與者動態(tài)調(diào)整,從而提升模型的性能.而文獻[117]考慮了去中心化聯(lián)邦學(xué)習(xí)下的單向信任問題(即用戶A信任用戶B,用戶B不信任用戶A).該文作者提出了無中央服務(wù)器的聯(lián)邦學(xué)習(xí)算法,每個節(jié)點只需要知道它的外部鄰居節(jié)點,而不需要知道全局拓撲,因此在訓(xùn)練過程中更加靈活,并且被證明具有最佳的收斂速度.除此之外,基于區(qū)塊鏈的聯(lián)邦學(xué)習(xí)除了可以實現(xiàn)去中心化,還能避免數(shù)據(jù)或模型受到攻擊,提高效率的同時還能增強系統(tǒng)的穩(wěn)定性[118].聯(lián)邦學(xué)習(xí)與前沿技術(shù)結(jié)合的研究還處于起步階段,正逐步成為研究熱點,技術(shù)的融合能促進共同發(fā)展,因此值得不斷探索.
隨著對個人隱私的關(guān)注,聯(lián)邦學(xué)習(xí)在許多應(yīng)用中扮演著越來越重要的角色.將現(xiàn)有的智能場景與聯(lián)邦學(xué)習(xí)結(jié)合,可以實現(xiàn)保護用戶隱私的智能服務(wù),同時,通過實踐中的反饋能夠為聯(lián)邦學(xué)習(xí)的改進與發(fā)展奠定良好的基礎(chǔ).目前,主要有3種結(jié)合的智能場景:
1) 計算卸載與緩存.計算卸載是給定邊緣設(shè)備的計算和存儲容量約束,將移動設(shè)備上一些計算量大的任務(wù)卸載到云服務(wù)器上進行計算[119-120].然而,來自用戶的計算涉及用戶的隱私信息,服務(wù)器提供商并不是完全可信的,用戶的隱私因此受到威脅.此外,可以將常用的請求文件或服務(wù)緩存在邊緣服務(wù)器以加快檢索速度,不必與遠距離的云進行通信[121].同樣出于對用戶隱私的考慮,可以利用聯(lián)邦學(xué)習(xí)的優(yōu)勢,設(shè)計保護隱私的智能計算卸載與緩存方案.文獻[122]介紹了一種隱私感知邊緣緩存方案,提出了一種基于聯(lián)邦學(xué)習(xí)的方法來訓(xùn)練偏好模型,同時將用戶的數(shù)據(jù)保留在其個人設(shè)備上.目標在不受資源約束的情況下,最大限度地增加了邊緣需求的服務(wù)數(shù)量,既保證了用戶數(shù)據(jù)的隱私,又實現(xiàn)了最優(yōu)邊緣緩存.
2) 車聯(lián)網(wǎng).車聯(lián)網(wǎng)是智慧城市服務(wù)的一方面,智能車輛具有數(shù)據(jù)收集、計算和通信等功能,例如導(dǎo)航和交通管理.由于這些信息可以包含駕駛員的位置和個人信息,若共享這些數(shù)據(jù),會導(dǎo)致用戶隱私得不到保障[123].利用聯(lián)邦學(xué)習(xí),可以實現(xiàn)在車聯(lián)網(wǎng)環(huán)境中高效地學(xué)習(xí)與交互,有效保護用戶的隱私.
3) 智能醫(yī)療.目前,全世界的數(shù)據(jù)庫都包含海量的數(shù)字醫(yī)療圖像[124].結(jié)合數(shù)據(jù)科學(xué)的發(fā)展,醫(yī)療數(shù)據(jù)提供了認識與治療疾病的基礎(chǔ).然而,由于隱私和法律方面的考慮,存儲在不同醫(yī)院與機構(gòu)中的異構(gòu)數(shù)據(jù)集無法直接共享.因此,醫(yī)療圖像數(shù)據(jù)的價值無法利用,這限制了醫(yī)療學(xué)者對疾病的研究.結(jié)合聯(lián)邦學(xué)習(xí)框架,可以安全地進行生物醫(yī)學(xué)數(shù)據(jù)的識別與分析,而無需共享患者的個人隱私信息.
隨著大數(shù)據(jù)時代的來臨,用戶對數(shù)據(jù)隱私的要求越來越高,深度學(xué)習(xí)需要從集中的方式轉(zhuǎn)變?yōu)槊嫦蛴脩舻姆植际椒绞?聯(lián)邦學(xué)習(xí)的效率決定著人工智能技術(shù)面向用戶的普及與應(yīng)用程度.在異構(gòu)的移動邊緣網(wǎng)絡(luò)中,由于帶寬與通信距離的限制,聯(lián)邦學(xué)習(xí)的通信效率是主要的問題.因而,許多學(xué)者基于模型壓縮技術(shù)提出了解決方案.此外,移動設(shè)備的選擇、模型聚合與數(shù)據(jù)分布等資源分配問題同樣影響著聯(lián)邦學(xué)習(xí)的訓(xùn)練,本文將這些歸納為訓(xùn)練優(yōu)化,并系統(tǒng)性地對比分析了相關(guān)的方案.針對聯(lián)邦學(xué)習(xí)中可能發(fā)生的安全與隱私問題,本文總結(jié)了現(xiàn)有的聯(lián)邦學(xué)習(xí)安全與隱私保護機制.
同時,我們在文獻調(diào)研過程中發(fā)現(xiàn)目前的大多數(shù)解決方案都屬于基本的設(shè)備層與服務(wù)器層的聯(lián)邦學(xué)習(xí)框架,在訓(xùn)練任務(wù)比較復(fù)雜的情況下,移動設(shè)備可能無法承受巨大的計算壓力.而邊緣計算模式能為聯(lián)邦學(xué)習(xí)提供適應(yīng)的場景,可以利用邊緣技術(shù)將更多的計算卸載到邊緣(例如邊緣服務(wù)器)以充分釋放邊緣的價值,為聯(lián)邦學(xué)習(xí)的優(yōu)化提供更多的可能性.本文從通信、模型訓(xùn)練和安全與隱私3個方面分析與對比了聯(lián)邦學(xué)習(xí)效率優(yōu)化的研究方案.根據(jù)現(xiàn)有方案的不足,本文總結(jié)了聯(lián)邦學(xué)習(xí)面臨的一些新挑戰(zhàn),從邊緣計算、數(shù)據(jù)優(yōu)化、自適應(yīng)學(xué)習(xí)、激勵機制以及可行性隱私保護等方面給出了聯(lián)邦學(xué)習(xí)未來的研究方向,并提出了針對聯(lián)邦學(xué)習(xí)效率優(yōu)化的前沿技術(shù)與解決方案,為聯(lián)邦學(xué)習(xí)進一步發(fā)展提供參考.聯(lián)邦學(xué)習(xí)的研究目前雖然還處于發(fā)展階段,但我們認為結(jié)合更多邊緣計算的聯(lián)邦學(xué)習(xí)是未來的重要課題,也將成為實現(xiàn)聯(lián)邦學(xué)習(xí)落地的最后一公里.
作者貢獻聲明:孫兵負責相關(guān)文獻資料的收集、分析和論文初稿的撰寫;劉艷負責文獻補充和相關(guān)圖表的修正;王田提出寫作思路并指導(dǎo)論文撰寫與修改;彭紹亮針對文獻調(diào)研提出意見并指導(dǎo)修改;王國軍和賈維嘉提出論文格式排版建議并校對全文.