999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種解決數據異構問題的聯邦學習方法

2024-05-24 01:45:55張紅艷張玉曹燦明
計算機應用研究 2024年3期

張紅艷 張玉 曹燦明

摘 要:

聯邦學習是一種不通過中心化的數據訓練就能獲得機器學習模型的系統,源數據不出本地,降低了隱私泄露的風險,同時本地也獲得優化訓練模型。但是由于各節點之間的身份、行為、環境等不同,導致不平衡的數據分布可能引起模型在不同設備上的表現出現較大偏差,從而形成數據異構問題。針對上述問題,提出了基于節點優化的數據共享模型參數聚類算法,將聚類和數據共享同時應用到聯邦學習系統中,該方法既能夠有效地減少數據異構對聯邦學習的影響,也加快了本地模型收斂的速度。同時,設計了一種評估全局共享模型收斂程度的方法,用于判斷節點聚類的時機。最后,采用數據集EMNIST、CIFAR-10進行了實驗和性能分析,驗證了共享比例大小對各個節點收斂速度、準確率的影響,并進一步分析了當聚類與數據共享同時應用到聯邦學習前后各個節點的準確率。實驗結果表明,當引入數據共享后各節點的收斂速度以及準確率都有所提升,而當聚類與數據共享同時引入到聯邦學習訓練后,與FedAvg算法對比,其準確度提高10%~15%,表明了該方法針對聯邦學習數據異構問題上有著良好的效果。

關鍵詞:聯邦學習;數據共享;聚類;全局共享模型收斂;數據異構

中圖分類號:TP18?? 文獻標志碼:A

文章編號:1001-3695(2024)03-011-0713-08

doi:10.19734/j.issn.1001-3695.2023.07.0296

Effective method to solve problem of data heterogeneity in federated learning

Zhang Hongyan1,Zhang Yu1,Cao Canming2

(1.College of Information Science & Technology,Zhengzhou Normal University,Zhengzhou 450044,China;2.School of Computer Science & Technology,Tiangong University,Tianjin 300387,China)

Abstract:Federated learning is a framework for obtaining machine learning models without centralized data training,reducing the risk of privacy leakage while also obtaining optimized training models locally.However,the identity,behavior,environment,etc.between nodes are different,resulting in unbalanced data distribution,which may cause a large deviation in the performance of the model on different devices,resulting in data heterogeneity.Aiming at the above problems,this paper proposed a federated learning algorithm for data sharing clustering based on node optimization method that applied clustering and data sharing to fede-rated learning system at the same time,which could effectively reduce the impact of data heterogeneity on federated learning and accelerate the convergence of local models.At the same time,it designed method to assess the convergence of the global shared model to determine the timing of node clustering nodes.Finally,this paper used the EMNIST and CIFAR-10 datasets for experiments and performance analysis to compare the effects of the size of the shared scale on the convergence speed and accuracy of each node,and to compare the accuracy of clustering and data sharing before and after the application of federated learning.Experimental results show that the convergence speed and accuracy of each node are improved when data sharing is introduced,and the accuracy is increased by about 10%~15% when clustering and data sharing are introduced into federated learning training at the same time,indicating that this method has a good effect on the heterogeneous problem of federated learning data.

Key words:federated learning;data sharing;clustering;global shared model convergence;data heterogeneity

0 引言

近年來,云計算、物聯網和機器學習高速發展,廣泛應用于智慧城市、智慧安防等領域。海量異構數據聚合在云平臺上,通過各類機器學習和深度學習算法對數據進行分析,挖掘數據隱藏的知識信息。然而,隨著數據和用戶隱私的關聯度越發密切,把全部源數據聚合到中心節點再進行模型訓練的方法存在較大的隱私泄露風險[1~3]。因此,谷歌于 2017 年提出聯邦學習[4],旨在無須通過中心化的數據訓練就能獲得機器學習模型。各數據提供方在本地進行數據訓練,把參數等隱私無關信息發送給參數服務器進行全局調優,再把優化后的模型應用到本地,以實現在不提供原始數據的情況下獲取全局的數據“知識”。聯邦學習是典型的非聚合式數據共享方法,源數據不出本地,降低了隱私泄露的風險,同時本地也獲得優化訓練模型[5]。

但是由于各節點的身份、所處環境的差異,導致由各節點之間產生的數據集可能存在很大的差異性,訓練樣本并不是均勻隨機地分布在不同的數據節點間的,不平衡的數據分布可能導致模型在不同設備上表現出較大偏差,從而形成聯邦學習數據異構問題[6~9]。所以在進行聯邦學習訓練前,如何選取有效的數據集進行數據處理是一個重要的問題。在聯邦學習算法研究過程中,文獻[4]提出的FedAvg是目前最常用的聯邦學習優化算法,其根據各個節點內數據量與全體節點總數據量的比值作為權重聚合不同節點發送的參數,但這種簡單的加權平均的方式難以處理數據異構問題。基于FedAvg聯邦平均算法,目前有很多關于解決數據異構問題的研究,主要有兩種思路[3]:a)通過優化中心服務端的模型聚合的方法降低數據不平衡帶來的影響;b)通過優化本地模型的更新過程。在基于中心服務端聚合的優化方面: FedAvgM[10]通過引入動量的方法緩解數據異構對聯邦平均算法的影響;文獻[11]提出分層聚合的方式,將模型訓練分為基礎層與個性層兩層,其中基礎層由不同節點共同訓練,而個性層是由本地訓練,個性層能夠有效地減少數據異構在不同節點之間的差異。在基于本地節點優化的算法方面:由于不同節點上的數據是非獨立同分布的,并且節點之間不能夠直接通信與數據交流,本地模型訓練時不能夠得到其他節點中的信息,所以本地訓練很可能受到本地節點中的數據影響,其模型的更新方向很難被掌控。為了解決上述問題,文獻[12]通過創建一個在所有節點設備之間全局共享的數據子集,節點設備基于共享數據與私有數據進行模型訓練,以改進對非獨立同分布數據的訓練。

由于non-IID 數據的存在,聯邦學習的效率、準確性和通信成本等都受到了很大的影響。已有很多學者針對此進行研究。例如:文獻[7]使用全局模型的知識來約束局部模型的偏置問題,防止那些與全局模型訓練方向相差太大的局部模型發生“客戶漂移”現象,進一步增加設備之間的通信代價;文獻[8]引入K-center方法,提出了一種基于模型梯度相似性對設備進行周期性聚合分組的方法,但很容易引入巨量的通信開銷;文獻[13]提出了一種新的算法FedProx,在各個用戶之間設置局部損失函數,有效減少數據異構對聯邦學習的影響。針對移動終端設備上數據分布的不平衡性,文獻[14]提出一種自平衡框架;文獻[15]提出一種基于精餾的半監督聯邦學習算法,能在移動設備間交換局部模型的輸出,降低了通信成本;文獻[16,17]對面向非獨立同分布數據的聯邦學習研究進展進行了綜述,并指出了目前的研究方向。

由于本地節點優化與優化中心服務端的模型聚合相比更容易操作且便捷,所以本文基于本地節點優化的算法,提出了基于節點優化的數據共享聚類的聯邦學習算法,引入聚類[14]算法與數據共享技術[8]到聯邦學習算法,有效減少數據異構對于聯邦學習的影響。該算法首先利用數據共享,節點利用共享數據與本地數據訓練收斂后,依據各個節點上傳的模型參數尋得相似節點進行聚類操作,隨后在各個類別中分別進行聚合。

本文的主要貢獻包括三個方面:

a)數據共享。引入數據共享技術到聯邦學習節點初始化,各節點按照指定的共享比例將數據放置共享數據池,節點本地訓練時并入共享數據池中的數據進行本地訓練,并研究節點數據共享比例對聯邦學習的準確度和收斂速度的影響。

b)動態判斷模型收斂。通過對于聯邦學習收斂的研究,提出了動態判斷模型收斂算法。該算法能夠反映出各個節點的收斂程度,其目是為模型參數聚類做準備,當各節點的模型收斂,此刻本地模型參數能夠很好地表現本地數據的分布情況。該算法提高了模型參數聚類的效果。

c)節點聚類。通過節點的層次聚類解決數據異構問題帶來的影響。首先聯邦學習達到模型收斂條件后,判斷各個節點數據之間的相似度,進行層次聚類。針對不同簇類的用戶分別進行聚合操作,并在數據集EMNIST和CIFAR10上作出了評估。實驗結果表明,本文算法能夠有效減少數據異構對聯邦學習的影響,并且優與對比方案。

1 理論基礎

1.1 經典聯邦學習及其存在的問題

聯邦學習是一種新型分布式機器學習技術,聯邦學習中各個數據的擁有者(個人/企業/機構)的自有數據不會離開本地,通過聯邦學習系統中加密機制下的參數交換聯合建立一個全局的共享模型,建好的模型在各自區域只為本地的目標中心服務。該系統中全局共享模型的數據與訓練存儲在各個節點上,中心服務端統籌聯合訓練。聯邦學習與分布式機器學習不同的是由于節點之間存在地理、時間分布的差異,聯邦學習通常要處理非獨立同分布(non-IID)的數據[15,16]。聯邦學習的訓練過程通常需要循環以下四個步驟,如圖1所示,設聯邦學習各個節點與中心服務端的通信次數為t,具體步驟如下:

a)系統初始化。首先各個節點從中心服務端下載全局共享模型參數θt,初始化本地模型參數。

b)局部計算。各節點根據自有的數據進行本地訓練,當達到預定的訓練次數時,將本地模型參數與訓練前下載的全局共享模型參數作差求出模型參數的梯度,并上傳至中心服務端,以用于全局共享模型的一次更新。如式(1)所示,設節點數據為Di,通過梯度下降法得到本地訓練參數與θt作差,求出全局共享模型下降梯度。

Δθt+1i=SGDk(θt,Di)-θt i=1,…,m(1)

c)中心聚合。中心服務端隨機抽取節點,并接收各節點上傳的模型參數梯度,中心服務端對這些模型參數梯度值進行聚合操作。式(2)表示中心服務端模型參數梯度聚合,中心服務端將抽樣的節點模型參數梯度Δθt+1i加權平均,并與上一輪聚合后模型參數θt相加,更新全局模型參數θt+1。

d)模型更新。中心服務端根據聚合后的結果對全局模型進行一次更新,并將聚合后的模型參數回傳給抽樣節點,各節點更新本地模型,并開啟下一輪的本地訓練。重復執行上述步驟直至通信次數達到t。

θt+1=θt+∑mi=1|Di||D|Δθt+1i(2)

