Federated Learning with Matched Averaging
聯邦學習允許邊緣裝置協同學習共享模型,同時将訓練資料保留在裝置上,将模型訓練能力與将資料存儲在雲中的需求分離開來。針對例如卷積神經網絡(CNNs)和LSTMs等的現代神經網絡結構的聯邦學習問題,我們提出了聯邦比對平均(FedMA)算法。FedMA通過對特征提取到的具有相似特征的隐元素(即卷積層的通道;LSTM的隐狀态;全連接配接層的神經元)進行比對和平均,按層建構共享全局模型。我們的實驗表明,FedMA訓練的深度CNN和LSTM結構在實際資料集上優于流行的最新聯邦學習算法,同時提高了通信效率。
挖個坑吧,督促自己仔細看一遍論文(ICLR 2020),看看自己什麼時候也能中上那麼一篇(流口水)~
鄭重聲明:原文參見标題,如有侵權,請聯系作者,将會撤銷釋出!

Abstract
聯邦學習允許邊緣裝置協同學習共享模型,同時将訓練資料保留在裝置上,将模型訓練能力與将資料存儲在雲中的需求分離開來。針對例如卷積神經網絡(CNNs)和LSTMs等的現代神經網絡結構的聯邦學習問題,我們提出了聯邦比對平均(FedMA)算法。FedMA通過對提取到的具有相似特征的隐元素(即卷積層的通道;LSTM的隐狀态;全連接配接層的神經元)進行比對和平均,按層建構共享全局模型。我們的實驗表明,FedMA訓練的深度CNN和LSTM結構在實際資料集上優于流行的最新聯邦學習算法,同時提高了通信效率。
1 INTRODUCTION
行動電話、傳感器網絡或車輛等邊緣裝置可以通路大量資料。然而,由于資料隐私、網絡帶寬限制和裝置可用性等問題,将所有本地資料收集到資料中心并進行集中訓練是不現實的。為了解決這些問題,聯邦學習正在興起(McMahan等人,2017年;Li等人,2019年;Smith等人,2017年;Caldas等人,2018年;Bonawitz等人,2019年),以允許本地使用者合作訓練共享的全局模型。
典型的聯邦學習範式包括兩個階段:(i)客戶機獨立地在其資料集上訓練模型(ii)資料中心上載其局部訓練模型。然後,資料中心将接收到的模型聚合到一個共享的全局模型中。标準聚合方法之一是FedAvg(McMahan等人,2017年),其中局部模型的參數按元素平均,權重與用戶端資料集的大小成比例。FedProx(Sahu等人,2018)為使用者的局部損失函數添加了一個近端項,通過限制它們接近全局模型來限制局部更新的影響。不可知聯邦學習(AFL)(Mohri et al.,2019)作為FedAvg的另一個變體,優化了由客戶機分布混合而成的集中分布。
FedAvg算法的一個缺點是權值的坐标平均可能會對性能産生嚴重的不利影響,進而影響通信效率。這一問題是由于神經網絡參數的排列不變性質而産生的,即對于任何給定的神經網絡,它的許多變化隻在參數的順序上不同,構成了實際等價的局部最優。機率聯邦神經比對(PFNM)(Yurochkin等人,2019年)通過在對NNs的參數求平均值之前找到其參數的排列來解決這個問題。PFNM進一步利用貝葉斯非參數機制來調整全局模型大小以适應資料的異質性。結果表明,PFNM具有更好的性能和通信效率,但它隻針對全連接配接NNs開發,并在簡單的體系結構上進行了測試。
我們在這項工作中的貢獻:(i)我們示範了PFNM如何應用于CNNs和LSTMs,但是我們發現,在應用于現代深度神經網絡架構時,PFNM對權重平均的改善非常小;(ii)我們提出了聯邦比對平均(FedMA),以PFNM的比對和模型大小自适應為基礎,提出了一種新的面向現代CNNs和LSTMs的分層聯邦學習算法;(iii)在聯邦學習限制下,對真實資料集的FedMA進行了實證研究。
2 FEDERATED MATCHED AVERAGING OF NEURAL NETWORKS
在這一節中,我們将讨論著名神經網絡結構類别的置換不變性,并在NNs的參數空間中建立适當的平均概念。我們将從單隐層全連接配接網絡的最簡單情況開始,接着是深層架構,最後是卷積架構和遞歸架構。
注:L是隐含層的節點數目,置換矩陣∏将W(1)的L列與W(2)的L行進行置換;對于異質資料集,我們應該找到對應的置換矩陣,進行比對平均。
2.1 MATCHED AVERAGING FORMULATION
注:在資料集j的第l個神經元上,全局模型的神經元與其相似度的權值總和為1;全局模型的第i個神經元與資料集j的神經元相似度的權值總和為1;置換矩陣∏的逆為權值矩陣;若是資料集大小不平衡,可以參照FedAvg算法進行權重;将比對平均根據(2)轉化為最大二部比對問題。
注:在每次疊代中,先根據給定的權值矩陣估計找到對應的全局模型,然後根據匈牙利算法将全局模型和資料集j\'上的局部神經元進行比對,得到新的拓展全局模型;由于資料異質性,局部模型j\'可能存在部分神經元,它們不存在于由其他局部模型構成的全局模型中。是以,我們希望避免“差”比對,即如果最優比對的代價大于某個門檻值,我們将從相應的局部神經元建立一個新的全局神經元而不是比對。我們還需要一個中等大小的全局模型,是以用一些遞增函數f(L\')來懲罰它的大小。其中,全局模型大小記為L。
注:最終的L值即為上圖式子中的L\',對應于資料集j\'上局部神經元成功比對的全局模型神經元的最大序号(從1開始計數);當Lj與L不相等時,置換矩陣的作用是與其他資料集上學到的權重進行對齊,然後填充部分權重為0的啞神經元。最後平均過程中,啞神經元不算入計數。
2.2 PERMUTATION INVARIANCE OF KEY ARCHITECTURES
在讨論卷積和遞歸結構之前,我們讨論了深層全連接配接網絡中的置換不變性和相應的比對平均方法。我們将利用它作為處理LSTMs和CNN架構(如VGG (Simonyan&Zisserman,2014))的建構塊,VGG在實踐中廣泛使用。
注:由于輸出類相同,∏(N)恒等。任何連續的中間層對内的置換耦合導緻一個NP難的組合優化問題,是以我們考慮遞歸(層内)比對平均公式。
2.3 FEDERATED MATCHED AVERAGING (FEDMA) ALGORITHM
定義CNNs和LSTMs的類别置換不變性允許我們将PFNM(Yurochkin et al.,2019)擴充到這些結構,但是我們在圖1中的實證研究(參見One-Shot Matching)表明,這種擴充在解決更複雜任務所需的深層結構上失敗。我們的結果表明,對比對平均層的遞歸處理可能導緻較差的整體解決方案。為了緩解這一問題,并利用“淺層”架構上比對平均的優勢,我們提出以下分層比對方案。首先,資料中心隻從用戶端收集第一層的權重,并執行前面描述的單層比對以擷取聯邦模型的第一層權重。然後,資料中心将這些權重廣播給客戶機,客戶機繼續對其資料集上的所有連續層進行訓練,并保持聯邦比對層處于當機狀态。接着,将此過程不斷重複,直至最後一層。對最後一層,我們根據每個用戶端資料點的類别比例對其進行權重平均。我們在算法1中總結了我們的聯邦比對平均(FedMA)。FedMA方法要求通信輪數等于網絡中的層數。在圖1中,我們展示了層比對FedMA在更深的VGG-9 CNN和LSTM上的性能。在更具挑戰性的異構環境中,FedMA優于相同通信輪次(LeNet和LSTM為4,VGG-9為9)訓練的FedAvg、FedProx和其他基準,即用戶端獨立CNNs及其內建。
FedMA與通信:我們已經證明,在異構資料場景中,FedMA優于其他聯邦學習方法,但是它在性能上仍然落後于完整資料訓練。當然,在聯邦學習的限制下,完整資料訓練是不可能的,但它是我們應該努力達到的性能上限。為了進一步提高我們方法的性能,我們提出了帶通信的FedMA,其中局部客戶在新一輪開始時接收到比對的全局模型,并在前一輪比對結果的基礎上重建與原始局部模型大小(例如VGG-9的大小)相等的局部模型。此過程允許将全局模型的大小保持在較小的範圍内,而不是使用完全比對的全局模型作為每輪客戶機之間的起點的幼稚政策。
3 EXPERIMENTS
我們對帶通信的FedMA進行了實證研究,并将其與最新方法進行比較,即FedAvg(McMahan等人,2017)和FedProx(Sahu等人,2018);分析了在客戶數量不斷增長的情況下的性能,并可視化了FedMA的比對行為,以研究其可解釋性。我們的實驗研究是在三個真實世界的資料集上進行的。關于資料集和相關模型的摘要資訊見補充表3。
實驗設定:我們在PyTorch中實作了FedMA和所考慮的基準方法(Paszke等人,2017)。我們将我們的實證研究部署在一個模拟的聯邦學習環境中,在這個環境中,我們将分布式叢集中的一個集中式節點作為資料中心,其他節點作為本地用戶端。我們實驗中的所有節點都部署在Amazon EC2上的p3.2xlarge執行個體上。為了簡化起見,我們假設資料中心對所有客戶進行抽樣,以加入每一輪通信的訓練過程。
對于CIFAR-10資料集,我們使用資料增強(随機裁剪和翻轉)并對每個單獨的圖像進行正則化(細節在補充中提供)。我們注意到,我們忽略了VGG架構中的所有批正則化處理(Ioffe & Szegedy,2015)層,并将其留給以後的工作。
對于CIFAR-10,我們考慮了兩種資料劃分政策來模拟聯邦學習場景:(i)均勻劃分,其中每個本地用戶端具有每個類的大緻相等的比例;(ii)資料點的數量和類比例不平衡的異構劃分。我們通過采樣pk∼DirJ(0.5)并将第k類訓練執行個體以pk,j的比例配置設定給本地用戶端j,模拟了一個異構劃分為J個用戶端的情況。我們使用CIFAR-10中的原始測試集作為我們的全局測試集,并在該測試集上進行了所有的精度測試。對于莎士比亞的資料集,因為根據Caldas等人(2018年)的說法,每部戲劇中的每個角色都被視為不同的客戶,它具有内在的異質性。我們對Shakespeare資料集進行預處理,過濾掉資料點小于10k的用戶端,最後得到132個用戶端。我們選擇訓練集中80%的資料。然後,我們随機抽取132名客戶中的J=66名進行實驗。我們将客戶機上的所有測試集合并,作為我們的全局測試集。
通信效率和收斂速度:在本實驗中,我們研究了FedMA的通信效率和收斂速度。我們的目标是将我們的方法與FedAvg和FedProx進行比較,在資料中心和客戶機之間交換的總消息大小(以千兆位元組為機關)和全局模型實作良好性能所需的通信輪數(回想一下,完成一次FedMA過程需要的輪數等于局部模型中的層數)測試資料的性能。我們還比較了內建方法的性能。我們在具有VGG-9本地模型的J=16個客戶機的CIFAR-10和具有1層LSTM網絡的J=66個客戶機的Shakespeare資料集上評估了異構聯邦學習場景下的所有方法。我們确定了FedMA、FedAvg和FedProx允許的總通信輪數,即FedMA為11輪,FedAvg和FedProx為99/33輪,分别用于VGG-9/LSTM實驗。我們注意到局部訓練epoch是三種方法共有的參數,是以我們調整局部訓練epoch(我們用E表示)(綜合分析将在下一個實驗中給出),并記錄在最佳E值下的收斂速度,這個最佳E值對應全局測試集産生最佳的最終模型精度。我們還注意到FedProx中還有另一個超參數,即與代理項相關的系數μ,我們還使用網格搜尋來調整參數,并記錄我們發現的最佳μ值,即VGG-9和LSTM實驗的0.001。FedMA在所有情況下都優于FedAvg和FedProx(圖2),當我們在圖2(a)和圖2(c)中将收斂性作為消息大小的函數進行評估時,它的優勢尤其明顯。表1和表2總結了所有訓練模型的最終性能。
局部訓練epochs的影響:先前研究的局部訓練epoch的影響(McMahan等人,2017年;Caldas等人,2018年;Sahu等人,2018年),局部訓練epoch的數量可以影響FedAvg的性能,有時會導緻發散。在異質條件下,我們研究了E在FedAvg、FedProx和FedMA上對CIFAR-10上訓練的VGG-9的影響。我們考慮的候選局部epoch是E∈{10,20,50,70,100,150}。
對于每個候選的E,我們運作FedMA 6輪,而FedAvg和FedProx為54輪,并記錄每個方法所達到的最終精度。結果如圖3所示。我們觀察到訓練時間越長,FedMA的收斂速度越快,這與我們假設的FedMA在品質較高的局部模型上傳回更好的全局模型相吻合。對于FedAvg,較長的局部訓練會導緻最終精度下降,這與之前文獻中的觀察結果相符(McMahan et al.,2017;Caldas et al.,2018;Sahu et al.,2018)。FedProx在一定程度上防止了精度的下降,但最終模型的精度仍在下降。實驗結果表明,FedMA是本地客戶機可以用來訓練模型的唯一方法。
處理資料偏差:現實世界中的資料往往在每一類中表現出多模性,例如地理多樣性。已經證明,在廣泛使用的ImageNet資料集中存在可觀察到的美洲中心和歐洲中心偏差(Shankar等人,2017年;Russakovsky等人,2015年)。在這些資料上訓練的分類器“學習”這些偏差,并且在表現不足的領域(模式)上表現不佳,因為相應的支配領域和類之間的相關性可以阻止分類器學習特征和類之間有意義的關系。例如,接受過美洲中心和歐洲中心資料訓練的分類器可以學習将白色婚紗與“新娘”類相關聯,是以在婚禮傳統不同的國家拍攝的婚禮圖像上表現不佳(Doshi,2018)。
資料偏差場景是聯邦學習的一個重要方面,但是在以往的聯邦學習工作中很少受到關注。在這項研究中,我們認為FedMA可以處理這類問題。如果我們将每個域(如地理區域)視為一個用戶端,本地模型将不會受到聚合資料偏差的影響,并學習特征和類之間有意義的關系。然後可以使用FedMA來學習一個沒有偏見的好的全局模型。我們已經展示了FedMA在跨客戶機異構資料的聯邦學習問題上的強大性能,這個場景非常類似。為了驗證這一猜想,我們進行了以下實驗。
利用CIFAR-10資料集,随機選取5個類,使其中95%的訓練圖像灰階化,模拟了領域遷移問題。對于剩下的5類,我們隻将5%的相應圖像轉換為灰階。通過這樣做,我們建立了5個以灰階圖像為主的類和5個以彩色圖像為主的類。在測試集中,每個類都有一半灰階圖像和一半彩色圖像。我們預計,完整資料訓練将提取灰階和某些類之間的非資訊相關性,這将導緻沒有這些相關性的測試性能較差。在圖4中,我們看到,與正常(即無偏差)訓練和測試相比,在沒有任何灰階縮放的情況下,完整資料訓練的性能較差。
接下來我們比較了基于聯邦學習的方法。我們将圖像從彩色主導類和灰階主導類分割為兩個用戶端。然後,我們對這兩個客戶機使用帶通信的FedMA、FedAvg和FedProx。FedMA明顯優于完整資料訓練和其他聯邦學習方法,如圖4所示。這一結果表明了一個很有意思的事情,FedMA可能超越聯邦學習限制下的學習,在聯邦學習限制下,完整資料訓練是性能的上限,但也可以通過消除資料偏差來優于完整資料訓練。
我們考慮另外兩種方法來消除無聯邦學習限制的資料偏差。減輕資料偏差的一種方法是有選擇地收集更多的資料來降低資料集偏差。在我們的實驗中,這意味着為灰階主導類獲得更多的彩色圖像,為彩色主導類獲得更多的灰階圖像。我們通過簡單地做一個完整資料訓練來模拟這個場景,訓練和測試圖像中的每個類都有相同數量的灰階和彩色圖像。這個過程,色彩平衡(Color Balanced),執行良好,但選擇性收集新的資料在實踐中可能是昂貴的,甚至不可能。與其收集新資料,不如考慮将可用資料過采樣來降低偏差。在過采樣中,我們對表示不足的領域進行采樣(通過替換采樣),以使每個類的彩色圖像和灰階圖像的比例相等(過采樣的圖像也通過資料增強,例如随機翻轉和裁剪,以進一步增強資料多樣性)。這種方法可能容易對過采樣的圖像進行過度拟合,我們發現,與有偏資料集上的集中訓練相比,這種方法隻提供了模型精度的邊際提高,并且性能明顯不如FedMA。
資料效率:衆所周知,當有更多的訓練資料可用時,深度學習模型表現得更好。然而,在聯邦學習的限制下,資料效率并沒有得到充分的研究。這裡的挑戰是,當新的客戶機加入聯邦系統時,它們各自都會帶來自己的資料分布版本,如果處理不當,盡管客戶機之間的資料量不斷增加,但這可能會降低性能。為了模拟這個場景,我們首先将整個訓練CIFAR-10資料集劃分為5個同質的部分。然後我們把每個同質資料塊進一步非均勻地分成5個子塊。使用此政策,我們将CIFAR-10訓練集劃分為25個異質的小子資料集,每個子資料集包含大約2K個資料點。我們進行了一個5步實驗研究:從随機選擇的由5個相關的異質子塊組成的同質塊開始,我們模拟了一個5客戶機的聯邦學習異構問題。對于每個連續的步驟,我們添加一個剩餘的同質資料塊,其中包含5個具有異質子資料集的新用戶端。結果如圖5所示。在聯邦學習系統中添加新的用戶端時,FedMA(單輪)的性能提高,而FedAvg(9輪通信)的性能下降。
可解釋性:FedMA的優點之一是它比FedAvg更有效地利用通信輪次。FedMA不是直接按元素平均權重,而是識别比對的卷積濾波器組,然後将它們平均到全局卷積濾波器中。很自然地會問“比對的過濾器看起來怎麼樣?”。在圖6中,我們可視化了一對比對的局部濾波器、聚合的全局濾波器和FedAvg方法在相同輸入圖像上傳回的濾波器生成的表示。比對濾波器和用FedMA找到的全局濾波器正在提取輸入圖像的相同特征,即用戶端1的濾波器0和用戶端2的濾波器23正在提取馬腿的位置,而相應的比對全局濾波器0也在提取相同位置。對于FedAvg,全局濾波器0是用戶端1的濾波器0和用戶端2的濾波器0的平均值,這明顯篡改了用戶端1的濾波器0的腿部提取功能。
4 CONCLUSION
本文提出了一種新的分層聯邦學習算法FedMA,該算法利用機率比對和模型大小自适應,适用于現代CNNs和LSTMs體系結構。通過實驗驗證了FedMA的收斂速度和通信效率。在未來,我們希望将FedMA擴充到尋找最優平均政策。此外,如何使FedMA支援更多的建構塊,例如CNN和批正則化層中的剩餘結構,也是後續的研究方向。