- 產(chǎn)品
- 產(chǎn)品解決方案
- 行業(yè)解決方案
- 案例
- 數(shù)據(jù)資產(chǎn)入表
- 賦能中心
- 伙伴
- 關于
-
數(shù)據(jù)治理
-
醫(yī)療衛(wèi)生
制造
-
億信動態(tài)
時間:2022-03-12來源:用微笑釋懷瀏覽數(shù):317次
聯(lián)邦學習是一種機器學習設定,其中許多客戶端(例如:移動設備或整個組織)在中央服務器(例如:服務提供商)的協(xié)調(diào)下共同訓練模型,同時保持訓練數(shù)據(jù)的去中心化及分散性。聯(lián)邦學習的長期目標則是:在不暴露數(shù)據(jù)的情況下分析和學習多個數(shù)據(jù)擁有者(客戶端或者獨立的設備)的數(shù)據(jù)。
進一步而言,聯(lián)邦學習可定義為:Federated Learning = Collaborative Machine Learning without Centralized Training Data(沒有集中訓練數(shù)據(jù)的協(xié)作機器學習)[1],將機器學習的能力與將數(shù)據(jù)存儲在云中的需求進行分離。

圖1:Google聯(lián)邦學習框架圖(鏈接[1])

圖2:Federated Learning Survey(鏈接[2])
接下來我們將從聯(lián)邦學習中的挑戰(zhàn)和未來進展剖析聯(lián)邦學習。
▊ 聯(lián)邦學習中的挑戰(zhàn)
1. Expensive Communication:聯(lián)邦學習可能由大量設備(例如數(shù)百萬部智能手機)組成,網(wǎng)絡中的通信可能比本地計算慢許多數(shù)量級;網(wǎng)絡中的通信可能比傳統(tǒng)數(shù)據(jù)中心環(huán)境中的通信昂貴得多;為了使模型更適合聯(lián)邦網(wǎng)絡,因此有必要開發(fā)出通信高效的方法,在訓練過程中迭代發(fā)送小消息或模型更新,而不是通過網(wǎng)絡發(fā)送整個數(shù)據(jù)集。
通信是在開發(fā)聯(lián)邦網(wǎng)絡的方法時需要考慮的一個關鍵瓶頸:具體而言,可分為以下三種解決方法:
(1)local updating methods本地更新方法;(2)compression schemes壓縮方法;(3)decentralized training分布式訓練。local updating methods:如下圖所示,通過局部小批量更新可以降低通信代價,在每一輪通信中并行地在每臺機器上應用可變數(shù)量的本地更新,從而使計算量與通信相比更加靈活。

圖3:關于多次局部小批次更新示意圖(鏈接[3])
compression schemes:通常而言,稀疏化、子采樣和量化等模型壓縮方案可以顯著減少每一輪通信的消息的大小;但是在聯(lián)邦學習環(huán)境中,設備的低參與度、Non-IID的本地數(shù)據(jù)和本地更新方案對這些模型壓縮方法提出了新的挑戰(zhàn)。然而,一些工作在聯(lián)邦學習中提供了實用的策略:迫使設備與服務器間更新的模型具有稀疏性和低秩性,并使用使用結構化隨機旋轉(zhuǎn)進行量化(Federated learning: strategies for improving communication efficiency)、使用有損壓縮和Dropout技術來減少服務器到設備之間的通信(Expanding the reach of federated learning by reducing client resource requirements)。
decentralized training:在數(shù)據(jù)中心環(huán)境中,當在低帶寬或者高延遲的網(wǎng)絡上運行時,分散訓練已被證明比集中訓練更快;類似地,在聯(lián)邦學習中,分散的算法在理論上可以降低設備與中心服務器之間的高通信成本。有研究提出,分層通信模式,以進一步減輕中心服務器的負擔,首先利用邊緣服務器聚合來自邊緣設備的更新,然后依賴云服務器聚合來自邊緣服務器的更新。

