Overcoming Forgetting in Federated Learning on Non-IID Data


鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布! 以下是對本文關鍵部分的摘抄翻譯,詳情請參見原文。

NeurIPS 2019 Workshop on Federated Learning for Data Privacy and Confidentiality, Vancouver, Canada.

 

 

Abstract

  我們解決了非i.i.d.情況下的聯邦學習問題,在這種情況下,局部模型漂移,抑制了學習。基於與終身學習的類比,我們將災難性遺忘的解決方案改用在聯邦學習上。我們在損失函數中加入一個懲罰項,強迫所有局部模型收斂到一個共享的最優值。我們表明,這可以有效地進行通信(不增加進一步的隱私風險),在分布式設置中隨着節點數量的增加而擴展。實驗結果表明,該方法在MNIST數據集上的識別效果優於同類方法。

 

1 Introduction

  近年來,智能設備和傳感器的出現,在邊緣收集數據,並能夠對這些數據采取行動保持數據私有化的願望和其他考慮因素促使機器學習社區研究不需要從邊緣設備發送數據的分布式訓練算法。邊緣設備通常具有較低的網絡可用性和容量,這可能會限制通過標准SGD進行訓練。McMahan等人的聯邦平均算法(FedAvg)[1]讓設備在將訓練模型發送到中央服務器之前,對其本地數據進行多個epochs的訓練(使用本地SGD)。然后,服務器聚合模型,並將聚合模型發送回設備以完成迭代,直到收斂。

  聯邦學習提出了三個不同於傳統分布式學習的挑戰。第一個是計算站的數量,可能有數億個。第二個是比數據中心的集群間通信慢得多的通信。第三個區別,也是我們在這項工作的重點,是高度非i.i.d.方式,其中數據可以分布在設備之間。

  在一些實際情況下,聯邦學習對非i.i.d.分布具有魯棒性[2]。最近也有一些理論結果證明了聯邦學習算法在非i.i.d.數據上的收斂性。然而,很明顯,即使在非常簡單的場景中,在非i.i.d.分布上的聯邦學習也難以獲得良好的結果(與i.i.d.情況相比,在准確性和通信輪數方面)[1,4]。

 

1.1 Overcoming Forgetting in Sequential Lifelong Learning and in Federated Learning

  聯邦學習問題和另一個被稱為終身學習的基本機器學習問題(以及相關的多任務學習)之間有着很深的相似性。在終身學習中,挑戰是學習任務A,並使用相同的模型繼續學習任務B,但不要“遺忘”,不要嚴重影響任務A的性能;或者一般來說,學習任務A1, A2, …依次進行,不要忘記以前學過的任務,這些任務不再提供樣本。除了串行而不是並行的學習任務外,在終身學習中,每個任務只出現一次,而在聯邦學習中則沒有這樣的限制。但撇開這些差異不談,這些范式有一個共同的主要挑戰——如何在不干擾在同一模型上學習的不同任務的情況下學習一項任務。

  因此,類似的方法被應用於解決聯邦學習和終身學習問題也就不足為奇了。一個這樣的例子是數據蒸餾,其中代表性的數據樣本在任務之間共享[5,6]。然而,聯邦學習經常被用於實現數據隱私,這將被從一個設備發送到另一個設備或從一個設備發送到一個中心點的數據打破。因此,我們尋求在任務之間共享其他類型的信息。

  可以在Kirkpatrick等人[7]中找到使用哪種信息的答案。本文提出了一種新的終身學習算法——彈性權值合並(Elastic Weight Consolidation, EWC)。EWC旨在防止從學習任務A轉移到學習任務B時發生災難性遺忘。其思想是確定網絡參數θ中對任務A信息量最大的坐標,然后在學習任務B時,懲罰學習者更改這些參數。 它的基本假設是深度神經網絡過參數化程度足夠高,因此很有可能找到一個任務B的最優解在先前學習到的任務A的最優解的鄰域。

  為了控制學習任務B時各坐標中θ的剛度,作者建議使用Fisher信息矩陣的對角項,對距離任務A的最優解太遠的部分參數向量θ進行選擇性懲罰。這是使用以下目標(公式1)完成的。

  它們提供(1)的形式化證明是貝葉斯的:讓DA和DB成為用於任務A和B的獨立數據集。我們就可以得到概率公式(見截圖)。log p(D| θ)是LB(θ)優化的標准似然最大化,后驗p(θ | DA)用拉普拉斯方法近似為高斯分布,期望為任務A的最優解,協方差為任務A最優解的Fisher信息矩陣對角項。

  眾所周知,在某些正則條件下,在θ取θ*時,信息矩陣近似於L(θ)的Hessian矩陣HL。由此我們得到(1)的非貝葉斯解釋,即公式2。其中L(θ) = LB(θ) + LA(θ)正是我們希望最小化的損失。一般來說,你可以學習一系列的任務A1, …, AT。在第3節中,我們依賴於上述解釋作為二階近似,以便構建聯邦學習的算法。我們將進一步展示如何以保留標准FedAvg算法的隱私優勢的方式實現這種算法。

 

 

費雪信息(Fisher Information)參見https://blog.csdn.net/artifact1/article/details/80731417.

費雪信息矩陣(Fisher Information Matrix)參見https://baike.baidu.com/item/%E8%B4%B9%E6%AD%87%E8%80%B3%E4%BF%A1%E6%81%AF%E7%9F%A9%E9%98%B5/22676174?fr=aladdin.

 