聯邦學習中通信負載[17]是聯邦學習發展道路上難以忽視的一道障礙。隨著深度學習的不斷發展,神經網絡模型的深度不斷加深,深度學習網絡模型參數也隨之增多。比如 CNN[18]可能需要訓練上百萬個參數,在聯邦學習中每一次更新過程需要更新上百萬個參數。其次,聯邦學習的訓練放置在各個節點中,中心服務端依靠網絡與各節點進行信息交互,更新節點模型參數。其中,網絡通信[19]的狀態也可能導致很高的通信成本,比如不穩定的網絡情況、參數上傳和下載過程中速度不一致都會導致整個算法的模型訓練成本過大。

為了解決上述問題,本文采用上傳模型參數梯度,而非整個模型參數。更新本地模型需將全局共享模型參數賦值到本地,該過程中有很多值是無須傳遞的,對于通信會造成不小的壓力。而本地模型僅僅需要了解其模型變化的方向,就能夠調整本地模型參數。因此各節點只需接收模型參數梯度,就能夠減少通信所帶來的一部分壓力,并且與傳遞整個全局模型的效果是一樣的。

此外,聯邦學習中存在數據異構難題。聯邦學習節點中的數據通常以non-IID的方式在網絡中生成和存儲在本地,跨設備的節點持有的數據數量很可能分布不均勻。而目前現有的機器學習優化算法針對的數據是獨立同分布的,這些算法對于聯邦學習不能適用。其次,數據異構也會導致節點本身的模型參數僅僅適用于本身私有的數據,使節點局部模型的準確率高于全局共享模型[19~22]。

FedAvg[4]是目前最常用的聯邦學習優化算法,其本質思想是中心服務端聚合操作為線性求和,求得均值,用于全局共享模型的一次更新。并未對聯邦學習的數據異構進行處理,導致傳統聯邦學習中的全局共享模型并不能有效地泛化各個節點。

1.2 算法改進思想

1)模型參數聚類

真實環境中聯邦學習各個節點的數據存在著一定的獨立性、差異性。設想聯邦學習中存在具有相同工作和相似環境的一類節點,該類節點所產生和存儲的數據往往相似度很高。例如節點A經常旅游,該節點設備中存儲的圖片,風景照將會占絕大部分,而另一個節點B與A有著相同的愛好,節點A、B設備中存儲的數據將會有著很高的相似度。在上述例子中,倘若想要對各個節點劃分類別,傳統的機器學習采取的方法通常是對現有大量數據進行聚類操作。但在聯邦學習中基于對節點數據隱私的考慮,節點中的數據不能上傳到中心服務端,因此不能根據數據的特征對節點分類。

基于以上分析,聚類在聯邦學習中不能直接聚類節點中的數據[23],而是聚類節點的模型參數,其意義在于尋找相似的模型參數,如同尋找相似的節點。根據模型參數進行聚類,尋得相似節點分類聚合,在減少數據異構對聯邦學習造成影響的同時也保護了節點數據的隱私。本文采用層次聚類[14]用于聯邦學習訓練,主要原因是該方法的距離規則更加容易被定義,限制程度較小。層次聚類的過程如下:

a)初始化。首先將每個個體C={c1,c2,…,cm}看作一個初始聚類簇。

b)合并。遍歷每個聚類簇,找出最近的兩個聚類簇c*i=ci∪cj進行合并,合并后化為一個新的個體。該過程不斷重復進行,最終達到預設的簇類個數。

2)采用數據共享進行訓練

聯邦學習系統是面向多節點的模型訓練系統,各個節點在參與訓練時,數據不會發送給其他節點或中心服務器,而是將數據保留在本地。中心服務器通過對節點發送的本地模型更新進行整合,最終完成共享模型的訓練。在節點進行本地模型訓練時,由于設備間計算能力的差異,各個客戶端完成計算的時間不同,而現有機器學習任務一般默認數據遵循獨立同分布的假設。在聯邦學習中,不同節點設備之間的數據極有可能不滿足該假設,各個節點中的部分異常數據會對共享模型造成破壞,造成模型精度的降低。

為了解決聯邦學習中數據分布影響聯邦學習效果的問題,本文采用了一種小部分共享數據的方法[8]。具體地,在訓練初始階段,對參與聯邦學習的每個節點設備,按照共享比例抽取共享數據,放置共享數據池中,節點模型訓練之初從共享數據池中隨機采樣部分數據分發給各個節點設備。節點設備基于共享數據與私有數據進行模型訓練。

2 系統架構與設計方案

本章首先闡述本文的系統架構,將數據共享引入到聯邦學習中,并在節點訓練之初收集共享數據,隨后進行本地訓練;其次,提出判斷聯邦學習收斂的兩個條件,即最大風險函數梯度與平均風險函數梯度值,用于聯邦學習參數聚類;最后,當滿足模型收斂條件時進行模型參數聚類,即不同類別的節點分別進行聚合,并給出了判斷節點分類的理論基礎。

2.1 系統架構

物理層面上,聯邦學習系統一般由數據持有方和中心服務器組成。各數據持有方的本地數據數量或特征數或許并不足以支持一次成功的模型訓練,因此需要其他數據持有方的支持。而聯邦學習中心服務器的工作是收集從各數據持有方收集到的梯度,并在服務器內進行聚合操作后返回新的梯度。在一次聯邦學習的合作建模過程中,數據持有方對本地數據的訓練僅發生在本地,以保護數據隱私,迭代產生的梯度脫敏后作為交互信息,代替本地數據上傳給第三方受信任的服務器,等待服務器返回聚合后的參數再對模型進行更新。

