Federated Learning with Matched Averaging


挖個坑吧,督促自己仔細看一遍論文(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和批正則化層中的剩余結構,也是后續的研究方向。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM