?

基于選擇性通信策略的高效聯邦學習研究

2024-03-05 01:45陳思光
小型微型計算機系統 2024年3期
關鍵詞:聯邦全局梯度

李 群,陳思光

(南京郵電大學 物聯網學院,南京 210003)

0 引 言

近年來,隨著人類社會信息化的高速發展,移動設備和邊緣設備被廣泛采用,在這些設備上執行機器學習算法以實現個性化、低延遲人工智能應用的需求激增.目前,機器學習主要以集中式學習為主,客戶端需要將其本地數據上傳至服務器進行訓練.然而,集中式的機器學習容易產生數據泄漏,不利于保護用戶的隱私.為解決上述問題,聯邦學習[1]被提出用于在大量邊緣設備(客戶端)上實現協作式機器學習.在聯邦學習過程中,訓練開始后中心服務器首先初始化模型參數,并將初始化的模型參數分發到客戶端中,客戶端的模型加載由服務器發來的參數,并根據本地數據使用隨機梯度下降等優化方法對模型進行迭代訓練.本地訓練完成之后,客戶端僅需上傳本地模型的參數或梯度而無需上傳本地數據至服務器.在上述過程中,隱私數據一直保存在客戶端本地設備上,避免了傳輸數據可能帶來的信息泄漏風險.最后,服務器將根據所有客戶端上傳的模型參數或梯度更新全局模型,然后再繼續進行下一輪訓練.

然而,高通信開銷問題阻礙著聯邦學習的進一步發展.一方面,隨著智能手機和平板電腦等移動設備數量的急劇增長,現有的基礎設施不夠完備,導致運營商無法提供可靠廉價的網絡連接服務.另一方面,部署在移動設備上的高級機器學習應用程序越來越多地使用復雜的深層神經網絡,以致于每個參與訓練的客戶端上傳的模型參數或梯度占用更大的帶寬,這使得通信成為一個重大的瓶頸.因此,最小化聯邦學習的通信開銷變得至關重要.

當前,降低聯邦學習通信開銷的方法主要以減少客戶端和服務器的通信次數,減小每次通信傳輸的數據規模[2]以及異步參數更新[3]為主.

為減少客戶端和服務器的通信次數,文獻[4]提出了單輪通信聯邦學習方案,其中所有的訓練都在客戶端本地進行,只有在算法結束時用一次通信將各個參與者的本地模型進行聚合.文獻[5]采取通常用于領域自適應和遷移學習的雙流模型,將最大均值差異(Maximum Mean Discrepancy,MMD)引入到損失函數中,由于MMD能夠測量兩個數據分布平均值之間的距離[6,7],因此通過最小化本地和全局的MMD損失,參與者能夠從全局模型中提取到更一般化的特征,從而加速訓練過程的收斂,減少客戶端與服務器的通信次數,降低通信開銷.此外,有相關研究采取選擇性通信策略以減少客戶端和服務器的通信次數.例如,文獻[8]提出每個客戶端在完成本地訓練時檢查本地模型的更新趨勢與全局模型的更新趨勢是否一致,并避免將與全局模型優化趨勢不一致的客戶端模型上傳.文獻[9]則是提出邊緣隨機梯度下降算法,該算法在每一輪通信中,只選擇重要梯度上傳參數服務器.與上述方法不同,文獻[10]受到移動邊緣計算的啟發,考慮到邊緣服務器的傳播延遲小于客戶端與云通信的傳播延遲,在網絡結構上引入邊緣服務器作為中間參數聚合器以減少通信開銷.

減小每次通信傳輸的數據規??梢酝ㄟ^壓縮傳輸內容的方法實現.基于該方法,文獻[11]提出兩種模型參數更新策略,即輪廓更新和結構更新.此外,由于模型結構在聯邦學習中是共享的,所以可以應用模型參數的壓縮技術來降低通信開銷,比如網絡剪枝、量化和權值共享等方案[12].針對特定的網絡模型可以有特定的壓縮方法,比如文獻[13]提出了一種方案專用于壓縮卷積神經網絡結構的模型.與模型參數壓縮類似,如果在聯邦學習過程中客戶端上傳的是梯度信息,則可以進行梯度壓縮,例如文獻[14]提出的深度梯度壓縮方案、文獻[15]提出的梯度量化和編碼.上述方法雖然壓縮了數據減少了傳輸的比特數,但是同時也引入了噪聲,壓縮算法不能收斂到最優解附近,導致算法性能下降幅度比較大[16].

異步參數更新策略是指聯邦學習場景下每一個客戶端完成本地模型訓練迭代后,無需等待其他參與方完成本地訓練,就可以向服務器端發送本地模型參數更新并請求當前的全局模型,以便進行后續訓練.同時,服務器端也會根據每一個客戶端上傳的最新模型參數進行聚合,而無需考慮與每一個客戶端的通信次數是否相同,進而能夠大幅提高學習效率.基于異步參數更新策略,文獻[17]提出將聯邦學習過程中的深度神經網絡的不同層次劃分為淺層和深層,并設置深層的參數更新頻率低于淺層.文獻[18]提出了一種基于權重摘要和更新版本感知的異步聯邦學習聚合更新方法,通過合理控制不同訓練速度用戶提交的參數在聚合參數中所占比例,以及主動更新落后用戶使用的聚合參數,從而有效解決本地訓練速度差異對聚合參數造成的負面影響.然而異步參數更新可能會帶來模型不穩定的問題,這主要是因為客戶端之間的訓練步調可能相差很大.例如,一個客戶端的訓練速度很快,它已經在全局模型的基礎上訓練了100輪,而另一個速度較慢的客戶端僅訓練了1輪.當后者把一個落后的本地模型參數或梯度上傳至服務器聚合時,很可能會減慢全局模型的收斂速率,甚至導致模型發散,無法收斂.

因此,為應對聯邦學習的高通信開銷問題,本文從減少客戶端和服務器的通信次數的角度出發,提出了一種基于選擇性通信策略的高效聯邦學習算法(FedSCP:Efficient Federated Learning Based on Selective Communication Policy),主要貢獻總結如下:

1)構建了一個基于選擇性通信策略的高效聯邦學習模型,提出在每一輪全局訓練中,客戶端將訓練好的本地模型與全局模型進行比較,計算兩者之間的MMD值來衡量其相關性,其中相關性低的本地模型將不會被上傳到中心服務器.這有效減少了客戶端和服務器的通信次數,并且有利于全局模型的收斂.

2)提出了加權聚合策略,即中心服務器依據相關性對客戶端上傳的本地模型進行加權聚合,相關性越強的本地模型將會被賦予越高的權重,意味著其對全局模型的貢獻將越突出,可進一步加快全局模型的收斂速度.

本文其余部分組織如下:第1節介紹了本文的系統模型;第2節對本文所提出的基于選擇性通信策略的高效聯邦學習算法進行了具體介紹;第3節是對仿真結果的分析;最后,第4節總結全文.

1 系統模型

本節構建了一個基于選擇性通信策略的高效聯邦學習模型,如圖1所示,該模型由用戶層和服務器層組成,圖1呈現了它們之間的關系,具體每層的功能定義如下:

服務器層:服務器層由具有強大計算能力的中心服務器構成,它覆蓋了用戶層的n個客戶端.其主要包括3個功能:1)初始化全局模型.2)接收客戶端生成的MMD值,以此確定需要上傳本地模型的客戶端并依據MMD值分配模型聚合階段的權重.3)對客戶端上傳的本地模型進行加權聚合.4)中心服務器存儲著測試數據集,用于評估每一輪訓練得到的全局模型性能.

用戶層:用戶層由多個客戶端組成,如各醫療機構的專用計算機、個人的移動終端設備等.每個客戶端都擁有其本地隱私數據,這些數據是非獨立同分布的,用以訓練客戶端本地模型.客戶端主要負責本地模型的訓練更新以及本地模型與全局模型MMD值的計算,若客戶端本地模型達到與全局模型相關的要求,則需上傳本地模型的參數至中心服務器.

如圖1所示,基于選擇性通信策略的高效聯邦學習的基本流程如下:

①中心服務器初始化全局模型并將其參數下發給參與訓練的客戶端.

②客戶端的模型加載由服務器發來的參數,并根據本地數據使用隨機梯度下降等優化方法對模型進行迭代訓練以更新本地模型,并計算本地模型與全局模型的MMD值.

③本地客戶端上傳MMD值至中心服務器.

④中心服務器依據各個客戶端的MMD值確定需要上傳本地模型的客戶端,并根據MMD值分配模型聚合權重.

⑤被選中的客戶端上傳其本地模型的參數.

⑥中心服務器對接收到的客戶端本地模型參數進行加權聚合,更新全局模型.

2 算法設計

2.1 優化目標

在實際應用中,聯邦學習客戶端通常是邊緣設備,它們的網絡狀態不穩定并且通信成本比較昂貴,所以本文希望盡可能地減少客戶端上傳數據至服務器的次數,以降低通信開銷.因此,算法的設計目標就是最大限度地減少在整個聯邦學習過程中用于上傳客戶端本地模型的累計通信輪數.

具體地,假設St為在第t輪訓練中被中心服務器選中上傳本地模型的客戶端集合,將第t輪全局迭代的通信輪次定義為rt=‖St‖,即通信輪次等于集合St中的元素個數.因此,經過T輪全局迭代后的累積通信輪次Φ(T)即為:

(1)

進而優化目標即為最小化累積通信輪次:

(2)

2.2 設計思路

在聯邦學習中,全局模型是通過聚合大量來自客戶端的本地模型來獲得的.由于本地模型是通過每個客戶端本地的數據訓練得到的,因此本地模型和全局模型之間通常存在差異.鑒于客戶端設備上數據的非獨立同分布性質,一些本地模型可能無法很好地代表全局的數據分布,產生偏差.例如,當訓練一個鍵盤輸入推薦模型時,每個客戶都會有不同的輸入偏好和習慣.雖然客戶端有部分的輸入偏好是一致的,但是其他有部分選擇偏好的不一致可能會產生特定于客戶的更新,這與全局模型的更新是不一致的,不利于全局模型的收斂.

因此,可以在每一輪本地模型上傳前,動態識別客戶端本地模型與全局模型的相關性,取消上傳相關性低的客戶端本地模型以減少通信開銷.同時,這還有利于全局模型的收斂,因為中心服務器忽略了相關性較低的異常本地模型,只對相關性較高的更具有全局代表性的本地模型進行聚合.

為了衡量模型之間的相關性,本文引入了MMD的概念.MMD一般用于度量兩個數據分布均值之間的距離,廣泛應用于領域自適應問題中,描述源域和目標域產生的特征之間的差異.其具體的計算過程如下所述:

首先,均值差異(Mean Discrepancy,MD)是用于判斷兩個分布p和q是否相同,假設p分布生成的樣本空間為P,同時q生成的樣本空間為Q,對于一個函數集F中的函數f,均值差異MD=mean(f(P))-mean(f(Q)),在函數集F中尋找到一個函數f使得MD有最大值,這個值就是MMD,MMD的值越小,則表示兩個樣本空間的分布越相似,若為0則分布相同.MMD的求解可以表示為:

(3)

當樣本有限時,公式(3)可以轉化為:

(4)

其中,為了準確衡量兩個樣本空間分布的相似性,函數集F需要足夠豐富,并且考慮到數據集樣本的數量,為了在求MMD的時候,隨著數據集的增大,MMD可以迅速收斂,函數集F需要有足夠的約束.