在大規模邊緣節點設備參與的聯邦學習中,雖然參與方的本地數據為non-IID,但如果使用層次聚類算法[14]根據參與方數據分布的向量對參與方進行聚類,在使用一個合理類簇值的前提下,隨著迭代次數增加,層級聚類的收斂性會保證數據分布相近的節點逐漸被劃分進同一個聚類,即每個聚類內部的數據分布會向IID趨近。當節點的數量達到一定規模,每個節點都能找到其所屬的聚類,且每個聚類的參與方數量都能達到一定規模。基于各聚類中心,本文算法就能對總體訓練數據的分布有更多的把控。此外,同一聚類中參與方的數據分布更接近IID。

聚類聯邦學習系統架構中包括節點和中心服務器兩類成員。節點收到全局模型后,提供部分數據存放在共享數據池,如算法1所示,同時將共享數據池中的數據加載到本地數據中,隨后使用本地數據進行模型訓練,得到梯度信息后上傳到中心服務器,由中心服務器進行聚類。并且中心服務器負責收集從節點發送來的信息,并對其加權平均,然后更新全局模型信息,再把全局模型發送給各個參與方開始新的全局訓練周期。該系統架構如圖2所示。

2.2 聯邦學習的數據共享

為了保護節點數據的隱私,聯邦學習中數據生成和存儲在本地。在這種情況下,每個節點的數據都是相互獨立的,這使得本地訓練出的模型僅僅適用于節點本身的數據,泛化能力很差,局部模型容易出現欠擬合。本地模型參數上傳到中心服務端聚合,聚合后的全局共享模型更新本地模型雖然能夠在一定程度上減少欠擬合,但卻面臨著全局共享模型準確率會低于局部模型的問題。

為了解決上述問題,本文提出了聯邦學習數據共享技術。為了平衡保護節點數據隱私和提高全局共享模型之間的矛盾,僅需上傳小部分數據就能夠達到提高全局共享模型準確率的目的。該方法在抽樣的節點中抽取一部分共享數據存放到共享數據池中。在節點模型訓練之初,將共享數據池中的數據并入到本地節點數據中,其目的是解決節點之間的數據差異較大使得聯邦學習全局共享模型并不能有效泛化節點的問題。由于每個節點都共享一部分數據,這樣能夠很大程度上減少各個節點數據之間的差異,提高本地模型的泛化能力。本文設計了各個節點數據的分配,如算法1所示。首先,模型傳入本地數據集Di,設置超參數分享比例share,然后將節點所分配到的數據分為訓練集data_train、驗證集data_eval,以及共享數據集data_share三部分。其中共享數據集按照共享比例share將數據拆分出來,之后存放到共享數據池中。在本地模型訓練之初,將共享數據池的數據并入到各個節點的訓練集中。

算法1 各個節點數據的分配

輸入:數據集Di;節點id;分享比例share;訓練集比例train_frac。

輸出:節點數據的訓練集data_train;驗證集data_eval;共享數據集data_share。

初始化:本地client加載本地數據。

N_Share=length(Di)×share

N_Train=(length(Di)-N_share)×train_frac

N_Eval=length(Di)-N_train-N_share

data_train,data_eval,data_share=split(Di,[N_Share,N_Train,N_Eval])

return data_train,data_eval,data_share

2.3 聯邦學習節點本地模型收斂評估

聯邦學習節點數據的非獨立同分布是造成模型效果不如傳統的機器學習的原因之一[3]。非獨立同分布使得聯邦學習產生模型異構、數據異構等問題,都有可能影響各節點的模型收斂時間。本文根據節點模型參數相似性劃分類別,要求聚類操作只有在節點模型收斂下才能進行。因為只有在收斂狀態下的節點模型參數才能最準確地反映節點數據的分布情況。

基于上述分析,本文提出了一種評估聯邦學習訓練是否收斂的方法,用于解決節點之間因過早分區而導致聚類效果降低的問題。該方法計算全局模型收斂程度,進而判斷節點聚類的時機。首先,由于中心服務端需要統籌多個節點,所以聯邦學習判斷收斂不能由單個節點的收斂決定整個模型收斂。其次,當整個模型趨近于收斂時,所有節點的模型參數梯度都應趨近于0。因此,本文提出了平均風險函數值和最大風險函數值

兩個參數用于判斷聯邦學習收斂。平均風險函數值能夠反映出所有節點模型訓練的狀況。此外,

若節點群中最大的風險函數值符合預設條件,自然風險函數較低的節點也已經收斂。只有兩個參數都滿足預設的條件時,聯邦學習訓練才達到收斂。

當聯邦學習在通信k與k-1次中的平均風險函數值mean之差在0~ε1,則滿足本地模型訓練收斂條件之一,如式(4)所示。

當條件式(4)(6)都被滿足時,表明聯邦學習已經收斂,就可以對節點本地模型參數進行聚類。

2.4 模型參數聚類

本文在2.2節中將數據共享引入到聯邦學習中,一定程度上減少了節點之間的差異。為了能進一步減少節點差異,進而降低數據異構對聯邦學習的影響,本文引入聚類方法。該方法在節點集群中尋找到具有相似特征的節點,并在聚類后將不同類簇的節點集群分別進行聯邦學習訓練。此外,本文使用余弦相似性[18]作為聚類的分類標準。首先將數據進行物理上的變形、旋轉等操作,其目的是使本地節點數據之間產生角度差異;其次使用余弦相似性,將具有角度相似的節點劃分到同一類簇。

