







摘 "要:個性化聯邦學習(Personalized Federated Learning,PFL)允許每個客戶端根據本地數據特性定制個性化模型,從而提高子模型對本地數據的適應性和預測精度。該研究探討PFL在抵御數據攻擊方面的潛力,并結合聚類算法和聯邦學習算法的方法,提高模型的準確率和對投毒數據檢測的魯棒性。通過在聯邦學習框架中引入聚類算法,能夠有效地識別和處理數據中的異常值或有毒數據,從而增強模型的魯棒性。該方法在MNIST以及P-MNIST數據集進行評估,結果表明,添加聚類的個性化聯邦學習算法模型的準確率和收斂速度提高,對投毒數據的防御能力增強,證明算法的有效性和魯棒性。
關鍵詞:聯邦學習;個性化聯邦學習;聚類算法;模型魯棒性;數據隱私
中圖分類號:TP393 " " "文獻標志碼:A " " " " "文章編號:2095-2945(2025)10-0066-05
Abstract: Personalized Federated Learning (PFL) allows each client to customize a personalized model based on the characteristics of local data, thereby improving the adaptability and prediction accuracy of the sub-model to local data. This study explores the potential of PFL in resisting data attacks, and combines clustering algorithms and federated learning algorithms to improve the accuracy of the model and its robustness to the detection of poisoned data. By introducing clustering algorithms into the federated learning framework, outliers or toxic data in the data can be effectively identified and processed, thereby enhancing the robustness of the model. The method is evaluated on MNIST and P-MNIST datasets. The results show that the personalized federated learning algorithm adding clustering not only improves the accuracy and convergence speed of the model, but also enhances the ability to defend against poisoned data, and proves the effectiveness and robustness of the algorithm.
Keywords: federated learning; personalized federated learning; clustering algorithm; model robustness; data privacy
聯邦學習(FL)是分布式機器學習[1],讓客戶端協作訓練模型而不集中數據,保護數據隱私。但FL面臨非獨立同分布(Non-IID)數據挑戰[1]。為了應對這種異質化挑戰[2],個性化聯邦學習應運而生。由于參與者在地理上是非常分散的,難以被認證身份,這使得聯邦學習容易受到定向攻擊[2]。惡意攻擊者可以通過對輸入數據進行微小的改動這一方式,使得模型產生錯誤的預測結果,導致模型失效或產生誤導性的輸出。
本文的目標是驗證聚類的個性化聯邦學習的魯棒性。為了更好地應對復雜網絡世界帶來的惡意威脅,本文提出將聚類算法和聯邦學習算法相結合進行有毒數據的訓練和檢測,添加聚類的個性化聯邦學習算法可以提高模型的準確率,加快模型收斂速度,縮短收斂時間。實驗證明,相比于聯邦學習框架單獨處理,聯合處理提高了其效率,減小了有毒數據對整體模型框架的影響,同時對于投毒數據也具有更好的魯棒性。該方法在MNIST以及P-MNIST數據集進行評估。
1 "相關工作
為了實現在保護數據隱私的前提下進行有效的機器學習模型訓練,出現了傳統的聯邦學習算法,例如FedAvg[3],但此模型在客戶端數據分布極度不均時,性能下降。隨著研究的深入,研究者們針對FedAvg在非獨立同分布(Non-IID)數據上的局限性,提出了多種改進算法。Fedprox[4]算法與FedAvg相比,通過引入近端正則項來優化本地模型更新,從而提高全局模型在客戶端的適用性。Fedbn[5]算法專注于在客戶端間共享批量歸一化參數,以解決異構數據分布問題。
聚類算法是一種無監督學習技術,用于將數據集中的樣本根據相似性分組成多個簇。在每個簇內的樣本相似度高,而不同簇之間的樣本相似度低。層次聚類(Hierarchical clustering)[6]算法不需要預先指定簇的數量,通過構建一個層次的簇樹來組織數據。層次聚類可以是凝聚的(自底向上)或分裂的(自頂向下)。該算法不需要指定聚類的數量,對距離度量的選擇不敏感。
2 "方法
本研究采用了一種創新的個性化聯邦學習框架。該框架在模型訓練過程中實現了性能提升和魯棒性增強。具體而言,當模型達到收斂狀態時,引入了余弦相似度度量,以對參與訓練的各個客戶端的梯度進行細致的聚類分析。這一聚類過程嚴格遵循了本文所設定的相似性閾值和聚類區間標準,確保了聚類結果的科學性和有效性。
2.1 "基于余弦相似度的聚類
在聯邦學習中,余弦相似度可以用來衡量不同客戶端的梯度方向的一致性。當2個客戶端的梯度具有正范數并指向相反的方向時,其在不一致的情況下對聯邦學習目標的貢獻相反。而在一致的情況下,如果聯邦學習收斂到一個區域,其中2個風險函數都最小化,那么2個客戶端的梯度更新的范數將為零,這表明其方向是一致的。基于余弦相似度的聚類是一種有效的方法,其通過計算數據點之間的余弦相似度來確定它們是否屬于同一簇。
2.2 "確定相似性閾值和聚類區間
本文定義了2個關鍵的相似性度量:內聚類相似性下界αmin_intra和跨聚類相似性上界αmax_cross。內聚類相似性下界是指屬于同一數據生成分布的客戶端之間的最大相似性,而跨聚類相似性上界是指屬于不同數據生成分布的客戶端之間的最大相似性。為了確定相似性閾值,需計算αmin_intra和αmax_cross。如果存在一個間隙g(α)=αmin_intra-αmax_crossgt;0,則可以保證正確地分離客戶端進入不同的聚類。
相似性閾值αthreshold可以通過以下方式確定:αthreshold=αmax_cross+?綴,其中,?綴是一個安全邊際,確保即使在估計有誤差的情況下,跨聚類的相似性也不會超過這個閾值。聚類區間從所有客戶端的初始集合開始,通過最小化不同聚類之間的最大相似性αmax_cross來進行二分,直到滿足以下條件:αmin_intragt;αthreshold。此時,每個聚類內的客戶端具有相似的數據生成分布,而不同聚類之間的客戶端具有顯著不同的分布。
以上方法不僅能夠提高模型的準確率和收斂速度,還能增強模型對于投毒數據的魯棒性。在接下來的章節中,本文將展示如何將這一理論應用于實際的聯邦學習場景,并體現其在提高模型性能方面的有效性。
2.3 "聚類的個性化聯邦學習框架
本研究采用了結構化流程來優化聯邦學習模型的訓練和聚類策略。首先,所有客戶端使用相同的初始參數來初始化模型,通過聯邦學習的方式與服務器進行通信,以訓練模型。在這一過程中,每個客戶端利用其本地數據集進行訓練,并將權重更新發送至服務器。服務器隨后聚合所有客戶端的權重更新,以更新全局模型參數。在完成一定數量的通信輪次后,評估模型是否達到預設的收斂條件。如果滿足收斂條件,流程進入下一步;否則,繼續進行聯邦學習訓練。接下來,服務器計算客戶端權重更新之間的余弦相似性,并使用停止標準來評估所有客戶端是否接近其局部風險函數的靜止點。若客戶端的權重更新的范數最大值超過設定值,表明客戶端之間存在顯著的不一致性,此時需要進行聚類。
本研究共涉及3種模型。
傳統聯邦學習傳統聯邦學習(FL):使用標準的聯邦學習算法FedAvg作為基線。
聚類聯邦學習(Clustered Federated Learning, CFL):在FL的基礎上,引入聚類算法來優化客戶端的分組。
聚類個性化聯邦學習(Clustered-Poisonous Federated Learning C-PFL):結合了聚類算法和個性化模型,旨在提高模型的準確率和魯棒性。
3 "實驗結果與分析
為了驗證模型有效性,本文進行了一系列實驗。本節將詳細介紹實驗設置、所采用的數據集、評估指標以及實驗結果。
3.1 "數據集
本實驗應用MNIST以及P-MNIST數據集。MNIST數據集是一個廣泛認可的手寫數字圖像集合。其由70 000個手寫數字的灰度圖像組成。這些圖像被分為2組60 000個訓練樣本和10 000個測試樣本。P-MNIST數據集是通過對MNIST數據集投毒得來的數據集。選取編號為0、1、2、3的客戶端,隨機從這4個客戶端中選取50%的圖像進行投毒處理,使得前4個客戶端中帶有有毒數據。將此數據集放入算法中進行訓練,驗證算法的魯棒性。
3.2 "投毒攻擊
在本次實驗中使用了針對圖像數據的攻擊,在輸入數據中引入不易察覺的擾動來誤導模型,使其做出錯誤的預測。在本次攻擊中,通過條件判斷,只對索引為0、1、2、3的數據集在像素級別上進行數據修改,且從每個選定的數據集中隨機選擇一半的樣本進行攻擊。
3.3 "實驗設置
本次實驗中,構建了一個包含20個客戶端的聯邦學習環境,確保每個客戶端都參與到100次的訓練輪次中。這一過程是通過Dirichlet分布精心調控的,確保每個客戶端獲得的數據集既具有共性,又保持著各自的特性。
這種數據分配策略不僅增加了實驗的復雜性,也更貼近真實世界的使用場景,其中每個客戶端可能由于地理位置、用戶群體或數據收集方式的不同而擁有不同的數據視圖。旨在探索和評估模型在面對數據異質性時的表現和適應能力。
圖1所示的是劃分數據集的可視化結果,其中橫坐標0—9代表MNIST手寫體數字0—9,不同顏色對應分配為20個客戶端,每個客戶端都包含所有數字。縱坐標代表每個手寫體數字分配給每個客戶端的圖片個數。
3.3.1 "未中毒數據實驗
聚類方法與FedAvg算法結合(C_FedAvg)對所劃分的數據集進行訓練,如圖2所示。
圖2(a)表示準確率的平均值隨通信倫次的變化趨勢,形成的帶狀區域表示準確率平均值加減一個標準差,其為準確率的波動范圍。圖2(b)表示所有權重更新的總范數和單個權重更新的最大范數隨通信輪次的變化情況。圖像顯示客戶端的平均準確率隨通信輪次的增加而變化。隨著訓練的進行,準確率趨于穩定,模型性能收斂。
圖2(a)所畫線條描繪了準確率平均值隨著通信輪次的演變,具體表現為平均準確率上下各一個標準差的區間(acc_mean-acc_std和acc_mean+acc_std)。這一區域的寬度反映了準確率在不同通信輪次中的波動性。圖2(b)為權重更新的動態,展示了所有權重更新的總范數與單個權重更新的最大范數如何隨著通信輪次的增加而變化。
與FedAvg方法相比,Fedbn算法通過在客戶端應用批量歸一化(Batch Normalization),展現其在適應不同客戶端獨特數據分布方面的優勢,Fedbn算法的靈活性在于其允許模型在訓練過程中對不同客戶端的數據特性進行個性化適應。根據實驗結果,Fedbn算法在準確率上實現了1.4%的提高,運行效率提高2.90%。這一提升驗證了Fedbn算法在處理數據異質性方面的有效性,也突顯了批量歸一化在聯邦學習框架中的價值。
圖2中呈現不同通信輪次下聯邦學習模型的演變過程。聚類操作后,模型性能暫時波動,這種波動是由客戶端重新分組的動態調整所引起的。隨著訓練的深入,模型更新幅度逐漸減小,客戶端在每輪通信中需要傳輸的數據量也隨之減少,顯著提升了通信的效率。最終模型達到了一個穩定狀態,更新幅度變小,模型已經收斂。與FedAvg算法相比,C_FedAvg模型的準確率實現了3.8%的顯著提升,運行效率提高6.20%。
聚類方法與Fedbn算法結合對所劃分的數據集進行訓練,如圖3所示。
在采用C_Fedbn算法進行的實驗中,實現一次精準的聚類操作,顯著提升了模型的性能。C_Fedbn算法的準確率達到了96.5%,與原始的Fedbn算法相比,精確度提升4.4%,算法運行效率提高7.86%。當與C_FedAvg算法的成績相比較時,C_Fedbn準確率為2.0%,算法運行效率提高10.0%。此外,C_Fedbn算法在收斂效率上也取得了突破。
綜上所述,C_Fedbn算法的這些成果在提升模型性能和訓練效率方面展現了巨大的潛力。
3.3.2 "中毒數據實驗
對MNIST數據集進行數據投毒的實驗如圖4、圖5所示,僅使用FedAvg方法訓練的模型(P_FedAvg)準確率降至84.1%,與未受投毒影響的數據集相比,準確率下降了6.6%。同樣,僅使用Fedbn方法訓練的模型(P_Fedbn)準確率下降7.8%,顯示出數據投毒對模型性能的顯著負面影響。
進一步實驗中,本文采用了聚類的聯邦學習算法(P_C_FedAvg和P_C_Fedbn)來處理受投毒的數據。P_C_FedAvg的準確率提高到了86.2%,相較于P_FedAvg提升了2.10%。類似地,P_C_Fedbn的準確率達到了87.5%,相較于P_Fedbn也提升了3.20%。結果表明,結合聚類技術的聯邦學習算法能夠有效緩解數據投毒的影響,維持模型的穩定性,避免性能的大幅下降。
通過表1與表2對比了不同模型在MNIST與P-MNIST數據集的精度值,采用20折交叉驗證,最后取得均值,驗證模型的穩定性。MNIST上聚類FedBN算法精度最高達到了0.965。在P-MNIST上聚類FedNova算法達到0.892的精度。
4 "結論
根據實驗結果,可以得出以下結論。
4.1 "聚類對模型性能的影響
在聯邦學習中引入聚類方法(C_FedAvg和C_Fedbn)被證明是有效的。C_FedAvg模型的準確率比FedAvg提高了3.8%,運行效率提高6.20%,而C_Fedbn的準確率在經過一次聚類后達到了96.5%,比Fedbn高出4.4%,同時比C_FedAvg高出2.0%,并且收斂時間也有所縮短,運行效率分別提高7.86%和10.0%,顯示出聚類可以提高模型的收斂效率。
4.2 "數據投毒的影響
實驗中對MNIST數據集進行數據投毒后,使用FedAvg和Fedbn方法,模型準確率分別下降了6.6%和7.8%,這顯著表明數據投毒對模型性能有負面影響。
4.3 "聚類抵御數據投毒的能力
使用聚類的聯邦學習算法(P_C_FedAvg和P_C_Fedbn)處理投毒數據后,模型準確率相比未處理投毒的情況分別提升了2.1%和3.20%,這證明了聚類算法結合聯邦學習可以在一定程度上抵御數據投毒攻擊,維持模型性能的穩定性。
4.4 "魯棒性
實驗結果表明,聚類的聯邦學習方法展現出了良好的魯棒性,能夠有效應對數據投毒等安全威脅,保護模型性能不大幅下降。
綜上,聯邦學習方法和聚類方法的結合不僅提升了模型在常規條件下的性能,還增強了模型對于數據投毒等惡意行為的抵抗力。這些發現強調了在設計聯邦學習系統時,考慮算法對數據分布的適應性以及引入聚類機制以提高模型魯棒性的重要性。
參考文獻:
[1] KAIROUZ P, 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.
[2] 周俊,方國英,吳楠.聯邦學習安全與隱私保護研究綜述[J].西華大學學報(自然科學版),2020,39(4):9-17.
[3] MCMAHAN B, MOORE E, RAMAGE D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Artificial intelligence and statistics.PMLR,2017:1273-1282.
[4] LI T, SAHU A K, ZAHEER M, et al. Federated optimization in heterogeneous networks[J]. Proceedings of Machine learning and systems,2020(2):429-450.
[5] LI X, JIANG M, ZHANG X, et al. Fedbn: Federated learning on non-iid features via local batch normalization[J]. arXiv preprint arXiv:2102.07623,2021.
[6] JOHNSON S C. Hierarchical clustering schemes[J].Psychometrika,1967,32(3):241-254.