當F是再生希爾伯特空間上的單位球時,可以滿足以上條件.而核函數的定義為:設X是輸入空間(歐氏空間或離散集合),H為特征空間(希爾伯特空間),如果存在一個從X到H的映射φ(x):X→H,使得對所有的x,y∈X,函數K(x,y)=φ(x)·φ(y),則稱K(x,y)為核函數,φ(x)為映射函數,φ(x)·φ(y)為x,y映射到特征空間上的內積.此時,當樣本數量有限時,MMD的求解可以表示為:

(5)

為了能夠利用核函數的性質,對上式平方可得:

觀察組患者疼痛程度顯著低于對照組,觀察組患者對護理滿意度為95.0%,對照組為77.5%,兩組差異顯著(P<0.05),結果見表2。

(6)

緊接著,可以通過核函數求得MMD值.

此外,為進一步提升聯邦學習的性能,不同于傳統的聯邦學習算法在模型聚合階段僅執行簡單平均聚合,本算法將根據本地模型與全局模型的相關性為參與聚合的本地模型分配權重,其中相關性越大的本地模型將被賦予更高的權重,因為它更具全局代表性,有利于全局模型的收斂.

2.3 算法描述

本文所提出的FedSCP算法主要包括中心服務器全局聚合和客戶端本地訓練兩大部分,詳細介紹如下:

算法1.FedSCP算法

1.procedureGlobalOptimization

2.Input:Client set=,thresholdv(t).

5.foreachiterationt=1,2,…do

6.forallclientci∈doinparallel

9.foreachj=1,2,…do

13.else

15.foreachk=1,2,…do

19.procedureLocalUpdate

3 仿真與性能評估

本節通過仿真實驗來評估所提基于選擇性通信策略的高效聯邦學習算法FedSCP的有效性,并將本文所提出的方案與其他經典基準方案進行對比,以突出本文方案的性能優勢.

本節的仿真實驗以圖像識別任務為基礎,采用CIFAR10數據集和ResNet-18模型.其中CIFAR10數據集[19]是一個更接近普適物體的彩色圖像數據集,它是由Alex Krizhevsky和Ilya Sutskever整理的一個用于識別普適物體的小型數據集,一共包含10個類別的RGB彩色圖片:飛機、汽車、鳥類、貓、鹿、狗、蛙類、馬、船和卡車.每個圖片的尺寸為32×32,每個類別有6000個圖像,數據集中一共有50000張訓練圖片和10000張測試圖片.而ResNet模型是在文獻[20]中被提出的,它引入了殘差網絡結構,通過在兩個卷積層之間添加短路的方式,有效地解決了在神經網絡層數不斷增加的情況下難以訓練的問題,相較于普通的卷積神經網絡,深度殘差網絡更容易優化.并且隨著網絡深度增加,殘差網絡的性能也會隨著提高,并能夠獲得比以前網絡好得多的結果.

具體地,實驗采用了傳統的聯邦學習架構,設置了1個中心服務器和10個本地客戶端.CIFAR10數據集的10000張測試圖片存儲在中心服務器用于評估全局模型的性能,訓練數據集的50000張圖片被隨機分發給客戶端,平均每個客戶端擁有5000張訓練圖片,因此,客戶端所有的本地訓練數據是非獨立同分布的.此外,實驗設置局部迭代為3次,全局迭代為200次.其中,實驗采取交叉熵損失函數以更好適應分類問題,客戶端采用了隨機梯度下降算法進行本地訓練,batch大小設置為32,學習率設置為0.001.具體實驗過程如下所述.

圖2為FedAvg算法[1]與FedSCP算法在相關性閾值分別為0.2、0.3、0.4以及0.5時的累積通信輪次曲線,橫軸表示全局迭代次數,縱軸表示累積通信輪次.可以看出,FedSCP算法由于采取選擇性通信策略,取消上傳與全局模型相關性較低的本地模型,與FedAvg算法相比能夠明顯地減少客戶端與服務器之間的通信輪次,降低聯邦學習的通信開銷.進一步地,由于在FedSCP算法中以MMD值代表全局模型與本地模型的相關性,其值越小,相關性越強.故如圖2所示,當相關性閾值越大時,中心服務器對本地模型相關性的要求更低,就會有更多的本地模型被上傳,從而帶來更多的累積通信輪次.