2 Related Work

  只有少數工作直接試圖應對非i.i.d.分布的聯邦學習的挑戰。一種方法是放棄周期平均,通過對每個局部小批量之后發送到中心點的更新進行稀疏化和量化來減少通信量[9]。Zhao等人[6]研究表明,在不同的節點之間只共享一小部分數據,可以大大提高模型的精度。然而,在許多聯邦學習場景中,共享數據是不可接受的。

  與我們的方法有些相似,MOCHA[10]用不同的參數wi∈Rdxn連接每個任務,並且通過添加損失項tr(WΩWT)來對任務之間關系的建模,其中W=[w1, …, wn]和Ω∈Rnxn。對W和Ω進行了優化。MOCHA使用原始對偶公式來解決優化問題,因此,與我們的算法不同,它不適合於深度網絡。

  也許最接近我們工作的是Sahu等人[11],作者提出了他們的FedProx算法,它和我們的算法一樣,也使用參數剛度。然而,與我們的算法不同,在FedProx中,懲罰項是各向同性的,μ||θ - θt|| / 2。DANE[12]通過添加梯度校正項增強FedProx,以加速收斂,但對非i.i.d.數據不魯棒[11,13]。AIDE[13]提高了DANE處理非i.i.d數據的能力。然而,它是通過使用DANE的不精確版本,並通過限制本地計算量來實現的。

  最近的一項工作[3]證明了非i.i.d.情形下FedAvg的收斂性。它還從理論上解釋了一個在實踐中已知的現象,即當局部迭代次數太多時性能下降。這正是我們在這項工作中要解決的問題。

 

3 Federated Curvature

  在本節中,我們將介紹EWC算法對聯邦學習場景的適應性我們稱之為FedCurv(用於聯邦曲率,啟發自(2))。將N個節點標記為S={1, …, N},則各個任務的本地數據集為{A1, …, AN}。我們不同於FedAvg算法,在每一輪t中,我們使用S中的所有節點,而不是隨機選擇它們的子集。(我們的算法可以很容易地擴展到選擇一個子集。)在第t輪,每個節點s∈S優化以下損失:公式(3)。

  在每輪t上,從初始點開始,節點通過為E個局部epochs運行SGD來優化其局部損失。在每輪t結束時,每個節點j向其余節點發送SGD結果和Fisher信息矩陣的對角項。這些將用於t+1輪的損失。我們切換θ值,以表示本地任務是為E epochs優化的,而不是在它們收斂之前(就像EWC的情況一樣)。然而,(2)(它推廣到N個任務)支持使用大E值。

 

3.1 Keeping Low Bandwidth and Preserving Privacy

隱私:需要注意的是,我們只需要將本地梯度相關的聚合信息(按本地數據樣本聚合)從設備發送到中心點。在隱私方面,它與經典的FedAvg算法沒有顯著區別。與FedAvg一樣,中心點本身只需要保留來自設備的全局聚合信息。我們看不出為什么成功應用於FedAvg的安全聚合方法[14]不能應用於FedCurv的原因。

 

4 Experiments

  我們在一組96個模擬設備上進行了實驗。我們將MNIST數據集[16]分成962個同質標簽塊(丟棄少量數據)。我們隨機給每個設備分配了兩個塊。我們使用了來自MNIST PyTorch樣例的CNN架構[17]。

  我們探索了兩個因素:(1) 學習方法 - 我們考慮了三個算法:FedAvg、FedProx和FedCurv(我們的算法);(2) E:每輪的epochs數,這是本研究的特別關注點,因為我們的算法是為大的E值設計的;C:參與每次迭代的設備的比例;B:本地批處理大小;這些參數被固定在C=1.0, B=256。對於所有的實驗,我們還使用了一個恆定的學習速率η=0.01。

  FedProx的µ和FedCurv的λ值是按以下方式選擇的:我們尋找在最小輪數下達到90%測試精度的值。我們通過在使用因子10的乘法網格上搜索,然后使用因子2,以確保最小值。表1顯示了使用這些選擇的參數達到95%、90%和85%測試精度所需的輪數。我們發現,對於E=50,FedCurv達到90%的測試精度的速度,是原版FedAvg算法的三倍。FedProx也比FedAvg快90%。然而,雖然我們的算法達到95%的測試精度的速度是FedAvg的兩倍,但FedProx的速度卻比FedAvg慢了兩倍。當E=10時,FedCurv和FedProx的改善不太顯著,FedCurv仍優於FedProx和FedAvg。

  在圖1和圖2中,我們可以看到FedProx和FedCurv在訓練過程的開始階段都表現良好。然而,雖然FedCurv提供了足夠的靈活性,允許在過程結束時達到高精度,但參數的剛度是以精度為代價的。FedCurv為更高的E值提供了更顯著的改進(FedProx也是如此),正如理論所預期的那樣。

 

5 Conclusion

  這項工作為非i.i.d.數據的聯邦學習問題提供了一種新的解決方法。它建立在終身學習的基礎上,利用Fisher信息矩陣的對角項來保護對每個任務都很重要的參數。遷移需要修改順序解決方案(從終身學習)為並行形式(聯邦學習),這在先驗上涉及數據的過度共享。我們證明了這是可以有效地做到的,而不會大幅增加帶寬使用和損害隱私。正如我們的實驗所證明的,我們的FedCurv算法保護了每個任務的重要參數,提高了收斂性。

 


免責聲明!

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



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