下面以節點集群二分類為例,說明如何聚類以及判斷相似節點之間是否已經分到同一分區之中。

證明的推導過程如下:假設2≤k≤m,m表示節點總個數。

I:{1,…,m},i→I(i)→φI(i)(7)

其中:I表示所有客戶端所具有數據的集合。客戶端i所對應的數據為I(i),將i與I(i)的數據映射關系命名為φI(i)。假設節點集群為二分類,兩個種類分別用c1、c2表示,c1∪c2={1,…,m},并且每組分類不能為空,即c1≠,c2≠。

I(i)≠I(j) i∈c1,j∈c2(8)

m個節點,每個節點被分配到兩個區域內分別是φ1、φ2。Di表示數據集映射φI(i)與數據標簽y之間關系映射。

Di~φI(i)(x,y)(9)

設每個節點都具有風險函數ri(θ),用來衡量模型擬合效果。風險函數越低表示模型擬合的效果越好。

ri(θ)=∑x∈Dilθ(f(xi),yi)(10)

如果每個節點上的數據足夠大,它越接近于真實的風險值。

RI(i)(θ)=∫x,ylθ(f(x),y)dφI(i)(x,y)(11)

ri(θ)≈RI(i)(θ)(12)

為了演示,假設式(11)是相等的。式(12)表示聯邦學習聚合函數,把抽樣節點的風險函數進行聚合,求出全局模型參數。但當節點劃分為兩類時,式(12)應拆分為兩部分,分別表示不同分類的模型參數聚合。a1表示分到區域φ1的抽樣節點模型參數,a2表示分到區域φ2的抽樣節點模型參數,如式(14)所示。式(15)(16)分別表示對應類別的聚合。

F(θ)=∑mi=1|Di||D|ri(θ)(13)

F(θ)=a1R1(θ)+a2R2(θ)(14)

a1=∑i,I(i)=1|Di||D|(15)

a2=∑i.I(i)=2|Di||D|(16)

在式(1)中,求出在每次訓練之后模型參數梯度。當聯邦學習訓練達到穩定點θ*,該點表示聯邦學習收斂。如果對分類后的聚合函數式(13)進行求導,得出的結果應該接近0得出式(17)。此時聯邦學習收斂狀態下模型參數的梯度變化應為0。

2.5 基于數據共享和參數聚類的聯邦學習

本節結合2.1~2.3節內容,闡述基于數據共享和參數聚類的聯邦學習的整體架構,如圖3所示。

算法2給出了本文算法框架。首先,指定本地節點的數量m、每輪通信中節點本地訓練次數n、節點與中心服務端之間的通信次數rounds,以及用于判斷聯邦學習收斂的超參數ε1,ε2≥0等。然后進行算法的初始化:本地節點ci,i={1,…,m}節點集群本地模型θi,i=1,…,m,設置用于存儲聚類集合C。

a)節點集群首先下載中心服務端的全局模型θ*,并更新本地模型參數,然后將共享池中的數據并入到本地數據中形成新的數據集Di,最后新的數據集Di與更新后的模型參數θi一起傳入到本地模型進行訓練。當本地訓練達到規定的訓練次數n時,將此時的模型參數θi與中心服務端全局模型參數θ*作差求出模型參數梯度值Δθi,并回傳到中心服務端。

b)在中心服務端中計算上傳節點集群最大風險函數值maxk和平均風險函數值meank。如果滿足式(4)(6),表示絕大多數的本地訓練結果已經開始收斂,并已達到平穩點θ*,執行步驟c);否則繼續執行傳統的聯邦學習訓練,抽取節點進行聚合,聚合后的值賦值到節點集群中,然后節點繼續執行步驟a),不進行聚類操作。

c)在滿足式(4)(6)的前提下,則執行2.3節描述的余弦相似性。使用式(19)計算出每兩個節點之間的余弦值并存放到m×m的余弦矩陣αi,j中。

d)將步驟c)計算的余弦矩陣αi,j傳入到式(21)聚類,計算出節點集群中角度最相似的兩個類別分別是c1、c2,C=c1∪c2。

c1,c2←Aggmin(max αi,j)c1∪c2=c,i∈c1,j∈c2(21)

e)不同的節點類別分別進行聚合。及分別聚合在種類c1、c2中的節點模型參數梯度。聚合后的模型參數θ*i i∈c1、θ*i i∈c2返回到對應種類的節點集群中。然后繼續執行步驟a)。

重復執行上述步驟直至節點與中心服務端的通信次數達到rounds,聯邦學習訓練結束。

3 實驗和分析

3.1 數據集

本文實驗部分采用CIFAR-10、EMNIST兩種數據集。CIFAR-10包含像素為32×32,60 000張RGB圖片,其中50 000個訓練集以及10 000個測試集,共有10個類別,每個類別包含6 000張圖片。EMNIST是對MNIST數據集的擴充,包含byclass、ByMerge、balanced、digits、letters五種類別。本文采用byclass,其中包含像素為28×28的814 255張圖片,一共有62個類別。

由于聯邦學習的分布式環境設置,導致不同數據節點的地理位置可能不同,用戶的使用習慣存在差異,從而影響數據的分布。所以聯邦學習中不同數據節點間是非獨立同分布的,任何一個數據節點都不能代表整個數據集的分布。