圖4:關于集中式與分散式訓練示意圖(鏈接[3])
2. Systems Heterogeneity:由于硬件、網(wǎng)絡連接和電源電量的差異,聯(lián)邦網(wǎng)絡中每個設備的存儲、計算和通信能力可能會有所不同;此外每個設備上的網(wǎng)絡規(guī)模和系統(tǒng)相關限制通常會導致只有一小部分設備同時處于活動狀態(tài),例如在數(shù)百萬設備網(wǎng)絡中可能只有數(shù)百臺設備處于活動狀態(tài);同時每個設備也可能不可靠,活動設備在給定的迭代中退出的情況并不少見。基于上述問題,系統(tǒng)異構性層面的解決方法大致可以分為如下所示:
(1)異步通信;(2)主動設備采樣;(3)容錯機制。Asynchronous Communication:雖然異步參數(shù)服務器在分布式數(shù)據(jù)中心中取得了成功,但經(jīng)典的有界延遲假設在聯(lián)邦設置中可能是不現(xiàn)實的,其中延遲可能在數(shù)小時到數(shù)天或完全無界,因此需要設計出基于異步通信針對設備層面的聯(lián)邦學習算法。Active Sampling:在聯(lián)邦網(wǎng)絡中,通常只有一小部分設備參與每輪訓練,為了減少系統(tǒng)異構性的影響,我們可以在每一輪中主動選擇參與設備。但是,如何擴展這些方法以處理實時的、特定于設備的計算和通信延遲波動仍然是還未解決的。Fault Tolerance:當在遠程設備上學習時,容錯機制變得更加關鍵,因為一些參與設備在給定訓練迭代完成之前的某個時間點退出是很常見的。一種實用的策略是簡單地忽略此類設備故障,但是可能會引入偏差,經(jīng)過訓練的聯(lián)邦模型將偏向具有良好網(wǎng)絡條件的設備。3. Statistical Heterogeneity:設備經(jīng)常以不同的方式在網(wǎng)絡中生成和收集數(shù)據(jù):例如預測移動電話用戶的下一個單詞任務中用戶在上下文中可能會使用不同的語言。此外跨設備之間的數(shù)據(jù)數(shù)量可能會有很大差異,并且獲取設備及其相關分布之間的關系結構或許很難;這種數(shù)據(jù)生成范式違背常用的獨立同分布假設,并可能增加建模、分析和評估方面的復雜性。當從設備上分布不相同的數(shù)據(jù)中訓練聯(lián)邦模型時,就會出現(xiàn)統(tǒng)計異構性的挑戰(zhàn),其中比較有效的則是對異構數(shù)據(jù)進行建模。在機器學習中有大量的文獻通過元學習和多任務學習等方法來建模統(tǒng)計異質(zhì)性,這些想法最近被擴展到聯(lián)邦設置:
1)通過學習每個設備獨立但相關的模型來實現(xiàn)個性化,同時通過多任務學習共享表示(Federated multi-task learning);
2)在一些共享的代理數(shù)據(jù)上集中訓練一個全局模型后,通過運行FedAvg來探索個性化的遷移學習(Federated learning with non-iid data)。
▊ 聯(lián)邦學習中的未來進展
基于此前提出的挑戰(zhàn),首先在通信方面提出:
1)Extreme communication schemes 極端通信方案:最近,一次性或者少量的啟發(fā)式通信方案最近被提出作為聯(lián)邦學習通信方面的設置;
2)Communication reduction 減少通信:在聯(lián)邦訓練中減少通信的幾種方法,如本地更新和模型壓縮(梯度壓縮和量化方法),進一步考慮的是,在相同的通信預算下實現(xiàn)比任何其他方法更大的精度;
其次,在數(shù)據(jù)層面提出:1)Self-supervised learning 自監(jiān)督學習:現(xiàn)實的聯(lián)邦網(wǎng)絡中生成的許多數(shù)據(jù)可能是未標記的或弱標記的,在聯(lián)邦網(wǎng)絡中解決監(jiān)督學習之外的問題可能需要解決可伸縮性、異質(zhì)性和隱私方面的類似挑戰(zhàn);
2)個性化算法:對于單個客戶端可用的Non-IID數(shù)據(jù)分布下的完全分散方案,一項重要任務是設計用于學習個性化模型集合的算法。
▊ 總結
從廣義上來說,聯(lián)邦學習更像是某一類問題或需求的總稱:在確保數(shù)據(jù)隱私的基礎下,如何聯(lián)合多個數(shù)據(jù)擁有方共同訓練出更好的模型;狹義上來說則是指:一類基于客戶-服務器的特定算法,通過僅僅暴露出某些中間信息來換取更高效率、模型精度以及安全的隱私保護算法。
就當前來看,主要還是聚焦于聯(lián)邦學習中Non-IID數(shù)據(jù)的處理策略(個性化、設計異構算法、基于多任務/元學習、用戶選擇與聚類)、通信效率優(yōu)化(剪枝+量化,與知識蒸餾結合的文章也有許多,知識蒸餾/遷移學習+聯(lián)邦學習是熱點)與降低聯(lián)邦網(wǎng)絡訓練能耗方向。
個人研究方向是基于Non-IID的聯(lián)邦學習算法設計,現(xiàn)在就主要就該問題進行一些深入,希望可以給大家?guī)硪恍┬碌膇dea。Non-IID指的是:變量之間非獨立,或者非同分布(由于聯(lián)邦學習特殊的場景,每個設備不可能完全一樣,因此其設備上的數(shù)據(jù)往往是非同分布的)。每個用戶本地的數(shù)據(jù)分布會隨著用戶所在地以及用戶偏好而變動。
如何降低Non-IID帶來的模型精度下降/不穩(wěn)定/泛化能力差等缺點,即怎么才能減少聯(lián)邦學習中異構性帶來的模型影響?我覺得主要可以從四個方面來看:
1)個性化聯(lián)邦學習;2)異構聯(lián)邦學習;3)多任務及元學習;4)用戶選擇和聚類。1)個性化聯(lián)邦學習:由于用戶數(shù)據(jù)的高度Non-IID以及用戶對模型性能要求的不一致,單個的Global model很難滿足所有參與者的需求,因此需要采用一種個性化的方法使得Global model針對每個用戶進行優(yōu)化。從本質(zhì)上來說,個性化聯(lián)邦學習的方案將Non-IID作為聯(lián)邦學習的一種優(yōu)點,因為這些Non-IID數(shù)據(jù)能夠提供用戶獨特的使用習慣和屬性,不同用戶能夠通過本地數(shù)據(jù)的差異得到更適合自己的訓練模型。
該文章(鏈接[4])提出了一種用于個性化聯(lián)邦學習的超網(wǎng)絡,在這種方法中,訓練一個中央超網(wǎng)絡模型,用來給每個客戶生成模型,具有生成多樣化個性化模型的能力。
另一篇文章(鏈接[5])主要思想是對于本地模型,在原來傳統(tǒng)方法(例如FedAvg算法:鏈接[6])的基礎上加了一個正則項,使其滿足全局模型和本地模型間的平衡。
總結下來思路都是一個:全局模型作為基礎,再利用每個獨立的設備(客戶端)上個性化的數(shù)據(jù)再來微調(diào)模型(或者理解為加上客戶端自身數(shù)據(jù)的某些先驗知識)。
2)異構聯(lián)邦學習:在聯(lián)邦學習中一直以來存在不同參與設備間通信、計算和存儲性能的差異(系統(tǒng)異構);數(shù)據(jù)分布、數(shù)據(jù)量的差異(統(tǒng)計異構);對不同環(huán)境、不同任務間所需建模的差異(模型異構)。異構聯(lián)邦學習的方案是在模型層面減少因Non-IID數(shù)據(jù)導致的權重差異對全局收斂的影響,在算法步驟中通過各種方式減少模型間的差異。近期論文將聯(lián)邦學習和知識蒸餾進行了結合,例如(鏈接[7])提出了一種解決異構FL的無數(shù)據(jù)知識蒸餾方法,其中服務器學習輕量級生成器以無數(shù)據(jù)的方式集成用戶信息,然后將其廣播給用戶,使用所學知識作為歸納偏差改進模型。異構聯(lián)邦學習主要是算法層面,可以通過改變模型結構,或者在客戶端/服務器端訓練過程中添加一些操作來改進模型。
3)多任務及元學習:多任務學習以及元學習在面對Non-IID數(shù)據(jù)的時候非常有效,其性能甚至可能超過最好的全局共享模型。因為元學習其在數(shù)據(jù)量較少的情況下也可以發(fā)揮出較為穩(wěn)定精確的性能。就多任務學習而言,如果我們將每個客戶(設備)的本地問題(本地數(shù)據(jù)集上的學習問題)視為一項單獨的任務(而不是單個數(shù)據(jù)集的一個劃分),在多任務學習中,訓練過程的結果是每個任務得到一個模型,這樣通過對模型進行集成后的精度肯定高于原始模型。
4)用戶選擇和聚類:用戶選擇與聚類在聯(lián)邦學習中也有所研究。通過用戶聚類可以將相似數(shù)據(jù)的用戶進行聚合,再通過用戶選擇抽取具有代表性的用戶進行訓練。一方面能夠減少所有用戶參與訓練過程中造成的大量通信成本,另一方面也能剔除異常用戶,減少被惡意攻擊的風險。具體應用而言,例如該論文(鏈接[8])則是在用戶選擇中引入了聚類抽樣(選擇+抽樣,可運用到聯(lián)邦學習中的設備采樣階段),并證明了聚類抽樣能提高用戶的代表性,并減少不同客戶權重聚合時的差異。
參考文獻
[1]?https://ai.googleblog.com/2017/04/federated-learning-collaborative.html
[2] Analyzing Federated Learning through an Adversarial Lens.
論文鏈接:https://arxiv.org/abs/1811.12470
[3] Federated Learning:Challenges, Methods, and Future Directions.
論文鏈接:https://arxiv.org/abs/1908.07873
[4] Personalized Federated Learning using Hypernetworks.
論文鏈接:https://arxiv.org/abs/2103.04628
[5] Ditto Fair and Robust Federated Learning Through Personalization.
論文鏈接:https://arxiv.org/abs/2012.04221
[6] Communication-Efficient Learning of Deep Networks from Decentralized Data.
論文鏈接:https://arxiv.org/abs/1602.05629
[7] Data-Free Knowledge Distillation for Heterogeneous Federated Learning.
論文鏈接:https://arxiv.org/abs/2105.10056
[8] Clustered Sampling: Low-Variance and Improved Representativity for Clients Selection in Federated Learning.
論文鏈接:https://arxiv.org/abs/2105.05883
在線咨詢
點擊進入在線咨詢