




摘要 聯邦學習是解決機器學習中數據共享和隱私保護兩個關鍵難題的重要方法.然而,聯邦學習本身也面臨著數據異構和模型異構的挑戰.現有研究往往只專注于解決其中一個方面的問題,忽視了兩者之間的關聯性.為此,本文提出了一個名為PFKD的框架,該框架通過知識蒸餾技術解決模型異構問題,通過個性化算法解決數據異構問題,以實現更具個性化的聯邦學習.通過實驗分析驗證了所提出框架的有效性.實驗結果顯示,該框架能夠突破模型的性能瓶頸,提高模型精度約1個百分點.此外,在調整適當的超參數后,該框架的性能得到進一步提升.關鍵詞聯邦學習;數據異構;模型異構
中圖分類號TP18;TP309
文獻標志碼A
0引言
通過讓計算機自動學習和改善,機器學習已經廣泛應用于各個領域[1].然而,傳統的中心化機器學習方法面臨數據孤島[2]和個人隱私保護要求等挑戰.為了應對這些問題,聯邦學習[3-4]作為一種分布式機器學習技術被提出,它能確保多個參與方協同訓練機器學習模型,同時不泄露參與方的數據.憑借在隱私保護方面的優勢,聯邦學習被廣泛應用于政務、醫療、金融和物流等領域.
聯邦學習系統主要由客戶端和服務端兩部分組成,其中,客戶端負責模型的訓練,服務端負責模型的聚合.在理想的聯邦學習場景下,客戶端均使用相同的模型進行訓練,服務端對模型執行平均聚合[3].然而,在現實情況中,聯邦學習除了要面臨安全挑戰以外[5],還由于客戶端之間的數據量、數據分布、算力資源等存在差異,使得聯邦學習面臨數據異構和模型異構兩大挑戰.其中,數據異構是客觀存在且不可避免的,主要表現為客戶端之間的數據分布不同.而模型異構則指不同客戶端的訓練模型不一致,是人為可控的.
目前,多數研究僅從數據異構的角度出發,以適應本地預測為目標,提出個性化的聯邦學習.然而,他們忽略了一個事實:不同客戶端之間的數據量和算力資源是不同的,統一的模型不可能適配所有客戶端的本地資源.因此,為了使模型更具個性化、更適用于本地預測,不同的客戶端應擁有不同的模型,即:對個性化聯邦學習的研究不應局限于只考慮客戶端之間的數據異構性,還應當關注客戶端之間的模型異構性.
針對目前個性化聯邦學習研究中的不足之處,本文綜合考慮了客戶端之間的數據異構性和模型異構性,提出了更能實際應用的個性化聯邦框架(Personalized Federated learning based on Knowledge Distillation,PFKD).首先,分析了聯邦學習面臨的兩大挑戰,并強調個性化聯邦學習研究需要關注客戶端之間的模型異構;然后,對現有解決數據異構和模型異構的研究方案進行比較;接著,針對聯邦學習中的數據異構和模型異構,提出了PFKD框架,以實現完整的個性化聯邦學習;最后,通過實驗證明了PFKD框架在解決聯邦學習中的數據異構和模型異構問題上的有效性,并給出了PFKD框架的聯邦通信次數建議和框架中超參數α的取值建議.
1相關工作
目前,對個性化聯邦學習的研究大多僅考慮了客戶端之間的數據異構性.例如,Briggs等[6]和Mansour等[7]利用聚類技術將同類成員共同訓練一個模型,以實現個性化模型訓練.也有研究者設計了兩個模型,既能為全局模型作出貢獻,又能獲得適應本地數據的模型[8-9].還有研究者將模型分為基礎層和個性層[10],其中,基礎層通過聯邦學習進行協作訓練,個性層則只使用本地數據進行訓練,以實現個性化的聯邦學習.此外,Fallah等[11]基于模型無關元學習(Model-Agnostic Meta-Learning,MAML)的思想,試圖先協作訓練出一個適合所有用戶的初始模型,每個客戶端再利用本地數據訓練此模型,從而實現個性化的聯邦學習.然而,以上研究的不足之處在于沒有考慮客戶端之間的模型異構,從而不能充分利用客戶端本地資源,導致個性化效果并不徹底.
在聯邦學習中,模型異構是一個十分嚴峻的挑戰.解決這一問題最常見的處理技術是知識蒸餾(Knowledge Distillation,KD)[12].然而,目前將知識蒸餾應用于聯邦學習時需要解決兩個關鍵問題:1) 如何選擇教師模型;2) 如何解決相同數據集的問題.尤其是第二個問題決定了KD方法能否成功應用于聯邦學習.本文將沿用文獻[13]中的術語,將歸一化后的輸出預測分布稱為“logit vector”.已有研究提出了多種方法將KD應用于聯邦學習,以解決模型異構問題.例如:Jeong等[13]采用平均logit vector的方法來解決相同數據集的問題;Li等[14]假設存在一個公共數據集來解決相同數據集的問題;Sattler等[15]和Gong等[16]提出了使用輔助數據集的假設.值得一提的是,Shen等[17]在客戶端多設計了一個用于通信的模型,從而避免了相同數據集的問題.具體而言,他們在客戶端本地設計了兩種模型:私有模型和公有模型.其中,私有模型保留在客戶端本地,而公有模型用于實現信息交互.每次更新時,使用DML[18]同時更新公有模型和私有模型,以完成知識交互.另外,Zhu等[19]提出了FEDGEN方法來解決相同數據集的問題,其核心是學習一個logit vector生成器.
綜上所述,單方面解決聯邦學習中的數據異構或模型異構已經成為可能.因此,本文將綜合考慮聯邦學習中的數據異構和模型異構,首先利用KD技術來解決模型異構,然后根據KD的特性改進現有解決數據異構的算法,以實現完整的個性化聯邦學習.
2方法:PFKD
2.1PFKD框架概述
PFKD框架(圖1)通過兩個獨立的組件來分別解決模型異構和數據異構,從而實現個性化聯邦學習.第一個組件的核心是不同功能的模型設計和知識蒸餾技術,該組件將解決聯邦學習中的模型異構;第二個組件的核心是個性化算法設計,該組件將解決聯邦學習中的數據異構.
在PFKD框架中,存在三類模型,分別是個性化模型(P-Model)、知識交流模型(C-Model)和元模型(M-Model).不同類別的模型之間通過知識蒸餾實現知識的傳遞.個性化算法將為不同的客戶端返回合適的M-Model,用于傳遞知識并指導本地的P-Model更新.
2.2知識蒸餾設計
本文將知識蒸餾技術中學生模型的目標函數設計為:L=(1-α)Lce(y,p)+αDKL(q,p)·T2.其中:T表示超參數“溫度”;α表示權重系數;Lce表示交叉熵損失;DKL表示相對熵(KL散度);p表示學生模型的輸出(由0和1組成的向量,也稱為hard logit vector);q為教師模型的輸出(也稱為soft logit vector).
通過上述設計,客戶端的模型訓練目標可被簡要概括為:在最小化學生模型損失、最小化學生模型與教師模型的差距損失之間尋求平衡.這種平衡可以通過超參數α的調整來自由控制,從而有效地調節兩種損失的權重比例.
在本文提出的PFKD框架中,當采用知識蒸餾技術進行訓練時,將作為學生模型訓練的目標函數修改為上述的目標函數.例如,在利用服務端發送的M-Model來更新本地的P-Model時,客戶端會更改本地模型的訓練目標為上述的目標函數.此時,P-Model充當學生模型的角色,而M-Model則充當教師模型的角色,在經過一系列本地數據集上的迭代訓練后,P-Model逐漸在學生模型損失與模型輸出差距損失之間找到了一個平衡點,從而實現知識的傳遞.類似地,當P-Model用于指導C-Model的訓練時,也是經過類似的過程,最終達到相似的平衡狀態.
2.3PFKD模型設計
在PFKD框架中,為不同客戶端根據本地資源擁有適配的個性化模型(對應P-Model),也為實現與其他客戶端模型的聯邦學習,本文引入一個統一的模型(對應C-Model).此時,服務端可以在相同結構的模型集(對應C-Model)上執行個性化算法,為每個客戶端返回獨特的模型(對應M-Model).因此,客戶端將擁有三類模型:P-Model、C-Model和M-Model,而服務端將擁有兩類模型:C-Model和M-Model.以下是三類模型的詳細介紹.
1)P-Model:通過客戶端本地數據訓練得到的模型,適用于客戶端的本地數據,為客戶端所私有.
2)C-Model:C-Model是通過使用知識蒸餾(KD)技術,以P-Model作為教師模型進行訓練得到的模型.C-Model的設計是為了在不同客戶端之間實現知識交流,從而促進模型間的信息傳遞.所有客戶端的C-Model結構相同.
3)M-Model:M-Model是通過個性化算法聚合得到的,由服務端返回給不同客戶端的模型.M-Model的結構與C-Model相同,但其內容是根據個性化算法對每個客戶端的需求進行調整而得到的.在客戶端更新自己的P-Model時,M-Model起著指導和輔助的作用,從而提高本地模型的性能.
2.4PFKD個性化算法設計
在PFKD框架中,本文利用C-Model來有效地解決聯邦學習中的數據異構問題.由于C-Model在所有客戶端中保持一致,并且已有豐富的算法可供借鑒,本文在現有方法的基礎上做了一些微創新,以更有效地解決數據異構的挑戰.例如,采納Briggs等[6]提出的聚類算法作為基礎,將客戶端上傳的模型分為多個組.然后,將同一組的成員共同訓練得到M-Model,有效地克服了數據異構的問題.在實驗部分采用該算法,獲得了令人滿意的分組結果.
值得強調的是,本文提出的PFKD框架利用知識蒸餾技術在模型之間傳遞知識,而KD技術的有效性與教師模型輸出的可信度相關.根據實踐經驗,本文將模型的精確度作為評估教師模型可信度的指標.當服務端所聚合模型的精度越高時,知識傳遞效果就越明顯.因此,在基于上述算法得到的分組基礎上,本文引入一種選擇策略.具體步驟如下:
1) 對同一組內的所有模型在私有數據集上進行測試,評估其模型精度;
2) 基于精度值,計算前30%模型精度的平均值,并將其減少5%(具體減少量可根據經驗設定)作為合格閾值;
3) 將精度高于合格閾值的模型進行平均聚合[3],形成同一組的M-Model.
除此之外,如果不存在隱私威脅,服務端可以將最終聚合階段的模型集返回給客戶端.客戶端可以自主選擇哪些模型用于聚合,以生成最終的M-Model.在確保安全性的前提下,該流程允許客戶端參與模型的選擇過程,進一步增強了聯邦學習的協作性,但僅適合特定場合.
2.5PFKD框架流程
PFKD框架的流程如下:
1) 客戶端利用本地數據集訓練得到P-Model;
2) 客戶端使用KD技術,將P-Model作為教師模型,使用本地數據集訓練C-Model;
3) 客戶端上傳C-Model至服務端;
4) 服務端使用個性化算法聚合得到M-Model;
5) 服務端下發M-Model至客戶端;
6) 客戶端使用KD技術,將M-Model作為教師模型,使用本地數據集更新P-Model.
在不同的聯邦學習場景[20]中,可以靈活地應用以上流程,從而適應不同的需求.例如,在Cross-Device聯邦學習場景下,可以重復步驟2)—6),進行多次聯邦通信,加強模型更新和知識傳遞效果.而在Cross-Silo聯邦學習場景下,一次聯邦通信即可滿足實驗需求,避免不必要的通信開銷.
綜上所述,PFKD框架通過兩個分離的組件解決了客戶端之間的模型異構和數據異構,從而實現個性化聯邦學習.它引入知識蒸餾技術和個性化算法,以實現在聯邦學習中的知識傳遞和模型更新.通過P-Model、C-Model和M-Model之間的知識交流,客戶端能夠提高本地模型的精度,而個性化算法則能夠根據不同客戶端的需求返回合適的M-Model.PFKD框架的流程十分簡潔,允許在不同聯邦學習場景中重復執行以提升P-Model的準確性.
3實驗設計和內容
1)硬件和軟件:本文的實驗在CentOS Linux系統上執行,使用的CPU配置為28個Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40 GHz,GPU配置為Tesla P40.實驗代碼采用Python 3.8編寫,聯邦學習的模擬使用PyTorch 1.13.0構建.
2)異構模型設置:為了模擬聯邦學習中不同客戶端的異構模型,本實驗選擇4種不同結構的深度神經網絡(DNN)模型.第1個模型結構被選為基礎結構,第2個模型在基礎結構上增加深度,第3個模型在基礎結構上增加寬度,第4個模型在基礎結構上同時增加深度和寬度.4個模型的結構分別為:784×360×180×10、784×360×240×180×10、784×500×180×10和784×500×360×180×10.除輸出層外,中間層都采用ReLU激活函數.此外,在本實驗中,C-Model和M-Model的結構與第1個模型相同.模型使用交叉熵損失函數(Cross Entropy Loss)進行訓練,采用隨機梯度下降(SGD)進行優化,學習率為0.1.
3)聯邦學習設置:在實驗中已經使用文獻[6]中的算法成功進行了個性化分組.基于此前提,實驗設置了4個客戶端和1個聚合服務端,這4個客戶端屬于同一組成員.除非另有說明,客戶端默認在本地數據集上進行200輪的訓練,包括P-Model、C-Model的本地訓練以及更新P-Model的本地訓練.聯邦通信的輪數為1.
4)數據集和劃分:本文采用流行的Fashion-MNIST數據集(https://github.com/zalandoresearch/fashion-mnist).該數據集包含70 000張衣物圖像,其中60 000張用于訓練,10 000張用于測試.每個圖像的大小為28×28像素,與10個類別的標簽相關聯.總數據集被劃分為150個大小為400的塊,除非另有說明,每個參與方擁有一個包含不同標簽的塊,數據總量為4 000.
5)評價指標:本文使用準確率作為評價PFKD框架有效性的指標.
6)實驗內容:將僅在本地訓練的模型的精度變化作為基準;比較在使用PFKD框架后模型精度的變化情況;在PFKD框架下,將比較一次聯邦通信和多次聯邦通信對模型精度的影響;比較不同精度的M-Model對P-Model精度提升的程度,以及KD中的超參數α對P-Model精度的影響.
4實驗結果與分析
4.1PFKD框架的有效性分析
PFKD框架的有效性依賴于模型間知識傳遞的有效性,而本文采用的核心技術是知識蒸餾.因此,需要驗證使用KD在本文提出的三類模型間傳遞知識的有效性.
從圖2可以觀察到,KD能夠有效地將P-Model的知識傳遞給C-Model,并且相比于P-Model,C-Model的精度波動更小.圖3表示在200輪本地迭代后,使用PFKD框架和僅進行本地訓練的模型精度隨迭代次數的變化情況.其中:LT-1表示相同的200輪本地訓練;LT-2表示在LT-1的基礎上,保持本地訓練的結果;PFKD表示在LT-1的基礎上,使用PFKD框架的結果;Client-i(i=0,1,2,3)表示第i個客戶端的模型精度.由圖3可以看出,在M-Model作為教師模型指導P-Model進行二次更新后,P-Model的精度突破了模型精度的瓶頸,將模型精度提升了約1個百分點(表1,其中:Muti-PFKD表示執行了多次聯邦通信;加粗數據表示P-Model的平均精度最高值).同時,使用PFKD框架還減少了模型性能的波動.另外,通過比較使用PFKD框架和僅進行本地訓練的模型精度變化,可以觀察到該框架能夠防止模型的過擬合.
4.2PFKD聯邦通信次數分析
本節將分析在使用PFKD框架的情況下,一次聯邦通信和多次聯邦通信對模型精度的影響.本文設置PFKD框架的多次聯邦學習是指在一次完整的聯邦通信后,將客戶端中M-Model指導P-Model和P-Model指導C-Model的訓練輪數從200輪降低到20輪,總共進行20次聯邦通信.
從表1中可以觀察到,由于客戶端之間的P-Model精度差距不大,它們之間的C-Model也不會存在較大的精度差異,因此,服務端返回的M-Model并不能顯著提升P-Model的精度.即使用PFKD框架進行多次聯邦通信對模型精度的提升并不是特別顯著.結合第4.3節的分析可知,當服務端的個性化算法使客戶端組合固定時,PFKD更適合進行一次聯邦通信,只需要在這一次通信中獲得更高精度的M-Model即可.而當服務端的個性化算法使客戶端組合多變時,PFKD更適合進行多次聯邦通信.
4.3M-Model精度與超參數的影響分析
本節分析不同精度的M-Model以及KD中的α對P-Model精度的影響.為了模擬此場景,首先通過增加客戶端1和客戶端2的本地數據量來實現不同的C-Model精度,然后通過不同的聚合算法生成不同精度的M-Model,以分析不同精度的M-Model對P-Model的影響.接著,使用不同的α來分析其對P-Model的影響.結果如表2所示.其中:M-Acc表示M-Model的模型精度;α為KD中的超參數;加粗數據表示不同精度的M-Model與不同α下的最高精度.
從表2中可以觀察到:當M-Model的精度高于P-Model的精度時,可以明顯提高P-Model的精度;而當M-Model的精度低于P-Model的精度時,更多地表現為防止模型過擬合的功能.超參數α的取值決定了M-Model對P-Model的影響程度.當M-Model的精度高于P-Model時,較大的超參數值能更大程度地提高模型精度;當M-Model的精度低于P-Model時,較小的超參數值能更大程度地提高模型精度.因此,在PFKD框架中,根據M-Model精度與P-Model精度的差異,選擇適當的α值能更大程度地提升P-Model的精度.
綜上所述,通過模擬實驗,本文證明了PFKD的有效性.根據服務端個性化算法得到的結果,本文給出了PFKD聯邦通信次數的建議.最后,本文分析了不同精度的M-Model與不同的超參數α對P-Model精度的影響.
5結語
本文在聯邦學習領域中提出了PFKD框架,該框架綜合考慮了數據異構和模型異構的問題,為實現個性化聯邦學習提供了有效的解決方案.實驗結果驗證了該框架的優越性,并為未來的研究提供了指導性的建議.未來可以進一步擴展和改進PFKD框架,以適應不斷變化的數據異構性和模型異構性挑戰,推動聯邦學習在更廣泛領域的應用和發展.
參考文獻
References
[1]JordanM I,Mitchell T M.Machine learning:trends,perspectives,and prospects[J].Science,2015,349(6245):255-260
[2]Zhang C,Xie Y,Bai H,et al.A survey on federated learning[J].Knowledge-Based Systems,2021,216:106775
[3]McMahan B,Moore E,Ramage D,et al.Communication-efficient learning of deep networks from decentralized data[C]//Proceedigns of the 20th International Conference on Artificial Intelligence and Statistics.PMLR,2017:1273-1282
[4]Yang Q,Liu Y,Chen T J,et al.Federated machine learning:concept and applications[J].ACM Transactions on Intelligent Systems and Technology,2019,10(2):1-19
[5]Zhai R,Chen X B,Pei L T,et al.A federated learning framework against data poisoning attacks on the basis of the genetic algorithm[J].Electronics,2023,12(3):560
[6]Briggs C,Fan Z,Andras P.Federated learning with hierarchical clustering of local updates to improve training on non-IID data[C]//2020 International Joint Conference on Neural Networks (IJCNN).July 19-24,2020,Glasgow,UK.IEEE,2020:1-9
[7]MansourY,Mohri M,Ro J,et al.Three approaches for personalization with applications to federated learning[J].arXiv e-Print,2020,arXiv:2002.10619
[8]DengY Y,Kamani M M,Mahdavi M.Adaptive personalized federated learning[J].arXiv e-Print,2020,arXiv:2003.13461
[9]PillutlaK,Malik K,Mohamed A R,et al.Federated learning with partial model personalization[C]//Proceedings of the 39th International Conference on Machine Learning.PMLR,2022:17716-17758
[10]ArivazhaganM G,Aggarwal V,Singh A K,et al.Federated learning with personalization layers[J].arXiv e-Print,2019,arXiv:1912.00818
[11]FallahA,Mokhtari A,Ozdaglar A.Personalized federated learning:a meta-learning approach[J].arXiv e-Print,2020,arXiv:2002.07948
[12]HintonG,Vinyals O,Dean J.Distilling the knowledge in a neural network[J].arXiv e-Print,2015,arXiv:1503.02531
[13]JeongE,Oh S,Kim H,et al.Communication-efficient on-device machine learning:federated distillation and augmentation under non-IID private data[J].arXiv e-Print,2018,arXiv:1811.11479
[14]LiD L,Wang J P.FedMD:heterogenous federated learning via model distillation[J].arXiv e-Print,2049,arXiv:1910.03581
[15]SattlerF,Korjakow T,Rischke R,et al.FedAUX:leveraging unlabeled auxiliary data in federated learning[J].IEEE Transactions on Neural Networks and Learning Systems,2023,34(9):5531-5543
[16]GongX A,Sharma A,Karanam S,et al.Preserving privacy in federated learning with ensemble cross-domain knowledge distillation[J].Proceedings of the AAAI Conference on Artificial Intelligence,2022,36(11):11891-11899
[17]ShenT,Zhang J,Jia X,et al.Federated mutual learning[J].arXiv e-Print,2020,arXiv:2006.16765
[18]ZhangY,Xiang T,Hospedales T M,et al.Deep mutual learning[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.June 18-23,2018,Salt Lake City,UT,USA.IEEE,2018:4320-4328
[19]Zhu Z D,Hong J Y,Zhou J Y.Data-free knowledge distillation for heterogeneous federated learning[J].Proceedings of Machine Learning Research,2021,139:12878-12889
[20]KairouzP,McMahan H B,Avent B,et al.Advances and open problems in federated learning[J].Foundations and Trends in Machine Learning,2021,14(1/2):1-210
PFKD:a personalized federated learning framework that integrates
data heterogeneity and model heterogeneity
CHEN Xuebin1REN Zhiqiang1
1College of Science/Hebei Key Laboratory of Data Science and Application/Tangshan Key Laboratory of
Data Science,North China University of Science and Technology,Tangshan 063210,China
AbstractFederated learning is an important method to address two critical challenges in machine learning:data sharing and privacy protection.However,federated learning itself faces challenges related to data heterogeneity and model heterogeneity.Existing researches often focus on addressing one of these issues while overlook the correlation between them.To address this,this paper introduces a framework named PFKD (Personalized Federated learning based on Knowledge Distillation).This framework utilizes knowledge distillation techniques to address model heterogeneity and personalized algorithms to tackle data heterogeneity,thereby achieving more personalized federated learning.Experimental analysis validates the effectiveness of the proposed framework.The experimental results demonstrate that the framework can overcome model performance bottlenecks and improve model accuracy by approximately one percentage point.Furthermore,with appropriate hyperparameter adjustment,the frameworks performance is further enhanced.
Key wordsfederated learning;data heterogeneity;model heterogeneity