為了實驗更加高效,聯邦學習訓練之前需模擬真實的聯邦學習的網絡環境,即將數據集分割為非獨立同分布并分發到各個節點中。因此本文采用了Dirichlet狄利克雷分布概率密度[24]函數,應用到整體數據,利用其產生隨機概率,將數據分發到各個節點中。

首先統計每個類別的總數量,然后采用Dirichlet狄利克雷分布概率密度函數將每一個種類依據節點數量劃分分割比例,將每一個類別按照種類分割比例分發到每個節點中。

定義一個連續向量X。

以EMINST數據集為例,向Dirichlet概率密度函數傳入參數62類別、10個節點ID。將每個種類依照Dirichlet函數生成分割比例,然后按照分割比例將每個種類的數據劃分為10份,并隨機分配到10個節點,達到將數據集分割為非獨立同分布的目的。EMNIST中的訓練集每個種類都具有814 255張圖片。圖4表示數據被劃分后在每個節點的分布情況,橫坐標表示數據集的類別,縱坐標表示類別總數。10種顏色分別代表10個節點,每個柱表示同一類別在不同節點的分布情況(見電子版)。

3.2 數據共享對學習準確率的影響

本文將數據共享技術引入到聯邦學習。以EMNIST數據集為例,通過實驗證明數據共享引入聯邦學習中能夠有效提高聯邦學習的準確性。

圖5是共享比例對于模型準確率的影響。星號標記折線表示共享數據比例0.2,×號標記折線表示共享數據比例0.1,圓形標記折線表示共享數據比例0.3,虛線表示共享數據比例0。根據圖5中所展示的內容,本文從兩個角度分析共享比例對于聯邦學習的影響:a)引入數據共享對聯邦學習性能的影響;b)共享數據比例的增加對于聯邦學習性能的影響。

在圖5中,當聯邦學習引入數據共享技術與未引入數據共享技術時,主要有三點區別:首先,虛線所代表的數據共享比例為0的精度曲線明顯低于數據共享后模型;其次,虛線的收斂是在通信次數為15次前后,而其他三類的通信次數只在10輪前后;最后,隨著共享比例的增加,最初訓練的精度往往也會增加。以上三點表明數據共享技術既能夠增加模型收斂時間,又能夠提高模型的準確度。

隨著共享數據比例增加對于聯邦學習的影響,從圖中能夠看出兩點:首先,共享數據比例增加并不會提高模型的準確率,當共享比例在0.2~0.3,模型最終的準確率非常接近,而在共享比例0.2很明顯要高于0.1;其次,隨著共享比例的增加,會提高初始訓練準確率,這樣會加快模型的收斂速度。基于以上分析,數據共享能夠加快模型收斂速度,有效提高模型的準確率,但并不是隨著共享比例的增加,就會使得模型準確率無限上漲。

3.3 參數聚類的有效性

圖6(a)(b)分別表示數據集CIFAR-10和EMNIST模型參數聚類,

圖右上角顯示當前分類的節點ID。圖中的曲線區域部分表示所有節點模型準確度從大到小依次繪制在區域上,而曲線中的實線部分表示所有節點模型準確度的平均值。圖中繪制的黑線(見電子版),標志著聯邦學習的節點模型收斂并滿足聚類條件式(4)(6)。

從圖6能夠明顯看出,當經過黑線之后,本地模型的準確度有明顯的提高。這表明當聯邦學習節點的本地模型收斂,經過聚類操作可使模型準確率得到顯著提升。主要原因在于:首先聚類之前不同節點之間的數據存在很大差異,其次中心服務端聚合數并不能夠檢測出節點模型之間的差異性與相似性,而是通過暴力聚合,使得聚合后的模型并不能泛化不同節點之間的數據。聚類操作能夠識別出不同類別的節點分別進行聚合,在同一類簇中的節點具有的數據分布大致相同,本地模型參數的梯度變化也大致相同,使得全局模型的聚合函數能夠更好地統籌類簇中節點本地模型梯度變化。如圖5所示,在CIFAR-10與EMNIST兩個數據集中經過聚類操作后,準確率都有10%的提高。

3.4 基于數據共享和聚類的聯邦學習

圖7、8分別記錄著CIFAR-10、EMNIST兩種數據集在是否引入共享數據,是否進行聚類,最終各個本地模型的準確率。分別用藍線、綠線、粉線、紅線、黑線(見電子版)表示聯邦平均算法[5]、模型參數聚類、共享數據10%模型參數聚類、共享數據20%模型參數聚類、共享數據30%模型參數聚類。

從圖7、8中可以看出,藍線所代表的傳統聯邦學習平均模型準確率在0.6左右,綠線表示的模型參數聚類準確率在0.6~0.7,粉線所代表共享數據10%聚類聯邦的模型準確率在0.7左右。但是其中圖6有8個節點的準確率低于黑線與紅線,而在圖7有5個節點。黑線與紅線分別表示模型參數聚類中共享數據20%與30%,其模型的準確率均分布在0.7~0.8,并且黑線與紅線分布大致相同。

從對圖7、8的分析能夠得出,無共享無聚類的聯邦學習的模型準確率是最低的,僅僅0.6左右。

在同時使用non-IID數據時,當聯邦學習引入聚類和共享數據技術,準確率與FedAvg算法相比提高10%以上。原因在于:首先數據共享能夠加快模型收斂,提高模型準確率,在一定程度上減少因節點之間的數據差異導致聚合后全局模型泛化能力低的問題;其次當引入聚類之后在針對節點數據異構的問題上,提出不同類別的節點分別進行聚合。該方法在數據共享的基礎上能夠進一步減少數據之間的差異,提高全局模型泛化能力和準確率。