圖2 累積通信輪次隨全局迭代次數變化結果Fig.2 Changing result of cumulative communication rounds with global iterations

圖3、圖4分別為FedAvg算法、FedProx算法[21]與本文所提算法的準確率曲線和損失函數曲線,可以發現當FedSCP的相關性閾值處于0.3、0.4以及0.5時,FedAvg算法和FedProx算法的表現相對較差.在經過相同的通信輪次之后,通過FedAvg算法學習得到的全局模型識別準確率最低,損失函數的值處于較高的位置,這是因為FedAvg算法不考慮更新后的本地模型與全局模型的相關性,直接聚合所有本地客戶端上傳的本地模型,然而,部分客戶端的數據分布與全局數據分布不一致,導致其訓練的本地模型不能很好地貼合全局數據,不利于全局模型的收斂.相比之下,FedSCP算法采取選擇性通信策略,能夠較好地識別相關性較低的本地模型,排除上傳這些本地模型,只上傳相關性符合要求的本地模型,減少了客戶端與服務器的通信次數.進一步地,FedSCP算法在中心服務器端采取加權聚合策略,突出相關性較強的本地模型的貢獻,加快了全局模型的收斂速度.然而,當FedSCP算法的相關性閾值為0.2時,全局模型無法收斂,這是因為對本地模型相關性的要求過高,導致大量本地更新(即有用信息)被丟棄,從而影響全局模型的收斂.因此,為充分發揮FedSCP算法的優勢,在實際應用過程中需要設置合理的相關性閾值.

圖3 準確率隨累積通信輪次變化結果Fig.3 Changing result of accuracy with cumulative communication rounds

圖4 損失值隨累積通信輪次變化結果Fig.4 Changing result of loss value with cumulative communication rounds

具體地,表1統計了FedAvg算法、FedProx算法以及FedSCP算法在不同相關性閾值時到達目標準確率所需的通信輪次.其中,“相比FedAvg平均減少的通信輪次”應為FedSCP算法達到不同目標準確率相比FedAvg算法所減少的通信輪次的平均.比如:根據表1的數據,FedSCP(0.3)這一行中,“相比FedAvg平均減少的通信輪次”的具體計算過程為[(50-21)/50+(130-51)/130+(330-155)/330+(960-510)/960]/4=54.67%.類似地,可以得到“相比FedAvg平均減少的通信輪次”和“相比FedProx平均減少的通信輪次”這兩列的值.由表1可知,相較于FedAvg算法和FedProx算法,所提算法能夠在保證準確率的前提下,將通信輪次分別減少54%和60%左右.

表1 到達目標準確率所需通信輪次統計Table 1 Statistics of required communication rounds for achieving target accuracy

4 總 結

為了減少聯邦學習的通信開銷,本文提出了一種基于選擇性通信策略的高效聯邦學習算法.具體地,該算法基于聯邦學習的網絡結構特點,采取選擇性通信策略,在客戶端通過最大均值差異衡量本地模型與全局模型的相關性以過濾相關性較低的本地模型,并在服務器端依據相關性對本地模型進行加權聚合.通過上述操作,所提算法能夠在保證模型收斂的同時有效減少通信開銷,提高模型收斂速度.最后,與現有算法的對比結果表明,本文所提算法能夠在保證準確率的前提下,顯著降低通信開銷.

猜你喜歡
聯邦全局梯度
Cahn-Hilliard-Brinkman系統的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
一個改進的WYL型三項共軛梯度法
一“炮”而紅 音聯邦SVSound 2000 Pro品鑒會完滿舉行
一種自適應Dai-Liao共軛梯度法
303A深圳市音聯邦電氣有限公司
一類扭積形式的梯度近Ricci孤立子
落子山東,意在全局
新思路:牽一發動全局
地溫梯度判定地熱異常的探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合