国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

批量歸一化的自適應(yīng)聯(lián)邦學習算法

2023-10-27 16:03:04康宇洋劉為凱
武漢工程大學學報 2023年5期
關(guān)鍵詞:聯(lián)邦客戶端服務(wù)器

康宇洋,劉為凱

武漢工程大學光電信息與能源工程學院、數(shù)理學院,湖北 武漢 430205

聯(lián)邦學習是一種分布式的機器學習框架,其中多個客戶端(例如移動設(shè)備)在中央服務(wù)器(例如服務(wù)提供商)的協(xié)調(diào)下協(xié)作訓練模型(例如基于用戶的歷史文本數(shù)據(jù)學習下一個單詞的預測器[1]),同時保持訓練數(shù)據(jù)分散[2]。它實現(xiàn)了數(shù)據(jù)不動模型動的方法,可以減輕傳統(tǒng)集中式機器學習帶來的許多系統(tǒng)隱私風險和成本。這一領(lǐng)域最近從研究和應(yīng)用的角度受到了極大的關(guān)注,眾多的公司[3]也已經(jīng)在實踐中部署了聯(lián)邦學習。聯(lián)邦學習一詞最初由Mcmahan 等[4]于2016 年提出,同時也提出了最為經(jīng)典的聯(lián)邦平均算法(federated averaging algorithm,F(xiàn)edAvg),該算法的流程如下:客戶端在本地訓練數(shù)據(jù),多次迭代后上傳更新的模型到服務(wù)器。中央服務(wù)器聚合所有客戶端的模型并更新全局模型,最后將全局模型傳輸給所有客戶端。這一過程會重復進行若干次,直到達到一定的精度或迭代次數(shù)為止。在客戶端與服務(wù)端通信時,由于帶寬、能量和功率等資源有限,網(wǎng)絡(luò)中的通信可能比本地計算慢很多數(shù)量級,由于數(shù)據(jù)非獨立同分布(non-identical-indepen-dentdistribution,Non-IID)導致客戶端漂移,以及在訓練過程中進行模型更新的通信可能會向第三方或中央服務(wù)器泄露敏感信息[5],這些問題都會嚴重影響聯(lián)邦學習的穩(wěn)定性。

針對這些問題,各種高效的聯(lián)邦學習算法開始被提出。文獻[6]提出了FedAvg 在處理異構(gòu)數(shù)據(jù)時的不足,并對其進行了一定程度的改進。文獻[7]首次提出了FedAvg 中存在客戶端漂移的問題,并使用了隨機控制平均的聯(lián)邦學習算法,在很大程度上解決了客戶端漂移的問題。文獻[8]表明FedAvg 在異構(gòu)數(shù)據(jù)上的性能仍然是一個活躍的研究領(lǐng)域,文獻[9]通過假設(shè)有界梯度來約束這種漂移,文獻[10]提出或者將其視為附加的噪聲來處理,文獻[5,8]則使用假設(shè)客戶端最優(yōu)值接近的方法,文獻[11]建議使用方差減少來處理客戶端的異構(gòu)問題。針對聚合策略也提出了很多的算法,文獻[12]假設(shè)數(shù)據(jù)的一個子集在所有客戶之間全局共享,文獻[13]提出了一種非獨立同分布數(shù)據(jù)分區(qū)的聚合策略,該策略以分層的方式共享全局模型。文獻[14]證明了在聯(lián)邦網(wǎng)絡(luò)中加入批量歸一化(batch normalization,BN)可以極大地提高算法的收斂速度,文獻[15]證明在本地客戶端保留BN 參數(shù)可以在一定程度上優(yōu)化對異構(gòu)數(shù)據(jù)的處理,但盲目的加入BN 會導致過擬合的問題。文獻[2]是一篇聯(lián)邦學習的綜述性文章,而對于聯(lián)邦學習未來的研究方向也可以參考該文獻。

上述方法均對于客戶端漂移以及算法的收斂性單方面進行了一定程度的改進,同時處理這兩個問題的文獻較少。文獻[7]中的算法很大程度上解決了客戶端漂移的問題,但每次與中央服務(wù)器通信時,不僅要傳輸模型的參數(shù),還要傳輸控制變量,增加了單次通信代價,這消耗了大量的通信資源,而對自適應(yīng)參數(shù)做一些限制,能夠進一步的節(jié)省通信開銷。

