舒志鴻,沈蘇彬
(1.南京郵電大學(xué) 計算機學(xué)院,江蘇 南京 210046;2.南京郵電大學(xué) 通信與網(wǎng)絡(luò)技術(shù)國家工程研究中心,江蘇 南京 210046)
隨著互聯(lián)網(wǎng)以及移動終端技術(shù)的持續(xù)發(fā)展,智能手機等移動設(shè)備已經(jīng)成為人們生活中不可或缺的組成部分,并在與用戶交互的過程中產(chǎn)生了大量的數(shù)據(jù)。使用機器學(xué)習(xí)算法對這些數(shù)據(jù)進行深度分析可以幫助服務(wù)商充分了解用戶,為用戶提供更好的服務(wù)。傳統(tǒng)的機器學(xué)習(xí)策略要求移動設(shè)備將數(shù)據(jù)上傳到云服務(wù)器或數(shù)據(jù)中心進行處理[1],然而,數(shù)據(jù)隱私和安全問題越來越受到社會及公眾的重視,例如歐盟在2018年推出的《通用數(shù)據(jù)保護條例》[2]中明確規(guī)定數(shù)據(jù)的收集和存儲必須在消費者同意的條件下進行。在這種趨勢下,傳統(tǒng)方法或?qū)⒉辉龠m用。
為了解決該問題,Google[3]提出了一種分布式的機器學(xué)習(xí)方法,稱為聯(lián)邦學(xué)習(xí)(FL)。在FL中,客戶端在本地訓(xùn)練自己的局部模型,然后僅僅將局部模型的參數(shù)發(fā)送到服務(wù)器進行聚合,以更新全局模型。FL重復(fù)上述過程直到全局模型收斂或達到所需的訓(xùn)練準(zhǔn)確率為止。區(qū)別于典型的分布式機器學(xué)習(xí),F(xiàn)L的一個關(guān)鍵特征是數(shù)據(jù)的異質(zhì)性,即:
(1)非獨立同分布(Non-IID):移動設(shè)備上的本地數(shù)據(jù)集取決于用戶的使用情況,因此任意客戶端的本地數(shù)據(jù)分布都無法代表全局?jǐn)?shù)據(jù)的分布。
(2)不平衡:用戶使用服務(wù)或應(yīng)用程序的頻率不同,造成客戶端上的數(shù)據(jù)量存在差異。
由于模型參數(shù)的龐大以及移動設(shè)備有限的通信帶寬,通信成本成為制約FL發(fā)展的主要因素之一[4]。為了應(yīng)對這一挑戰(zhàn),McMahan等人[5]提出了目前廣為使用的FL算法聯(lián)邦平均(federated averaging,F(xiàn)edAvg),他們以平均的方式聚合各個參與方的局部模型以更新全局模型,并通過增加聚合期間局部模型的訓(xùn)練次數(shù),減少通信開銷。這項研究考慮了客戶端上數(shù)據(jù)量的差異,但卻假設(shè)全局?jǐn)?shù)據(jù)平衡分布,即在所有客戶端收集到的數(shù)據(jù)中各個類別的樣本數(shù)量分布是均衡的。
然而在許多實際應(yīng)用中都存在全局?jǐn)?shù)據(jù)不平衡的情況,例如欺詐檢測[6]、圖像識別[7]等。而Duan等人[8]通過進一步的研究表明,F(xiàn)edAvg在全局?jǐn)?shù)據(jù)不平衡時的表現(xiàn)不佳。
該文主要研究全局?jǐn)?shù)據(jù)不平衡時FL通信效率的優(yōu)化,在FedAvg的基礎(chǔ)上提出了一種基于數(shù)據(jù)分布加權(quán)聚合的FL算法(federated learning with data distribution weighted aggregation,F(xiàn)LDWA)。FLDWA通過客戶端的本地數(shù)據(jù)分布與平衡分布之間的海林格距離衡量本地數(shù)據(jù)的平衡程度,并將相關(guān)信息發(fā)送至FL服務(wù)器。然后,F(xiàn)L服務(wù)器據(jù)此為客戶端執(zhí)行加權(quán)聚合,從而在全局?jǐn)?shù)據(jù)不平衡時更加高效地提取局部模型的信息。
在公開數(shù)據(jù)集MNIST[9]上使用多種不同的設(shè)置進行了仿真實驗,以驗證所提出方法的正確性和有效性,該數(shù)據(jù)集已被廣泛用于FL的相關(guān)研究中。實驗結(jié)果表明,在不平衡的MNIST上,F(xiàn)LDWA可以有效提升FL的通信效率。
優(yōu)化FL在全局?jǐn)?shù)據(jù)不平衡時的通信效率,一個直接的想法是解決全局?jǐn)?shù)據(jù)不平衡問題。在本節(jié)中,從不平衡數(shù)據(jù)上的機器學(xué)習(xí)以及聯(lián)邦學(xué)習(xí)兩個角度介紹和分析相關(guān)的一些研究。
(1)不平衡數(shù)據(jù)上的機器學(xué)習(xí)。
數(shù)據(jù)不平衡主要是指數(shù)據(jù)集中某些類的樣本數(shù)量遠大于另一些類。一般將樣本數(shù)量非常多的類稱為多數(shù)類,樣本數(shù)量較少的則稱為少數(shù)類[10]。該問題可以通過修改訓(xùn)練數(shù)據(jù)或調(diào)整學(xué)習(xí)策略加以解決[11]。前者旨在刪除部分多數(shù)類(欠采樣)或生成部分少數(shù)類(過采樣)樣本使數(shù)據(jù)分布重新達到平衡狀態(tài),文獻[12]提出了一種基于聚類的欠采樣方法,通過K均值聚類算法對多數(shù)類進行了聚類,并用聚類中心代替同簇數(shù)據(jù)。Chawla等人[13]提出了合成少數(shù)類過采樣技術(shù)(SMOTE),通過對少數(shù)類進行分析并結(jié)合線性插值的方法生成新的少數(shù)類樣本。調(diào)整學(xué)習(xí)策略的方法則致力于對損失函數(shù)進行修改從而削弱算法對少數(shù)類的偏見,最受歡迎的方案是代價敏感學(xué)習(xí)[14]。該方法增加了少數(shù)類樣本的誤分類成本從而提高了對少數(shù)類的關(guān)注。文獻[15]中使用了再縮放技術(shù)對代價敏感學(xué)習(xí)進行改善,使其能夠適用于多分類任務(wù)。
然而,上述方法不適用于FL。FL數(shù)據(jù)僅能夠被其擁有者所訪問,導(dǎo)致采樣的方法難以實現(xiàn)。并且由于無從獲取整體數(shù)據(jù)的分布情況,調(diào)整學(xué)習(xí)策略的解決方案僅能在局部使用,這將導(dǎo)致各個用戶的局部模型不一致。
(2)聯(lián)邦學(xué)習(xí)。
通信效率的優(yōu)化一直是FL的主要研究方向之一。McMahan等人[16]提出了結(jié)構(gòu)化更新和粗略更新,通過稀疏化和編碼技術(shù)實現(xiàn)了傳輸參數(shù)的縮小。文獻[17]對模型參數(shù)進行了有損壓縮,并且通過在訓(xùn)練過程中刪除固定數(shù)量激活單元的方法進一步簡化了參數(shù)的復(fù)雜度,實現(xiàn)了通信開銷的優(yōu)化,從而擴展了文獻[16]中的研究。雖然壓縮模型參數(shù)的方法擁有極強的泛用性,但會導(dǎo)致準(zhǔn)確性的犧牲。
Chen等人[18]將神經(jīng)網(wǎng)絡(luò)分為深層和淺層,并以不同的頻率更新它們的參數(shù),同時根據(jù)參數(shù)的時效性調(diào)整了聚合策略,實現(xiàn)了通信成本的降低。Liu等人[19]設(shè)計了一種具有客戶端-邊緣-云的分層FL系統(tǒng),通過各層之間的協(xié)作減少了資源的消耗。Yao等人[20]將最大均值差異(MMD)引入損失函數(shù)中,通過最小化局部模型和全局模型的MMD損失,減少了算法所需的通信回合。然而,上述工作沒有考慮到全局?jǐn)?shù)據(jù)不平衡對FL的影響。
目前只有少數(shù)研究關(guān)注全局?jǐn)?shù)據(jù)不平衡問題。Duan等人[8]通過數(shù)據(jù)擴充減輕單個客戶端的不平衡程度,并且在服務(wù)器與客戶端之間設(shè)置中介,根據(jù)客戶端數(shù)據(jù)分布的Kullback-Leibler距離重新安排它們的協(xié)作訓(xùn)練。該方法引入了不可忽視的存儲和時間開銷,這可能會成為應(yīng)用的限制。
與上述的研究相比,筆者更加關(guān)注方法的普適性,致力于在盡量避免額外的成本或犧牲的情況下,提升全局?jǐn)?shù)據(jù)不平衡時FL的通信效率。
通常,F(xiàn)L包含兩個主要的實體,即客戶端和服務(wù)器。客戶端k(k=1,2,…,K)持有一個私有的本地數(shù)據(jù)集Dk,并在Dk上最小化損失函數(shù)fk(w)以訓(xùn)練局部模型。令D=∪k∈KDk表示全局?jǐn)?shù)據(jù)集,|D|和|Dk|分別表示全局?jǐn)?shù)據(jù)集以及客戶端k上的本地數(shù)據(jù)集的數(shù)據(jù)量。則FL的優(yōu)化目標(biāo)定義為:
(1)
其中,F(xiàn)(w)為全局模型的損失函數(shù),定義如下:
(2)
在FL中,服務(wù)器收集所有局部模型的模型參數(shù),并通過將它們聚合以更新全局模型。所以,F(xiàn)L的性能在很大程度上取決于聚合策略。目前廣泛使用的聚合策略是由FedAvg算法[5]中提出的平均聚合,其具體實現(xiàn)由式(3)給出:
(3)
在對不平衡數(shù)據(jù)集進行分類操作時,算法為了提高分類精度,會傾向于將多數(shù)類分類正確,從而對少數(shù)類產(chǎn)生偏見。所以對于同一個機器學(xué)習(xí)任務(wù),通常使用分布更加平衡的訓(xùn)練數(shù)據(jù)得到的模型質(zhì)量也會更高。
由于數(shù)據(jù)隔離的原因,F(xiàn)L無法直接使用全局?jǐn)?shù)據(jù)進行訓(xùn)練,而是通過聚合局部模型達到學(xué)習(xí)的目的。當(dāng)全局?jǐn)?shù)據(jù)不平衡時,由于FL的本地數(shù)據(jù)集具有非獨立同分布的特點,各個客戶端的本地數(shù)據(jù)在分布平衡程度上出現(xiàn)差異,導(dǎo)致訓(xùn)練出來的局部模型質(zhì)量也會有所差異。由式(3)可知,F(xiàn)edAvg算法中的聚合策略僅根據(jù)客戶端上的數(shù)據(jù)量確定相應(yīng)局部模型的權(quán)重。這可能并不合理,因為數(shù)據(jù)分布更為平衡的客戶端通常會訓(xùn)練出質(zhì)量更高的局部模型,應(yīng)該在聚合時具有更高的權(quán)重。
本節(jié)提出的數(shù)據(jù)分布加權(quán)聚合的聯(lián)邦學(xué)習(xí)(FLDWA)方法在FedAvg的基礎(chǔ)上加入了對數(shù)據(jù)分布的考慮。量化了每個FL本地數(shù)據(jù)集的平衡程度,據(jù)此調(diào)整了聚合策略,從而更加有效地提取局部模型的信息。此外,只要本地數(shù)據(jù)集不發(fā)生變化,其平衡程度也不會改變。所以在算法的執(zhí)行過程中,客戶端只需首次與服務(wù)器通信時將相關(guān)信息上傳即可。
(1)本地數(shù)據(jù)集平衡程度的量化。
使用海林格距離對本地數(shù)據(jù)集的平衡程度進行量化。在概率論和統(tǒng)計理論中,海林格距離被用來度量兩個概率分布的相似程度[21]。設(shè)兩個離散概率分布分別為U=(u1,u2,…,un)和V=(v1,v2,…,vn),則它們之間的海林格距離定義為:
(4)
于是,本地數(shù)據(jù)集的平衡程度可以通過計算其與平衡數(shù)據(jù)集的海林格距離來刻畫。平衡數(shù)據(jù)集是指各類別樣本數(shù)量分布均衡的數(shù)據(jù)集,但目前還沒有研究指出各類別樣本需要滿足何種數(shù)量關(guān)系才能定義為均衡,該文不解決此問題。由此,定義了一個基準(zhǔn)數(shù)據(jù)集Db作為平衡數(shù)據(jù)集的替代。在基準(zhǔn)數(shù)據(jù)集中,各個類別的樣本數(shù)量嚴(yán)格遵循1∶1∶…∶1的規(guī)律。
本地數(shù)據(jù)集與基準(zhǔn)數(shù)據(jù)集的海林格距離越小,表示兩者的相似度越高,也即該數(shù)據(jù)集的平衡程度越高。值得注意的是,海林格距離與相似度是負(fù)相關(guān)的,為了便于后續(xù)的計算以及更為直觀地表示平衡程度,需要對其進行轉(zhuǎn)換??紤]到海林格距離滿足柯西-施瓦茲不等式,所以其具有如下性質(zhì):
0≤H(U,V)≤1
(5)
最終,使用式(6)所示的Bk表征本地數(shù)據(jù)集Dk的平衡情況,稱為平衡度。它是通過將式(7)計算出的本地數(shù)據(jù)集與基準(zhǔn)數(shù)據(jù)集之間的海林格距離關(guān)于其值域進行翻轉(zhuǎn)后得到的:
Bk=1-Hk
(6)
Hk=H(Pk,Pb)
(7)
其中,Pk和Pb分別為本地數(shù)據(jù)集Dk與基準(zhǔn)數(shù)據(jù)集Db上的概率分布。
(2)局部模型的聚合策略。
在FedAvg中,聚合策略僅根據(jù)客戶端的數(shù)據(jù)量進行加權(quán),其權(quán)重為:
(8)
在此基礎(chǔ)上加入了對客戶端上本地數(shù)據(jù)分布的考慮。為此,將上節(jié)中得到的平衡度通過歸一化的方法轉(zhuǎn)化為權(quán)重的形式。具體計算方式為:
(9)
FLDWA通過結(jié)合上述兩種權(quán)重得到最終的綜合權(quán)重。考慮到隨著實際情況的變化,兩種權(quán)重會對綜合權(quán)重產(chǎn)生不同的影響,所以定義了影響因子eq和es表示它們對綜合權(quán)重的影響程度。雖然數(shù)據(jù)量和平衡度都會對局部模型的質(zhì)量產(chǎn)生作用,但是權(quán)重計算的是客戶端在某個因素上的相對差距。例如數(shù)據(jù)量相同的多個客戶端,通過式(8)計算出的權(quán)重也是相同的,此時可以僅使用由式(9)所確定的平衡度權(quán)重進行加權(quán),因為數(shù)據(jù)量對局部模型質(zhì)量的影響不存在差異。
(10)
(11)
基于此,將式(3)的聚合策略改寫為:
(12)
文中實驗是在MNIST數(shù)據(jù)集上進行的。該數(shù)據(jù)集共包含60 000張訓(xùn)練圖像和10 000張測試圖像。測試圖像中,不同類別對應(yīng)的圖像數(shù)量在892到1 135之間,為了構(gòu)造出分布平衡的測試集,隨機刪除了一些圖像,最后使所有類別對應(yīng)的圖像數(shù)量都為892張。
采用多層感知機(multilayer perceptron,MLP)和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)兩種模型來評估文中的研究,其網(wǎng)絡(luò)結(jié)構(gòu)與文獻[5]中使用的模型保持一致。同時,選擇FedAvg作為基準(zhǔn)算法進行對比,該算法目前已用于眾多FL實際應(yīng)用中[22]。
為了對FLDWA進行測試和評估,設(shè)計了兩組實驗。第一組實驗探究了本地數(shù)據(jù)集的平衡程度對算法的影響,第二組實驗則對比了FLDWA與基準(zhǔn)算法在多種不同設(shè)置下的表現(xiàn)。實驗中所有結(jié)果皆為10次獨立實驗的平均值。
(1)本地數(shù)據(jù)集的平衡程度對算法的影響。
該實驗為對照實驗,分為正常組和不平衡組。從MNIST中抽取了4個數(shù)據(jù)量相同的子集作為本地數(shù)據(jù)集分發(fā)給客戶端,正常組中4個本地數(shù)據(jù)集都是平衡數(shù)據(jù)集,不平衡組中則含有一個極度不平衡的本地數(shù)據(jù)集,其僅持有一個類別的數(shù)據(jù)樣本。
圖1顯示了FLDWA和基準(zhǔn)算法在正常組和不平衡組使用CNN模型達到98%準(zhǔn)確率所需的通信回合。可以看出,正常組中FLDWA與FedAvg的性能相同,因為相同的客戶端數(shù)據(jù)分布并未對算法產(chǎn)生影響,此時可以將FedAvg視為FLDWA的一種特例。在不平衡組中,兩種算法所需的通信回合都出現(xiàn)了增長,但FedAvg需要額外30%的回合才能達到目標(biāo)準(zhǔn)確率。這表明使用平衡度低的本地數(shù)據(jù)集訓(xùn)練的局部模型質(zhì)量較低,由于FedAvg在聚合時對所有局部模型一視同仁,因此其性能明顯低于FLDWA。
圖1 兩種算法達到目標(biāo)準(zhǔn)確率所需通信回合對比
圖2顯示了FLDWA中的聚合權(quán)重。FLDWA為數(shù)據(jù)不平衡的客戶端4分配了很小的權(quán)重,限制了其在聚合時的影響力,其他平衡的客戶端被分配以較高的權(quán)重??梢园l(fā)現(xiàn),F(xiàn)LDWA能夠準(zhǔn)確識別本地數(shù)據(jù)集的平衡度為其分配合適的權(quán)重,更加有效地聚合各方的信息。
圖2 FLDWA中客戶端的聚合權(quán)重
(2)FLDWA與FedAvg的對比。
在該實驗中,分別使用MLP和CNN模型對FLDWA和基準(zhǔn)算法進行了對比,并且根據(jù)客戶端上數(shù)據(jù)量是否相同,每種模型又分別進行了兩組實驗。構(gòu)造客戶端數(shù)據(jù)時,為了反映出FL數(shù)據(jù)非獨立同分布的特點,在保證全局?jǐn)?shù)據(jù)不平衡的前提下,隨機控制本地數(shù)據(jù)集中的類別個數(shù)以及各個類別樣本的數(shù)量,并且使得任何本地數(shù)據(jù)集之間都不存在相同的樣本。
圖3比較了兩種算法在不同設(shè)置下的性能表現(xiàn)。可以觀察到,F(xiàn)LDWA在各種設(shè)置下都以較少的通信回合達到了同樣的準(zhǔn)確率,并且在相同的通信回合中,其準(zhǔn)確率均優(yōu)于基線算法。這充分證實了FLDWA的聚合策略更為高效,有助于生成性能更好的全局模型。另一方面,(a)(c)兩組實驗中,客戶端的數(shù)據(jù)量是相同的,此時FLDWA的聚合權(quán)重僅與本地數(shù)據(jù)集的平衡度有關(guān)。這也表明根據(jù)平衡度進行全局模型的聚合可以取得良好的效果,是一種有效的方法。
圖3 不同實驗設(shè)置下的測試集準(zhǔn)確率和通信回合的關(guān)系
表1中列出了不同的設(shè)置下(對應(yīng)于圖3中的(a),(b),(c),(d))使用兩種算法達到目標(biāo)準(zhǔn)確率所需的通信回合(MLP模型目標(biāo)準(zhǔn)確率為93%,CNN模型則是98%),以及FLDWA相較基線算法的通信回合減少率??梢杂^察到在(a)組實驗的設(shè)置下,F(xiàn)LDWA達到目標(biāo)準(zhǔn)確率平均需要118輪通信回合,而傳統(tǒng)的FedAvg則需要大約143輪才能取得同樣的效果,從而降低了17.4%的通信成本。盡管實驗設(shè)置不盡相同,但在(b),(c),(d)三組實驗上均可以得出類似的結(jié)論,所提出的算法分別將通信成本降低了15.6%、14.6%和15.8%。這證實了在全局?jǐn)?shù)據(jù)不平衡時,F(xiàn)LDWA具有更高的通信效率,并且對于不同的數(shù)據(jù)量情況和不同的機器學(xué)習(xí)模型都具有很好的魯棒性。
表1 不同設(shè)置下FedAvg和FLDWA達到目標(biāo) 準(zhǔn)確率所需的通信回合以及以FedAvg 為基準(zhǔn)的通信回合的減少率
此外,作為對比和補充,也對FLDWA在全局?jǐn)?shù)據(jù)平衡時的表現(xiàn)進行了評估。實驗結(jié)果在表2中進行了展示。
表2 全局?jǐn)?shù)據(jù)平衡時FedAvg和FLDWA達到 目標(biāo)準(zhǔn)確率所需的通信回合
從數(shù)據(jù)中可以看出在全局?jǐn)?shù)據(jù)平衡時,兩種算法達到目標(biāo)準(zhǔn)確率所需的通信回合差異較小,F(xiàn)LDWA僅帶來了微弱的提升。這可能歸因于全局?jǐn)?shù)據(jù)平衡時,雖然也可能會出現(xiàn)分布不平衡的本地數(shù)據(jù)集,但是該數(shù)據(jù)集中缺失或冗余的信息恰好與其他本地數(shù)據(jù)集對應(yīng)的部分互補,于是局部模型通過平均聚合能夠獲得很好的調(diào)整。同時這也表明,F(xiàn)LDWA同樣適用于全局?jǐn)?shù)據(jù)平衡任務(wù),并且在多數(shù)情況下表現(xiàn)出優(yōu)于FedAvg的通信效率。
該文提出了一種基于數(shù)據(jù)分布加權(quán)聚合的FL算法FLDWA,旨在提升FL在全局?jǐn)?shù)據(jù)不平衡時的通信效率。該算法基于海林格距離對客戶端的本地數(shù)據(jù)分布平衡程度進行了量化,并據(jù)此重新確定了其在FL聚合時的權(quán)重,使算法在更少的通信回合內(nèi)收斂或達到目標(biāo)準(zhǔn)確率。實驗結(jié)果表明,與流行的FL算法FedAvg相比,該方法有效降低了通信成本,并且在采用不同的機器學(xué)習(xí)模型和本地數(shù)據(jù)集大小時都有著很好的表現(xiàn),具有較強的泛用性。
在接下來的工作中,將對該算法進行擴展,結(jié)合同態(tài)加密、安全多方計算等技術(shù)進一步為FL提供更強大的安全保證。此外,可能存在惡意節(jié)點向FL服務(wù)器發(fā)送錯誤的模型更新信息,從而降低FL的性能。如何檢測和避免惡意攻擊也是接下來重點關(guān)注的研究方向。