3.5 性能對比

為了評估本文方法的性能,在兩個數據集上將本文算法與四個對照方法進行了比較,實驗結果如表1所示。

表1展示了本文算法與四種對照方法在模型準確度方面的比較結果。從表1可以觀察到,與四種對照方法相比,本文算法當同時采用數據共享與模型聚類的non-IID的情況下都取得最好的模型準確度。以EMNIST為例,當共享比例在20%時,本文算法比FedAvg、FedProx、SCAFFOLD(基于數據共享的方法)[21]、K-center(基于數據聚類的方法)[22]分別高出8.4%、7.78%、7.54%、3.45%。此外在數據結構復雜的數據集CIFAR-10上,本文算法對比四種對照算法都獲得了模型上的提升,這充分說明了面對復雜結構的實際任務,本文算法會更加有效。

4 結束語

本文提出了一種將聚類與數據共享同時引入到聯邦學習的算法,能夠有效減少數據異構對于聯邦學習的影響,加快各節點本地模型收斂速率。在EMNIST、CIFAR-10數據集上的實驗效果比聯邦平均算法FedAvg的精確度高出10%~15%。

本文實驗驗證了數據共享對于聯邦學習有著顯著提高,但是并未對共享數據進行加密處理。未來可以考慮對共享的數據進行加密處理,這樣能夠進一步提高用戶數據的隱私安全。

參考文獻:

[1]王健宗,孔令煒,黃章成,等.聯邦學習算法綜述[J].大數據,2020,6(6):64-82.(Wang Jianzong,Kong Lingwei,Huang Zhangcheng,et al.A survey of federal learning algorithms[J].Big Data,2020,6(6):64-82.)

[2]張鵬程,魏芯淼,金惠穎.移動邊緣計算下基于聯邦學習的動態QoS優化[J].計算機學報,2021,44(12):2431-2446.(Zhang Pengcheng,Wei Xinmiao,Jin Huiying.Dynamic QoS optimization based on federated learning in mobile edge computing[J].Journal of Computer,2021,44(12):2431-2446.)

[3]梁鋒,羊恩躍,潘微科,等.基于聯邦學習的推薦系統綜述[J].中國科學:信息科學,2022,52(5):713-741.(Liang Feng,Yang Enyue,Pan Weike,et al.Review of recommendation systems based on federated learning[J].Chinese Science:Information Science,2022,52(5):713-741.)

[4]McMahan B,Moore E,Ramage D,et al.Communication-efficient learning of deep networks from decentralized data[C]//Proc of the 20th International Conference on Artificial Intelligence and Statistics.[S.l.]:PMLR,2017:1273-1282.

[5]劉艷,王田,彭紹亮,等.基于邊緣的聯邦學習模型清洗和設備聚類方法[J].計算機學報,2021,44(12):2515-2528.(Liu Yan,Wang Tian,Peng Shaoliang,et al.Edge-based federated learning model cleaning and equipment clustering method[J].Journal of Computer,2021,44(12):2515-2528.)

[6]劉藝璇,陳紅,劉宇涵,等.聯邦學習中的隱私保護技術[J].軟件學報,2022,33(3):1057-1092.(Liu Yixuan,Chen Hong,Liu Yuhan,et al.Privacy-preserving techniques in federated learning[J].Journal of Software,2022,33(3):1057-1092.)

[7]Karimireddy S P,Kale S,Mohri M,et al.SCAFFOLD:stochastic controlled averaging for on-device federated learning[C]//Proc of the 37th International Conference on Machine Learning.[S.l.]:JMLR.org,2020:5132-5143.

[8]Wang Hao,Kaplan Z,Niu Di,et al.Optimizing federated learning on non-IID data with reinforcement learning[C]//Proc of IEEE Confe-rence on Computer Communications.Piscataway,NJ:IEEE Press,2020:1698-1707.

[9]李尤慧子,殷昱煜,高洪皓,等.面向隱私保護的非聚合式數據共享綜述[J].通信學報,2021,42(6):195-212.(Li Youhuizi,Yin Yuyu,Gao Honghao,et al.A survey of non-aggregate data sharing for privacy protection[J].Journal of Communications,2021,42(6):195-212.)

[10]Hsu T M H,Qi Hang,Brown M.Measuring the effects of non-identical data distribution for federated visual classification[EB/OL].(2019-09-13).https://arxiv.org/abs/1909.06335.

[11]Arivazhagan M G,Aggarwal V,Singh A K,et al.Federated learning with personalization layers [EB/OL].(2019-12-02).https://arxiv.org/abs/1912.00818.

[12]Zhao Yue,Li Meng,Lai Liangzhen,et al.Federated learning with non-IID data[EB/OL].(2018-06-02).https://arxiv.org/abs/1806.00582.

[13]Li Tian,Sahu A K,Zaheer M,et al.Federated optimization in heterogeneous networks [EB/OL].(2020-04-21).https://arxiv.org/abs/1812.06127.

[14]Duan Moming,Liu Duo,Chen Xianzhang,et al.Self-balancing federated learning with global imbalanced data in mobile systems[J].IEEE Trans on Parallel and Distributed Systems,2020,32(1):59-71.

[15]Itahara S,Nishio T,Koda Y,et al.Distillation-based semi-supervised federated learning for communication-efficient collaborative training with non-IID private data[J].IEEE Trans on Mobile Computing,2023,22(1):191-205.

