施玉倩 巫朝霞
摘?要:
為了解決聯邦學習中數據異構導致模型準確率下降的問題,提出了一種基于Logistic最優化魯棒性的聚類聯邦學習(Logistic\|based?More?Robust?Clustered?Federated?Learning,LMRCFL)方法,將具有相似數據分布的客戶端分組到相同的集群中,不需要訪問其私有數據,可為每個客戶端集群訓練模型;在目標函數中引入正則項更新本地損失函數,緩解Non\|IID(非獨立同分布)數據帶來的客戶端偏移問題,通過減小模型差異提升模型準確率。在CIFAR\|10、fashion\|MNIST、SHVN數據集上與其他聯邦學習算法進行了對比,實驗結果表明,LMRCFL算法在Non\|IID數據分布下的準確率提高了8.13百分點~33.20百分點且具有魯棒性。
關鍵詞:聯邦學習;數據異構;聚類;非獨立同分布;正則化
中圖分類號:TP301??文獻標志碼:A
0?引言(Introduction)
近年來,隱私泄露問題經常發生[1]。為了解決數據隱私問題,谷歌公司提出了聯邦學習(Federated?Learning,?FL)[2\|3]。即不同客戶端在中央服務器的協調下訓練共享模型。聯邦學習在數據保密性和數據價值之間取得了良好的平衡。但是,由于客戶端之間的數據具有異質性,傳統的聯邦學習應用到非獨立同分布(Non\|IID)數據上時,效果不理想。聯邦學習訓練過程中,Non\|IID數據可能會產生客戶端偏差的問題,導致訓練模型的準確率降低,甚至難以實現收斂[4]。
針對上述問題,本文提出了基于Logistic最優化魯棒性的聚類聯邦學習方法,在全局模型聚合時上傳模型參數及客戶端訓練后的平均Softmax值,使用層次聚類法進行優化,在本地更新時加入正則化[5]懲罰項修正本地損失函數,最大化地提高全局模型的收斂速度和模型質量,解決非獨立同分布數據的異構問題。
1?相關研究(Related?research)
目前,數據異質性[6\|7]已被學者廣泛研究。FedProx(Federated?Proximal)[8]算法是基于FedAvg(Federated?Averaging)算法,對其系統異質性和統計異質性進行了改進,對非獨立同分布數據引起的客戶端漂移問題進行了懲罰。KARIMIREDDY等[9]提出了SCAFFOLD隨機控制平均算法,它使用控制變量(方差減少)糾正其局部更新中的客戶端漂移問題,但這種算法要求客戶端是有狀態的,同時傳遞狀態參數也會額外地增加通信開銷。
同時,為了解決由Non\|IID數據引發的問題,聚類聯邦學習(CFL)[10\|11]成為一個新興的研究方向。聚類聯邦學習[12\|13]是基于客戶梯度更新之間的余弦相似度證明推斷客戶群體的兩個成員是否有不同的數據生成分布,從而能夠推斷聚類結構,它既可以在一定程度上解決本地訓練中數據不足的問題,又可以減少異構數據對全局模型的影響。MORAFAH等[14]提出了FLIS(Clustered?Federated?Learning?Via?Inference?Similarity?for?Non\|IID?Data?Distribution)算法,旨在通過將客戶端分組到具有聯合可訓練數據分布的集群中解決數據異構問題。通過比較客戶端模型的推理相似性將具有相同學習任務的數據聚合。VAHIDIAN等[15]提出了PACFL(Principal?Angles?analysis?for?Clustered?Federated?Learning)算法,通過分析客戶端數據子空間之間的主要角度,有效地識別客戶端之間的分布相似性。加入聯合的每個客戶機,以一次性的方式對其本地數據應用一個截斷的奇異值分解(SVD)步驟推導出一組主要向量提供給服務器,服務器識別客戶端之間的分布相似性,從而形成集群。綜上,對于數據非獨立同分布的問題,可以從全局模型聚合或者本地客戶端更新中優化聯邦學習方法。但是,上述方法都從一個角度進行優化,難免會引發另一角度帶來的影響,導致全局模型的質量降低。
2?背景知識(Background?knowledge)
2.1?聯邦學習
其中:N表示參與訓練客戶端的用戶數據量,局部批次大小為B;pi為參與訓練的第i個客戶端的聚合權重,其中pi≥0,并且∑i[DD)]pi=1;Fi(w)是本地目標函數,表示參與訓練的客戶端在本地數據集(xi,yi)上對模型參數w的平均損失的預測值;l(·)為交叉熵損失函數,本地局部模型訓練損失函數為l(w;b)=∑(x,y)∈b[DD)]l(x;y;w),這是FL算法中的FedAvg算法給出的典型問題定義。
在FedAvg算法中,采用隨機梯度下降(SGD)優化全局損失函數。為了簡化場景,本研究設置了客戶端的數量N個,每個客戶端都有自己的本地數據集。在每一輪通信中,隨機選擇一定比例的客戶端參與,服務器將前一輪的平均模型作為初始模型。客戶端接收到服務器所發送的模型參數后,使用本地數據進行E輪訓練,并將模型參數發送回服務器。服務器對收集到的模型參數進行聚合,獲得新的全局模型,作為下一輪通信的初始點。當數據獨立同分布(IID)時,每個局部模型的梯度下降方向與全局梯度下降方向相似,因此平均梯度下降方向也與全局梯度下降方向相似。但在高異質性(Non\|IID)數據的情況下,服務器聚合的平均梯度下降方向偏離了全局梯度下降方向。因此,FedAvg在Non\|IID數據環境下表現出的性能通常不如IID數據環境。與傳統的分布式機器學習相比,FedAvg算法有效地降低了通信開銷,但在實際應用中,會在客戶數據的分布中出現不同程度的偏差。
2.2?聚類聯邦學習
聚類在聯邦學習中不能直接聚類節點中的數據,而是聚類節點中的模型參數,其意義在于尋找相似的模型參數,如同尋找相似的節點。根據模型參數進行聚類,尋得相似節點分類聚合,在減少數據異構對聯邦學習造成影響的同時,也增強了節點數據的隱私性。本文將層次聚類用于聯邦學習訓練的主要原因如下:(1)距離規則的相似度更容易被定義,限制程度較小;(2)不需要預先設定聚類數;(3)能發現類層次關系。
層次聚類(HC)是以一個鄰接矩陣作為輸入,并將相似的對象分組到聚類中。HC首先將每個客戶端看作一個初始聚類簇。通過在聚類的每一步計算所有聚類之間距離識別它們的相似性(距離閾值為聚類閾值,距離越小,其相似度越高),并將最近的兩個聚類簇進行合并。迭代過程不斷重復進行,直至達到預設的聚類簇的個數。
3.1?基于層次聚類的聯邦學習
由于數據的異質性導致普通的聯邦學習得到的全局模型無法很好地概括每個參與訓練的客戶端,因此本研究提出了一種個性化聯邦學習的方法,即LMRCFL(Logistic\|based?More?Robust?Clustered?Federated?Learning)。LMRCFL方法可以自動將數據分布狀態更新為相近參與聯邦學的客戶端,形成最合適的多個動態集群,在每個動態集群中,將原本具有Non\|IID性質的客戶端在多個動態的集群中轉變為近似IID的分布,從而進一步提高模型準確率。數據的異質性導致傳統的聯邦學習方法無法很好地適應每個參與訓練的客戶端的特點。為了解決這一問題,引入個性化聯邦學習方法自動將數據分布狀態相似的客戶端聚合成多個動態集群,以最佳方式進行模型訓練。在每個動態集中,將原本具有非獨立分布特性的客戶端的數據,轉化為近似獨立同分布(IID)的分布,提高模型的精確性。
在動態聚類的聯邦學習中,為了尋找分布更相似的客戶端[16],研究人員開展了研究,例如通過模型參數計算客戶端模型之間的距離,或者使用每個模型的總損失值衡量它們的相似性。然而,有時即使模型參數相同,輸出的結果仍可能存在較大差異。因此,使用模型參數和總損失值作為相似性度量的標準可能存在不確定性。為了解決這一問題,在聯邦學習訓練過程中,除了上傳模型參數,本研究還上傳了每個客戶端在通信過程中,經過最后一輪本地訓練后的所有數據輸出的平均Softmax值,輸出值是對本地擁有數據的描述,它可以清晰地反映客戶端的數據分布狀態,從而有助于尋找數據分布更相似的客戶端。
當中心服務器接收到來自客戶端上傳的輸出值后組成矩陣[WTHX]A[WTBX],表示為[WTHX]A[WTBX]=[s1,s2,…,sn]。矩陣[WTHX]A[WTBX]包含了每輪參與訓練的客戶端上傳的值。然后采用歐氏距離度量概率分布之間的距離,計算矩陣[WTHX]A[WTBX]中每個si與其他n-1個輸出值之間的距離,從而生成一個鄰接矩陣[WTHX]X[WTBX]。本研究將通過歐氏距離計算得到的距離度量記為sij,最終得到的鄰接矩陣記為[WTHX]X[WTBX]ij,利用所得到的鄰接矩陣[WTHX]X[WTBX]ij設計了一種新的層次聚類方法,采用Ward法作為層次聚類的鏈接方法,默認每一輪形成10個集群,等于每一輪中參與者客戶的數量,Ward法是一種凝聚式層次聚類算法,其核心思想是將初始時每個數據點視為一個獨立的聚類,然后逐漸合并這些聚類,每次合并都最小化簇內方差的增量,直到形成所需數量的聚類或滿足某個停止條件。該方法能夠自動確定所需的聚類數量,并用于構建聯簇。
3.2?正則項
在聯邦學習中,允許不同設備根據它們的性能和數據特點執行不同的訓練,若每個設備都獨立地進行本地模型更新,則可能導致因本地數據的異質性而產生全局模型的偏移問題。為了確保在聯邦學習中模型在各個設備之間保持一定的一致性,需要在目標函數中引入正則項,將其看作一種懲罰機制,限制每個設備的本地數據更新幅度,使模型訓練過程更加穩定。這為通過聚類方法對客戶端進行分簇后實現個性化操作奠定了基礎。通過這種方式,能夠更好地促進設備之間的協作和知識共享,從而提高聯邦學習的效果。
本文所提方法通過在本地經驗風險中引入一個近端項,當全模型下發時,首先將模型參數凍結,對客戶端進行更新,此時相當于局部模型進行更新得到L1,其次不凍結模型參數,下發模型參數并進行客戶端更新得到L2,數據相同而模型不同,計算L1與L2之間的距離,觀察它們之間的變化幅度,若L1與L2之間變化大,則認為模型參數發生了很大的變化,會影響最終的均值,此時把它加入損失函數中作為一個懲罰項,限制其受本地數據更新的影響。
3.3?基于動態聚類的聯邦學習框架
算法流程如下。
Step1:服務器向客戶端發送初始化全局模型參數w0,客戶進行本地數據更新wi,并將更新后的模型參數發送回服務器。
Step2:服務器接收到客戶端模型參數,通過Softmax函數歸一化。
Step3:計算客戶端到其他客戶端的距離,構建鄰接矩陣[WTHX]A[WTBX]ij,通過層次聚類將其劃分為不同的簇。
Step4:每個簇內按樣本權重加權,構建多個全局模型并進行模型下發,對應客戶端接收到對應簇的全局模型。
Step5:為了控制模型的復雜度,局部模型的目標函數是在原損失函數的基礎上加近端項作為懲罰項,通過正則化本地損失函數獲得泛化性能更好的全局模型。
重復執行上述步驟,直至節點與中心服務端通信次數達到ROUNDS,則訓練結束。
LMRCFL算法:
4?實驗結果與分析(Experimental?results?analysis)
4.1?實驗過程
4.1.1?數據集和模型
實驗在CIFAR\|10、Fashion\|MNIST和SVHN數據集上評估LMRCFL方法的性能,引入CNN網絡模型,由2個5×5卷積層、2個平均池化層和3個全連接層組成,每個卷積層都連接著2×2的池化層和ReLu激活函數,Softmax層作為輸出層。
通過狄利克雷分布模擬非獨立分布。在該分布中,用超參數控制設備之間數據分區的傾斜程度。若α越大,則設備間數據傾斜程度越小,越接近均勻分布;若α越小,則設備間標簽傾斜越嚴重,異構特性越明顯。這種設置方式給數據分區引入了更多的隨機性,雖然無法完全控制數據分區的結果,但是能較好地反映實際場景中的數據分區情況。實驗中采用10個客戶端,默認通過α=0.1狄利克雷分布隨機采樣選取100個客戶端,最大聚類數為10類,批次大小為16。
CIFAR\|10數據集是一個彩色圖像數據集,每張圖片的大小為32×32。Fashion\|MNIST數據集是包含10個類別的70?000張衣物的灰度圖像,分辨率為28×28像素;Fashion\|MNIST數據集比MNIST數據集(MNIST數據集是一個計算機視覺數據集,它包含70?000張手寫數字的灰度圖片,每一張圖片包含28×28個像素點)更復雜,能更好地表示神經網絡的實際性能和實際應用中使用的數據集。SVHN數據集是從谷歌街景圖像中的門牌號碼中獲得的,都是10分類問題,每張圖片包含一組數字(0~9)。數據集和模型統計信息如表1所示。
4.1.2?實驗設置
實驗中,FL系統的默認設置如表2所示。客戶端本地數據訓練使用隨機梯度下降優化器進行優化,動量參數設置為0.5,損失函數為交叉熵損失函數。客戶端本地數據訓練中使用CNN模型,其網絡結構如表3所示。
4.1.3?實驗評價指標
本文采用測試集客戶端數據的平均測試準確率作為算法性能的評價指標。
4.2?對比實驗結果
為了評估LMRCFL算法的性能,分別在CIFAR\|10、Fashion\|MNIST和SVHN數據集上進行了實驗,并與其他聯邦學習算法進行了比較。FedProx是基于聯邦平均算法FedAvg算法,在優化目標中增加了一個近端項限制本地模型與全局模型的優化差距,以此減小本地模型的漂移,這是解決聯邦學習中Non\|IID問題的一個典型方法。PACFL通過分析客戶端數據子空間之間的主要角度,有效地識別客戶端之間的分布相似性,并形成集群。通過聚類聯邦學習解決數據異構性問題。
表4給出了4種算法在Non\|IID數據集上第400輪訓練時獲得的準確率對比結果,表5給出了4種算法在Non\|IID數據集上的最佳準確率(Best?Accuracy)對比結果。實驗結果表明,結合了層次聚類算法和近端項方法在不同數據集及數據異構的情況下,所提出算法比FedAvg算法、FedProx算法和PACFL算法得到一個更好的全局模型。LMRCFL方法在CIFAR\|10、Fashion\|MNIST、SVHN數據集上比其他的方法準確率都有所提高,從圖1、圖2、圖3可以看出,LMRCFL方法的測試集準確率變化曲線基本都能處于其他算法之上,說明LMRCFL方法在Non\|IID設置下能發揮積極作用。
各算法在α=0.1時,實驗準確率隨訓練輪次的變化趨勢如圖1至圖3所示,從中可以看出LMRCFL算法具有更快的收斂速度,獲得的最終準確率也最高,證明了本文提出模型的有效性;相較于其他,LMRCFL算法每次局部更新時結合了層次聚類算法和近端項方法的更新程度,因此算法的每次變化更穩定,準確率遠高于FedAvg算法、FedProx算法和PACFL算法,FedProx算法和PACFL算法在學習的過程中準確率波動較大,其中PACFL算法在CIFAR\|10和SHVN數據集上的準確率波動比較大,在Fashion\|MNIST數據集上的準確率表現相對穩定,并且性能較好。
4.3?消融實驗
LMRCF算法分為兩個部分:一是全局模型更新時通過層次聚類法找到數據分布相似的客戶端,將其劃分為一個簇,減少了客戶端之間Non\|IID的范圍;二是本地客戶端局部更新時通過正則化本地損失函數獲得泛化性能更好的全局模型。為了驗證基于層次聚類的個性化聯邦學習的有效性,本文在CIFAR\|10、Fashion\|MNIST和SVHN數據集上進行了消融實驗。實驗結果如圖4至圖6所示,從中可以看出CLUSTER10表示將客戶端數量聚為10類,CLUSTER5表示將客戶端數量聚為5類,CLUSTER1表示沒有聚類,只添加了正則化時的聯邦學習方法。
實驗結果表明,各種聚類方法都比FedAvg方法的效果好,說明聚類對測試準確率和客戶端數據的平均準確率有影響,結合使用聚類方法有助于解決Non\|IID問題。在Fashion\|MNIST數據集和SVHN數據集上不同的聚類方法沒有很大的區別。在CIFAR\|10數據集上聚成10類的效果明顯好于聚成5類的效果,讓每一簇的客戶端數量更多,學到的知識更好。
4.4?Non\|iid強度的對比
在Fashion\|MNIST、SVHN數據集上對不同Non\|IID強度條件下獲得的準確率進行了對比,如圖7和圖8所示,狄利克雷分布系數(dir)越小,異質性越強,狄利克雷分布系數(dir)越大,異質性越弱,對比兩種異質性的強度,最終結果是相似的,不管環境如何變化,本文所提方法在不同的狄利克雷分布系數下,準確率結果也比較相近,進一步證明了LMRCFL方法具有魯棒性。
5?結論(Conclusion)
為了解決聯邦學習訓練中非獨立同分布數據的異構問題,本文提出了一種新的聯邦學習框架,從全局模型聚合和局部更新兩個方面改進了算法,客戶端數據全局聚合時使用層次聚類法進行優化,在局部更新時加入正則化懲罰項修正本地損失函數。結果表明,聚類對測試準確率和客戶端數據的平均準確率有影響,結合聚類方法和正則化懲罰項有助于提高算法的有效性,同時具有更好的魯棒性。?在未來的研究中,將持續開展算法的理論研究并證明其收斂性,設計性能更好的聯邦學習算法,以可視化聚類聯邦學習的公平性,從而解決客戶端設備異構的問題。
參考文獻(References)[HJ1.35mm]
[1]?MOTHUKURI?V,PARIZI?R?M,POURIYEH?S,et?al.?A?survey?on?security?and?privacy?of?federated?learning[J].?Future?generation?computer?systems,2021,115:619\|640.
[2]?LI?T,SAHU?A?K,TALWALKAR?A,et?al.?Federated?learning:challenges,methods,and?future?directions[J].?IEEE?signal?processing?magazine,2020,37(3):50\|60.
[3]?肖雄,唐卓,肖斌,等.?聯邦學習的隱私保護與安全防御研究綜述[J].?計算機學報,2023,46(5):1019\|1044.
[4]?郭桂娟,田暉,皮慧娟,等.?面向非獨立同分布數據的聯邦學習研究進展[J].?小型微型計算機系統,2023,44(11):2442\|2449.
[5]?藍夢婕,蔡劍平,孫嵐.?非獨立同分布數據下的自正則化聯邦學習優化方法[J].?計算機應用,2023,43(7):2073\|2081.
[6]?ZHU?H?Y,XU?J?J,LIU?S?Q,et?al.?Federated?learning?on?non\|IID?data:a?survey[J].?Neurocomputing,2021,465(C):371\|390.
[7]?ZHAO?Z?Y,FENG?C?Y,HONG?W,et?al.?Federated?learning?with?non\|IID?data?in?wireless?networks[J].?IEEE?transactions?on?wireless?communications,2022,21(3):1927\|1942.
[8]?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.
[9]?KARIMIREDDY?S?P,KALE?S,MOHRI?M,et?al.?SCAFFOLD:stochastic?controlled?averaging?for?federated?learning[DB/OL].?(2022\|09\|21)[2024\|02\|05].?https:∥arxiv.org/abs/1910.06378.
[10]?SATTLER?F,MULLER?K?R,SAMEK?W.?Clustered?federated?learning:model\|agnostic?distributed?multitask?optimization?under?privacy?constraints[J].?IEEE?transactions?on?neural?networks?and?learning?systems,2021,32(8):3710\|3722.
[11]?GHOSH?A,CHUNG?J,YIN?D,et?al.?An?efficient?framework?for?clustered?federated?learning[J].?IEEE?transactions?on?information?theory,2022,68(12):8076\|8091.
[12]?常黎明,劉顏紅,徐恕貞.?基于數據分布的聚類聯邦學習[J].?計算機應用研究,2023,40(6):1697\|1701.
[13]?魯晨陽,鄧蘇,馬武彬,等.?基于DBSCAN聚類的集群聯邦學習方法[J].?計算機科學,2022,49(S1):232\|237.
[14]?MORAFAH?M,VAHIDIAN?S,WANG?W?J,et?al.?FLIS:clustered?federated?learning?via?inference?similarity?for?non\|IID?data?distribution[J].?IEEE?open?journal?of?the?computer?society,2023,4:109\|120.
[15]?VAHIDIAN?S,MORAFAH?M,WANG?W?J,et?al.?Efficient?distribution?similarity?identification?in?clustered?federated?learning?via?principal?angles?between?client?data?subspaces[DB/OL].?(2022\|09\|21)[2023\|12\|25].?https:∥arxiv.org/abs/2209.10526.
[16]?張婷,吳宇.?面向Non\|IID場景的聯邦學習客戶端選擇算法研究[J].?東莞理工學院學報,2023,30(3):24\|31.
作者簡介:
施玉倩(1997\|),女,碩士生。研究領域:聯邦學習,隱私保護。
巫朝霞(1975\|),女,博士,教授。研究領域:信息安全。