受到文獻[7,14]的啟發(fā),在保證性能的前提下,針對算法的收斂速度進行研究。在FedAvg 以及文獻[7]的基礎(chǔ)上,提出了利用自適應(yīng)變量將模型的更新方向由局部最優(yōu)指向全局最優(yōu),同時只利用最后一個梯度來更新自適應(yīng)變量,這能夠在一定程度上減少通信開銷。而受到文獻[14]啟發(fā),在訓練模型時加入BN 并在上傳服務(wù)器時保留BN 層參數(shù)在本地,從而在保證收斂速度的前提下節(jié)省通信開銷。

1 聯(lián)邦學習算法

1.1 聯(lián)邦學習拓撲

傳統(tǒng)的聯(lián)邦學習星型拓撲如圖1 所示,由1 個服務(wù)器以及n個客戶端所組成,在訓練開始前服務(wù)器會將模型的初始模型參數(shù)x廣播給各個客戶端,所有的客戶端將其下載到本地,然后使用本地的數(shù)據(jù)進行訓練并更新局部模型參數(shù)xi。在更新完成后將其上傳到服務(wù)器,服務(wù)器將所有的參數(shù)進行聚合然后將其進行加權(quán)平均并再次廣播給各個客戶端,重復上述步驟若干次。 其中,第i(i= 1,2,…,n)個客戶端上的局部損失函數(shù)如圖1所示,其中表示第i個客戶端第k(k=1,2,…,N,N為正整數(shù))次通信時的客戶端模型參數(shù),xk+1表示聚合后的全局模型參數(shù)以及第k+1 次通信時的客戶端模型參數(shù)。

圖1 星型拓撲Fig.1 Star topology

式(1)表示為本地客戶端執(zhí)行的一次梯度下降:

其中ηl表示客戶端學習率,yi為第i個本地客戶端的模型參數(shù),函數(shù)gi表示對第i個客戶端模型求梯度。

式(2)表示對全局模型執(zhí)行的一次更新,各個客戶端將訓練好的模型參數(shù)進行聚合,然后按照抽樣客戶端的比例對全局模型進行更新。

其中S表示被抽取的客戶端數(shù)量,ηg為服務(wù)端學習率。

1.2 客戶端漂移

客戶端漂移如圖2 所示,x為初始時刻的模型參數(shù),y1和y2為客戶端上的局部模型參數(shù),client1和client2 上的模型在訓練時均朝著局部最優(yōu)解,前進,而全局最優(yōu)x?并不等于聚合后的客戶端損失函數(shù)最優(yōu)的平均,兩者之間的差距造成了客戶端漂移的問題。

圖2 客戶端漂移示意圖Fig.2 Illustration of client drift

圖3 為文獻[7]在單客戶端上的更新步驟,在本地進行梯度下降時加入自適應(yīng)變量c對模型進行修正,其中向下的箭頭表示控制變量修正的方向,通過控制變量可以將模型參數(shù)x的更新方向從局部最優(yōu)修正為全局最優(yōu)x?。

圖3 修正偏移示意圖Fig.3 Illustration of corrected drift

控制變量具體的更新規(guī)則在式(3)中給出,其中c為全局修正變量,ci為局部修正變量。

1.3 協(xié)變量偏移

協(xié)變量偏移[16]是輸入數(shù)據(jù)分布不一致的一種現(xiàn)象,由于聯(lián)邦學習通常處理非獨立同分布數(shù)據(jù),從而導致協(xié)變量偏移的問題。對數(shù)據(jù)做去相關(guān)性并且突出數(shù)據(jù)之間的分布相對差異,這對處理異構(gòu)數(shù)據(jù)有很大的幫助,BN 可以做到這點。BN 是歸一化的一種手段,這種方式通過減小圖像之間的絕對差異,突出相對差異。在聯(lián)邦學習模型中加入BN 層可以加快訓練的速度。

1.4 批量歸一化算法

首先提出凍結(jié)的批量歸一化(frozen batch normalization,F(xiàn)rozenBN)算法,由于BN 依賴于均值和方差,如果歸一化批量大?。╪ormalization batch size,NBS)太小,計算的均值和方差并不穩(wěn)定且無意義。使用FrozenBN 將均值,方差等統(tǒng)計量固定住可以有效緩解BN 本身存在訓練和測試的不一致性[17],具體操作為判斷當前狀態(tài)是否為訓練,若是則將當前狀態(tài)改為測試,反之不變,下面的算法為FrozenBN 算法。

輸入:本地迭代次數(shù)NE,本地模型x以及控制參數(shù)t

1.5 聯(lián)邦學習算法