[16]郭桂娟,田暉,皮慧娟,等.面向非獨立同分布數據的聯邦學習研究進展[J].小型微型計算機系統,2023,44(11):2442-2449.(Guo Guijuan,Tian Hui,Pi Huijuan,et al.Progress in research on federated learning for non-independent and co-distributed data[J].Journal of Chinese Computer System,2023,44(11):2442-2449.)

[17]Zhu Hangyu,Xu Jinjin,Liu Shiqing,et al.Federated learning on non-IID data:a survey[J].Neurocomputing,2021,465:371-390.

[18]Sattler F,Muller K R,Samek W.Clustered federated learning:model-agnostic distributed multi-task optimization under privacy constraints[J].IEEE Trans on Neural Networks and Learning Systems,2021,32(8):3710-3722.

[19]Sattler F,Wiedemann S,Müller K R,et al.Robust and communication-efficient federated learning from non-IID data[J].IEEE Trans on Neural Networks and Learning Systems,2019,31(9):3400-3413.

[20]Konecˇny J,McMahan H B,Yu F X,et al.Federated learning:strategies for improving communication efficiency[EB/OL].(2016-10-18).https://doi.org/10.485501/arxiv.1610.05492.

[21]史鼎元,王晏晟,鄭鵬飛,等.面向企業數據孤島的聯邦排序學習[J].軟件學報,2021,32(3):669-688.(Shi Dingyuan,Wang Yancheng,Zheng Pengfei,et al.Federated ranking learning for enterprise data islands[J].Journal of Software,2021,32(3):669-688.)

[22]蘆效峰,廖鈺盈,Pietro L,等.一種面向邊緣計算的高效異步聯邦學習機制[J].計算機研究與發展,2020,57(12):2571-2582.(Lu Xiaofeng,Liao Yuying,Pietro L,et al.An efficient asynchronous federated learning mechanism for edge computing[J].Journal of Computer Research and Development,2020,57(12):2571-2582.)

[23]李少波,楊磊,李傳江,等.聯邦學習概述:技術、應用及未來[J].計算機集成制造系統,2022,28(7):2119-2138.(Li Shaobo,Yang Lei,Li Chuanjiang,et al.Overview of federal learning:technology,applications and the future[J].Computer-Integrated Manufacturing,2022,28(7):2119-2138.)

[24]Wojke N,Bewley A.Deep cosine metric learning for person re-identification[C]//Proc of IEEE Winter Conference on Applications of Computer Vision.Piscataway,NJ:IEEE Press,2018:748-756.

[25]Ng K W,Tian Guoliang,Tang Manlai.Dirichlet and related distributions:theory,methods and applications[M].[S.l.]:Wiley,2011.

[26]Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[J].Communications of the ACM,2022,60(6):84-90.

主站蜘蛛池模板: 中文纯内无码H| 日本影院一区| 亚洲欧美成人在线视频| aa级毛片毛片免费观看久| 无码综合天天久久综合网| 免费在线看黄网址| 久久a级片| 精品久久久久久中文字幕女| 久久久噜噜噜久久中文字幕色伊伊| 美女无遮挡免费视频网站| 91九色国产porny| 国产后式a一视频| 免费人欧美成又黄又爽的视频| 亚洲中文字幕97久久精品少妇| 国产丝袜啪啪| 欧美成人精品在线| 日韩在线欧美在线| 欧美国产在线一区| 欧美在线三级| 亚洲天堂777| 欧美无专区| 精品自窥自偷在线看| 欧美亚洲欧美| 呦女精品网站| av尤物免费在线观看| 日韩欧美国产成人| 天天做天天爱天天爽综合区| 男人的天堂久久精品激情| 精品一区二区三区无码视频无码| 久久综合五月婷婷| 亚洲视频免费在线看| 99精品热视频这里只有精品7 | 亚洲娇小与黑人巨大交| 狠狠亚洲五月天| 精品无码一区二区在线观看| 青青草原国产| 亚洲国产成人自拍| P尤物久久99国产综合精品| 国产综合精品日本亚洲777| 中文字幕av一区二区三区欲色| 国产99精品视频| 免费A∨中文乱码专区| 狠狠色狠狠综合久久| 福利视频久久| 欧美一级视频免费| 国产情侣一区二区三区| 亚洲成人播放| 免费无码AV片在线观看国产| 真人免费一级毛片一区二区| 国产草草影院18成年视频| 99re这里只有国产中文精品国产精品 | 超碰免费91| 91精品视频网站| 国产91高跟丝袜| 老色鬼久久亚洲AV综合| 最新日韩AV网址在线观看| 热九九精品| 亚洲第一精品福利| 国产欧美另类| 国产a v无码专区亚洲av| 91精品啪在线观看国产60岁| 欧美国产日本高清不卡| 亚洲国产中文精品va在线播放 | 国产 在线视频无码| 亚洲一级色| 另类欧美日韩| 精品国产99久久| 免费av一区二区三区在线| 操美女免费网站| 五月天香蕉视频国产亚| 精品人妻无码中字系列| 婷婷综合缴情亚洲五月伊| 亚洲第一黄色网址| 美女啪啪无遮挡| 精品91视频| 伊人久久综在合线亚洲91| 欧美日韩中文国产va另类| 在线观看国产网址你懂的| 亚洲欧美日韩另类在线一| 手机在线免费不卡一区二| 在线观看国产网址你懂的| 久久亚洲国产一区二区|