提出批量歸一化的自適應(yīng)聯(lián)邦學習算法(adaptive federated learning algorithm based on batch normalization,F(xiàn)edAB),算法使用了自適應(yīng)變量處理客戶端漂移的問題,BN 層處理協(xié)變量偏移的問題加快算法收斂速度。下面的算法為FedAB 算法。

輸入:服務(wù)器初始模型參數(shù)x,自適應(yīng)參數(shù)c,全局學習率ηg,客戶端自適應(yīng)參數(shù)ci,局部學習率ηl

對于客戶端漂移的問題,客戶端進行梯度下降更新模型參數(shù)時,算法使用自適應(yīng)變量c對模型參數(shù)進行修正,具體操作見1.2 節(jié)。為節(jié)省算力,在進行梯度下降過程中只使用最后一個梯度對自適應(yīng)變量進行更新。對于協(xié)變量偏移的問題,在客戶端上傳本地模型進行聚合時判斷本地網(wǎng)絡(luò)模型的每一層是否為BN 層,如果不是則上傳模型進行聚合,反之則保留該層參數(shù)在本地,在節(jié)省了通信成本的同時避免了盲目使用BN 層出現(xiàn)的過擬合問題。當NBS 較小時,將BN 替換為FrozenBN,同時加入驗證集以解決該問題。具體方法為每訓練到一定輪次時判斷當前損失值是否大于上一輪,如果小于繼續(xù)訓練,反之則會使用上一輪的模型參數(shù)繼續(xù)進行訓練。

2 仿真結(jié)果與結(jié)論

本節(jié)中評估了所提出算法的性能,設(shè)置了多個實驗,使用不同的深度神經(jīng)網(wǎng)絡(luò)從收斂速度以及測試精度對幾種算法進行比較。下面介紹實驗設(shè)置和結(jié)果。

2.1 實驗設(shè)置

為了測試批量歸一化的自適應(yīng)聯(lián)邦學習算法在聯(lián)邦學習系統(tǒng)中的性能,使用1 臺臺式電腦作為中央服務(wù)器,10 臺筆記本通過無線局域網(wǎng)連接充當客戶端。假設(shè)這些客戶端不會對模型發(fā)起攻擊,也沒有受到外部病毒的惡意攻擊。

2.1.1 參與比較的算法 為了評估算法的性能,選擇了4 種聯(lián)邦學習算法進行比較。

(1)FedAvg:標準的聯(lián)邦平均算法。

(2)隨機控制平均算法(stochastic controlled averaging for federated learning,Scaffold):在FedAvg的基礎(chǔ)上使用了控制變量。

(3)聯(lián)邦批量歸一化算法(federated learning on Non-IID features via local batch normalization,F(xiàn)edBN):使用批量歸一化層的算法,在模型中引入BN 層并保留該層參數(shù)在本地。

(4)FedAB:批量歸一化的自適應(yīng)的算法,在保證精度的前提下提升算法的收斂速度。

2.1.2 模 型 為評估算法的有效性,選擇了2 個深度神經(jīng)網(wǎng)絡(luò)進行仿真實驗。

(1)多層感知機(multi-layer perceptron,MLP):該模型包含2 個隱層,神經(jīng)元數(shù)量分別為30 個和20 個,無偏置,選擇線性整流函數(shù)(linear rectification function,ReLU)作為激活函數(shù)。第一層和最后一層的神經(jīng)元個數(shù)分別是784個和10個。

(2)卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN):該模型由2 個卷積層、3 個全聯(lián)接層以及2 個殘差塊組成,每個殘差塊中有2 個卷積層。包括殘差塊內(nèi)的卷積層在內(nèi),每個卷積層后都有1 個FrozenBN 層、ReLU 函數(shù)以及最大池化層,全連接層的第一層的神經(jīng)元個數(shù)為800 個,最后一層為10 個。

2.1.3 數(shù) 據(jù) 實驗選擇使用時裝數(shù)據(jù)集(fashionmixed national institute of standards and technology database,F(xiàn)ashion-MNIST[18])以及圖像10 分類數(shù)據(jù)集(Canadian institute for advanced research-10,Cifar-10[19])做仿真。

(1)Fashion-MNIST:它包含了衣服,鞋,包等10 種日常用品的60 000 個用于訓練和10 000 個用于測試的10 類灰度圖像樣本,其中每幅圖像的維數(shù)為28×28 維,在訓練之前將其進行數(shù)據(jù)增廣,把每張圖片的維數(shù)放大成32×32 維并重新進行裁剪,所有數(shù)據(jù)都是獨立同分布的數(shù)據(jù),訓練時將訓練集以4∶1 的比例重新劃分為訓練集和驗證集。

(2)Cifar-10:它包含了動物,交通工具等10 種常見物體的60 000 個彩色RGB 圖像,其中每幅圖像的維數(shù)為32×32,50 000 個用于訓練,10 000 個用于測試,數(shù)據(jù)類型屬于Non-IID,同樣的,在訓練時將訓練集以4∶1 的比例重新劃分為訓練集和驗證集。

2.1.4 其他配置 客戶端總數(shù)N設(shè)置為10 個,客戶端本地迭代次數(shù)(NE)根據(jù)與中央服務(wù)器的通信輪數(shù)(NC)的不同而不同,當NC為3 時,NE設(shè)置為30;當NC為20 時,NE設(shè)置為3,每次中央服務(wù)器與客戶端進行通信時將從10 個客戶端中抽取3 個客戶端進行通信,數(shù)據(jù)的批處理大小,即一次訓練的樣本數(shù)目設(shè)置為64 個。

2.2 仿真結(jié)果分析

針對客戶端的數(shù)據(jù)來源,由于每個客戶端的數(shù)據(jù)都是獨立的,因此應(yīng)該將下載的數(shù)據(jù)集平均分配給所有的客戶端。以Cifar-10 數(shù)據(jù)集為例,每個客戶端可以獲得6 000 個數(shù)據(jù),其中5 000 個數(shù)據(jù)用于訓練,剩余1 000 個數(shù)據(jù)用作驗證集。在全局模型聚合后,使用10 000 個測試數(shù)據(jù)測試模型的學習效果。表1 展示了4 種算法在Fashion-MNIST 數(shù)據(jù)集上的測試精度。

表1 Fashion-MNIST 數(shù)據(jù)集測試結(jié)果Tab.1 Fashion-MNIST dataset test results

圖4(a)是在NC為20,NE為3 時,4 種算法在Fashion-MNIST 數(shù)據(jù)集上的精度對比圖。由于在FedAB 算法中客戶端與服務(wù)器通信時上傳模型會將控制變量c同時進行上傳,而控制變量c是維數(shù)與權(quán)重相同的矩陣,使得其算法在通信時對比FedAvg 會增加1 倍的通信開銷,從而導致算法收斂速度較慢,但從圖4(a)中可以看出,即使在增加了通信開銷的前提下,F(xiàn)edAB 的表現(xiàn)仍然是4 種算法中最好的,精度比FedAvg 高近一個百分點,而FedBN和Scaffold算法的精度則相差不大。圖4(b)是在NC為3,NE為30 時,4 種算法在Fashion-MNIST 數(shù)據(jù)集上的精度對比圖,可以看出,F(xiàn)edAB的精度仍然是4 種算法中精度最高的,依然高于FedAvg 近一個百分點精度,F(xiàn)edBN 與Scaffold 算法的精度處于二者之間。從圖4(b)可以看出,在NE大于10 輪時,F(xiàn)edAB 算法的收斂速度大于其余3 種算法,并且在保證收斂速度的同時精度也是4種算法中最高的。

圖4 Fashion-MNIST 數(shù)據(jù)集各算法精度曲線Fig.4 Accuracy curves of each algorithm in Fashion-MNIST dataset

由于Fashion-MNIST 數(shù)據(jù)集為簡單的小型數(shù)據(jù)集且獨立同分布,該數(shù)據(jù)集無法體現(xiàn)FedAB 的優(yōu)勢,為了證明該算法的穩(wěn)定性,進行了在非獨立同分布數(shù)據(jù)集上的實驗。但是,聯(lián)邦學習在非獨立同分布數(shù)據(jù)集上的應(yīng)用仍然具有挑戰(zhàn)性[1]。由于數(shù)據(jù)不獨立且同分布,局部隨機梯度并不能被看作是全局梯度的無偏估計。表2 中呈現(xiàn)了4 種算法在Cifar-10 數(shù)據(jù)集上的測試結(jié)果。

表2 Cifar-10 數(shù)據(jù)集測試結(jié)果Tab.2Cifar-10 dataset test results

與之前的設(shè)置一樣,圖5(a)是NC為20,NE為3時4 種算法的精度對比圖,可以看到,F(xiàn)edAB 算法收斂速度遠超其余3 種算法,在Cifar-10 數(shù)據(jù)集上仍然達到了0.812 的精度,遠高于其余幾種算法,與之相比,F(xiàn)edAvg 暴露出客戶端漂移的問題,NC逐步增加時,本地的模型在訓練的過程中會產(chǎn)生偏移,導致FedAvg 在處理異構(gòu)數(shù)據(jù)上顯得有些力不從心,只達到了0.734 的精度。FedAB 精度達到穩(wěn)定時的訓練輪數(shù)為7,而FedAvg 為10,與之相比收斂速度快30%。同樣的,Scaffold 算法與FedBN算法的收斂速度基本一致,精度也相差不大。圖5(b)為與圖5(a)相同的設(shè)置參數(shù)的情況下4 種算法的損失函數(shù)對比圖,可以更加直觀的看到FedAB 的收斂速度遠超其他算法。由于在文獻[7]中已經(jīng)證明Scaffold 算法的精度以及收斂速度大于FedAvg,所以這里只對比FedAB 與Scaffold 兩種算法的收斂速度以及精度。同樣的,圖6(a)與圖6(b)是NC為3,NE為30 時2 種算法的結(jié)果對比,可以看到FedAB 算法的收斂速度雖然與NC為20時相比要慢一些,但其精度與收斂速度仍然是其中最高最快的,F(xiàn)edAB 精度達到穩(wěn)定時的訓練輪數(shù)為10 輪,而Scaffold 為15 輪,與之相比收斂速度快30%。

圖5 Cifar-10 數(shù)據(jù)集各算法對比圖:(a)精度曲線,(b)損失曲線Fig.5 Comparison of algorithms in Cifar-10 dataset:(a)accuracy curves,(b)loss curves

圖6 Cifar-10 數(shù)據(jù)集Scaffold 與FedAB 算法對比圖:(a)精度曲線,(b)損失曲線Fig.6 Comparison of Scaffold and FedAB algorithms on Cifar-10 dataset:(a)accuracy curves,(b)loss curves

2.3 參與率影響

實驗測試了不同參與率下FedAB 算法對MLP 網(wǎng)絡(luò)和Fashion-MNIST 數(shù)據(jù)集的精度影響[20]。參與率K是指客戶端參與通信的比例,服務(wù)器根據(jù)參與率隨機選擇一部分客戶端參與通信。圖7 結(jié)果顯示,改變參與率對模型的最終穩(wěn)定性影響不大。但在低參與率情況下,模型收斂速度更快,通信輪數(shù)也減少,這能夠節(jié)省大量通信資源??紤]到實際環(huán)境中客戶端基數(shù)龐大,若使用適當?shù)膮⑴c率即可獲得合適效果,將能夠極大地減少通信資源。

圖7 不同參與率精度曲線Fig.7 Accuracy curves of different participation rates

3 結(jié) 論

本文針對聯(lián)邦學習算法收斂速度問題,提出了批量歸一化自適應(yīng)算法。該算法通過自適應(yīng)參數(shù)解決聯(lián)邦學習中客戶端漂移的問題,并使用批量歸一化的方法解決協(xié)變量偏移的問題,從而提高了算法的精度和收斂速度[21]。實驗結(jié)果表明,相比于經(jīng)典的FedAvg,該算法精度和收斂速度均提高了約30%。在非獨立同分布的數(shù)據(jù)實驗中,算法在設(shè)備低參與率的情況下也能夠達到預期的效果。由于實驗假設(shè)客戶端與服務(wù)器處于理想狀態(tài)下,并未考慮安全問題,在實際應(yīng)用中,存在客戶端攻擊以及外部惡意病毒攻擊等問題,在未來的工作中需要進一步探索更有效的策略,并且為算法的性能提供更多的理論論證,從而提升算法的泛化能力。

猜你喜歡
聯(lián)邦客戶端服務(wù)器
一“炮”而紅 音聯(lián)邦SVSound 2000 Pro品鑒會完滿舉行
通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
303A深圳市音聯(lián)邦電氣有限公司
縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
得形忘意的服務(wù)器標準
計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
20年后捷克與斯洛伐克各界對聯(lián)邦解體的反思
客戶端空間數(shù)據(jù)緩存策略
临沭县| 曲水县| 柘荣县| 宜阳县| 于田县| 淄博市| 中方县| 奇台县| 远安县| 河间市| 新昌县| 年辖:市辖区| 宁远县| 措勤县| 嫩江县| 济宁市| 开阳县| 团风县| 寿光市| 沙河市| 观塘区| 呈贡县| 宁明县| 蒙城县| 华阴市| 株洲市| 寿阳县| 华坪县| 高邮市| 昂仁县| 山阴县| 贺州市| 东港市| 中西区| 界首市| 云浮市| 聂拉木县| 石泉县| 津市市| 遂川县| 施秉县|