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

?

面向部分設(shè)備參與的非獨(dú)立同分布數(shù)據(jù)的聯(lián)邦學(xué)習(xí)算法

2023-05-23 14:45:54鄒敏浩甘中學(xué)
關(guān)鍵詞:服務(wù)端聯(lián)邦全局

鄒敏浩,甘中學(xué)

(復(fù)旦大學(xué) 工程與應(yīng)用技術(shù)研究院,上海 200433)

1 引 言

聯(lián)邦學(xué)習(xí)由McMahan 等人[1]首先提出,它是一種前景廣闊的分布式學(xué)習(xí)方式,利用邊緣設(shè)備中的大量分散數(shù)據(jù)進(jìn)行分布式訓(xùn)練以獲得集中式的機(jī)器學(xué)習(xí)模型,并且不用將數(shù)據(jù)匯集在一起.通過這種方式,可以解決由邊緣設(shè)備(如機(jī)器人、智能手機(jī)和可穿戴設(shè)備)生成的大量數(shù)據(jù)但由于日益增加的隱私保護(hù)問題而無法利用的困境[2].在聯(lián)邦學(xué)習(xí)過程中,訓(xùn)練開始后服務(wù)端首先初始化模型參數(shù),并將初始化的模型參數(shù)通過網(wǎng)絡(luò)分發(fā)到客戶端(邊緣設(shè)備)中,客戶端的模型加載由服務(wù)端發(fā)來的參數(shù),并根據(jù)本地數(shù)據(jù)使用隨機(jī)梯度下降等優(yōu)化方法對模型進(jìn)行迭代訓(xùn)練,訓(xùn)練完成之后,將本地的模型參數(shù)通過網(wǎng)絡(luò)傳送回服務(wù)端,服務(wù)端根據(jù)收到的模型參數(shù)對服務(wù)端的全局模型進(jìn)行更新.等待服務(wù)端收到一定的數(shù)量的或所有客戶端的模型參數(shù)或者超過設(shè)定好的時間閾值,服務(wù)端更新全局模型,并將新更新的全局模型參數(shù)再次分發(fā)到客戶端進(jìn)行訓(xùn)練,循環(huán)往復(fù).

雖然原始數(shù)據(jù)不再在設(shè)備之間傳輸,但在聯(lián)邦學(xué)習(xí)訓(xùn)練期間,模型參數(shù)的頻繁傳輸也對網(wǎng)絡(luò)負(fù)載提出了比較高的要求.同時,設(shè)備的不同、數(shù)據(jù)質(zhì)量的不同和數(shù)據(jù)分布的差異(通常被概括為客戶端異質(zhì)性)也給聯(lián)邦學(xué)習(xí)帶來了新的挑戰(zhàn).

本文主要關(guān)注以下兩個聯(lián)邦學(xué)習(xí)的挑戰(zhàn).

1)客戶端異質(zhì)性.數(shù)據(jù)的異質(zhì)性和不平衡性是聯(lián)邦學(xué)習(xí)中的常見情況[3].客戶端異質(zhì)性包括設(shè)備、數(shù)據(jù)質(zhì)量、模型和數(shù)據(jù)分布等方面的差異[4].此外,非獨(dú)立同分布的數(shù)據(jù)也有不同的情況,例如標(biāo)簽分布偏差、特征分布偏差和數(shù)量偏差等等.這些異質(zhì)性存在于現(xiàn)實(shí)情況中,例如,各個醫(yī)院擁有患者的不同疾病數(shù)據(jù)[5]和銀行擁有不同客戶的信息和數(shù)據(jù)[6,7]等等,這些異質(zhì)性給聯(lián)邦學(xué)習(xí)算法的收斂性,穩(wěn)定性和效果等帶來了挑戰(zhàn).本文主要關(guān)注標(biāo)簽數(shù)量不平衡的異質(zhì)性,其中每個客戶端擁有來自所有標(biāo)簽中的固定數(shù)量標(biāo)簽的數(shù)據(jù)樣本,這種異質(zhì)性對算法的收斂性有很大影響.FedAvg[1]首先對客戶端異質(zhì)性進(jìn)行了研究,在FedAvg中,具有相同標(biāo)簽的數(shù)據(jù)樣本被劃分為子集,每個客戶端只被分配兩個具有不同標(biāo)簽的子集.

2)部分參與.大多數(shù)同步聯(lián)邦學(xué)習(xí)算法都假設(shè)客戶端在每一輪培訓(xùn)中都完全參與全局模型更新.然而,由于計算速度或網(wǎng)絡(luò)速度的差異,客戶端的梯度信息總是滯后到達(dá).在實(shí)踐中,為了提高聯(lián)邦學(xué)習(xí)的訓(xùn)練效率,通常只選擇部分客戶端進(jìn)行梯度更新,其他掉隊(duì)客戶端由于網(wǎng)絡(luò)速度慢、客戶端之間的本地訓(xùn)練更新速度差或其他原因而不參與本輪訓(xùn)練,并對更新全局模型沒有任何貢獻(xiàn).低設(shè)備參與率在同質(zhì)數(shù)據(jù)分布的聯(lián)邦學(xué)習(xí)優(yōu)化過程的情況下影響的效果有限,但對使用FedAvg進(jìn)行異質(zhì)數(shù)據(jù)分布的訓(xùn)練有很大影響.圖1展示了在FedAvg中非獨(dú)立同分布數(shù)據(jù)設(shè)置下部分設(shè)備參與導(dǎo)致的偏差問題的示例.在非獨(dú)立同分布設(shè)置下,朝向全局最優(yōu)解的方向不同于局部最優(yōu)解的方向.在全部設(shè)備參與下,當(dāng)前的全局最優(yōu)解是真正的全局最優(yōu)解.然而,在部分設(shè)備參與設(shè)置下,由于局部最優(yōu)解遠(yuǎn)離全局最優(yōu)解,在通信回合中當(dāng)前的全局最優(yōu)解可能遠(yuǎn)離真正的全局最優(yōu)解,這個偏差會使FedAvg的效果在訓(xùn)練過程中不穩(wěn)定,嚴(yán)重的可能會影響FedAvg算法的收斂性.因此在非獨(dú)立同分布數(shù)據(jù)環(huán)境和部分設(shè)備參與的情況下,設(shè)計一種有效和健壯的聯(lián)邦學(xué)習(xí)算法是一個挑戰(zhàn).

圖1 非獨(dú)立同分布設(shè)置下部分設(shè)備參與導(dǎo)致的偏差示例

在上述分析的基礎(chǔ)上,本文提出了一種新穎、高效、健壯的異步聯(lián)邦優(yōu)化算法,其中服務(wù)端在分發(fā)全局模型參數(shù)之后繼續(xù)聚合滯后的客戶端的梯度信息,以在下一輪全局模型聚合時修正全局最優(yōu)值(如圖1所示)而不用增加客戶端存儲或設(shè)備之間的通信成本,并可以通過修改聯(lián)邦學(xué)習(xí)中的聚合方式從而與現(xiàn)有聯(lián)邦學(xué)習(xí)算法的相互兼容.

本文的貢獻(xiàn)總結(jié)如下:

1)從優(yōu)化的角度詳細(xì)的分析了客戶端異質(zhì)性和部分客戶端設(shè)備參與的情況下對FedAvg聯(lián)邦學(xué)習(xí)算法的收斂性和穩(wěn)定性的影響.

2)提出了一種新的、高效的、異步的、健壯的聯(lián)邦優(yōu)化算法--聯(lián)邦累積學(xué)習(xí)算法(FedAcc),其中服務(wù)端通過聚合延遲的客戶端的梯度信息以指導(dǎo)下一輪的客戶端梯度更新.

3)基于MNIST、FMNIST和CIFAR-10數(shù)據(jù)集在不同客戶端的參與率的條件上進(jìn)行了大量的實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果證明本文的方法能有效的緩解客戶端異質(zhì)性和部分設(shè)備參與的問題,并且優(yōu)于其他對比的方法.

2 相關(guān)工作

傳統(tǒng)的聯(lián)邦學(xué)習(xí)需要頻繁的參數(shù)交換,對網(wǎng)絡(luò)吞吐量有嚴(yán)格的要求,并且容易受到不可靠網(wǎng)絡(luò)和不穩(wěn)定帶寬的影響[8].為了處理聯(lián)邦學(xué)習(xí)中的通信瓶頸,一種簡單有效的方法是對客戶端進(jìn)行采樣以加速收斂.許多方法側(cè)重于如何有效地進(jìn)行采樣,Nguyen等[8]人提出一種快速收斂的聯(lián)邦學(xué)習(xí)算法FOLB,它在每一輪模型訓(xùn)練中智能地對客戶端進(jìn)行采樣,以優(yōu)化收斂速度,并且能夠通過根據(jù)客戶端對更新的貢獻(xiàn)能力的估計調(diào)整聚合來處理客戶端的通信和計算的異質(zhì)性,Xiao等[9]人觀察到傳統(tǒng)聯(lián)邦學(xué)習(xí)的服務(wù)器端聚合方法是不合理的,客戶端在聯(lián)邦學(xué)習(xí)中的貢獻(xiàn)可以通過其訓(xùn)練模型的驗(yàn)證精度來區(qū)分,基于這一觀察,他們提出了一種新的聯(lián)邦學(xué)習(xí)算法,基于精度的平均聯(lián)邦學(xué)習(xí)算法(ABAVG),該算法改進(jìn)了傳統(tǒng)聯(lián)邦學(xué)習(xí)的服務(wù)器端聚合方法,并加快了非獨(dú)立同分布情況下聯(lián)邦學(xué)習(xí)的收斂速度.Chen等[10]人提出了一個輕量級的節(jié)點(diǎn)選擇算法來有效地執(zhí)行聯(lián)邦學(xué)習(xí)任務(wù),該算法在考慮本地計算資源和通信條件的同時,迭代選擇異質(zhì)節(jié)點(diǎn)參與全局學(xué)習(xí)聚合.Wu 和Wang[11]提出了一種優(yōu)化聚合算法,該算法通過檢查局部梯度和全局梯度之間的關(guān)系來識別和排除不利的局部更新,從而找出每個全局輪中參與節(jié)點(diǎn)的局部更新的最優(yōu)子集.在精心設(shè)計的實(shí)驗(yàn)條件及已知先驗(yàn)的知識下,這些基于重要性的采樣方式提高了性能,但不一定適用于具有不可預(yù)測的實(shí)際數(shù)據(jù)分布環(huán)境.

此外一些方法通過異步方式來緩解這個問題.異步方法旨在利用更多的客戶端梯度信息,Xie等[12]人提出的FedAsync,一種異步聯(lián)邦學(xué)習(xí)算法,通過在新的局部更新和舊的全局模型之間加權(quán)平均來更新全局模型,以處理滯后的客戶端,從而部署一個高效的聯(lián)邦學(xué)習(xí)系統(tǒng).在FedBuff[13]中,服務(wù)端在專用緩沖區(qū)中聚合客戶端更新,并在異步接收到K個更新時執(zhí)行服務(wù)器端模型更新.Liu等[14]人提出了一種等待策略,動態(tài)和自適應(yīng)地確定每輪的聚合數(shù)量,以實(shí)現(xiàn)單輪訓(xùn)練時間和期望輪數(shù)之間的折衷,從而達(dá)到目標(biāo)精度.Chen等[15]人提出了一種合理限制訓(xùn)練速度不同的客戶端傳回的參數(shù)在全局模型聚合參數(shù)中所占比例,并且主動更新延遲客戶端使用的聚合參數(shù)的異步聯(lián)邦學(xué)習(xí)聚合更新方法,從而有效解決客戶端訓(xùn)練速度差異對聚合參數(shù)造成的負(fù)面影響.為了解決滯后設(shè)備嚴(yán)重影響FedAvg等常用聯(lián)邦學(xué)習(xí)算法收斂的問題,Gu等[16]人研究任意設(shè)備不可用情況下的聯(lián)邦學(xué)習(xí)算法,并提出一種稱為記憶增強(qiáng)聯(lián)邦平均(MIFA)的算法,它有效地避免了非活躍設(shè)備導(dǎo)致的過度延遲,并使用存儲在設(shè)備的梯度更新糾正梯度偏差.但是,上面這些基于聚合的方法大多是隱式的,沒有可解釋性.本文的方法雖然也是異步并且具有解釋性.

當(dāng)客戶端中的數(shù)據(jù)是異質(zhì)的情況,會嚴(yán)重降低聯(lián)邦學(xué)習(xí)的性能,收斂速度不穩(wěn)定且緩慢[17,18].FedGBO由Mills等[19]人提出,它通過在聯(lián)邦學(xué)習(xí)的本地訓(xùn)練階段應(yīng)用一組全局偏向優(yōu)化器值來加速聯(lián)邦學(xué)習(xí),這有助于減少客戶端對非獨(dú)立同分布數(shù)據(jù)的漂移.Karimireddy等[18]人提出SCAFFOLD,它使用控制變量(方差減少)糾正其本地更新中的“客戶端漂移”,需要的通信輪數(shù)明顯減少,并且不受數(shù)據(jù)異質(zhì)性或客戶端采樣的影響,Karimireddy等[20]人提出MIME,它在每個客戶端更新步驟中使用控制變量和服務(wù)端級的優(yōu)化器狀態(tài)(例如動量)的組合,以確保每個本地更新模仿集中式方法在非獨(dú)立同分布數(shù)據(jù)上的更新過程,以減輕客戶端漂移.然而,這些方法通過向客戶端發(fā)送額外參數(shù)來增加了通信成本.

盡管取得了這些成功,但聯(lián)邦學(xué)習(xí)算法仍然面臨著部分參與非獨(dú)立同分布數(shù)據(jù)所帶來的異質(zhì)性的挑戰(zhàn).與這些方法相比,本文的方法更具魯棒性和靈活性,并且沒有額外的通信成本和存儲空間,并且具有高度的可解釋性.

3 提出的方法

本節(jié)將描述為什么以及如何設(shè)計所提出的FedAcc算法,并解釋FedAcc如何提高客戶端部分參與的收斂性和緩解客戶端的帶來的異質(zhì)性.然后,對FedAcc在非獨(dú)立同分布情況下設(shè)置的聯(lián)邦學(xué)習(xí)中的效率和性能進(jìn)行了全面的研究.

3.1 FedAvg

聯(lián)邦學(xué)習(xí)中用來解決以下形式的優(yōu)化問題:

(1)

其中Fi(x)=Ez~Di[f(xi,z)]是第i個客戶端的損失函數(shù),z∈Z和Di是第i個客戶端的數(shù)據(jù)分布.在數(shù)據(jù)異質(zhì)的情況下,即對于i!=j,Di和Dj可能非常不同,此時函數(shù)Fi(x)和f(xi,z)可能是非凸的,這會給聯(lián)邦學(xué)習(xí)算法帶來挑戰(zhàn).

(2)

(3)

(4)

通過這樣的方式就將客戶端和服務(wù)端的模型參數(shù)更新統(tǒng)一到一個雙優(yōu)化器更新的客戶端/服務(wù)端優(yōu)化器聯(lián)邦學(xué)習(xí)框架中.基于客戶端/服務(wù)端優(yōu)化器框架FedAvg算法的其他細(xì)節(jié)見算法1中的偽代碼.

算法1.基于客戶端/服務(wù)端優(yōu)化器框架FedAvg算法

輸入:本地數(shù)據(jù)集Di、總客戶端數(shù)N、通信輪數(shù)T、抽樣客戶端數(shù)M、本地訓(xùn)練輪數(shù)E、學(xué)習(xí)率η

輸出:最終的模型wT

1.服務(wù)端執(zhí)行:

2.初始化w0

3. fort←0 toT-1 do:

4.St←從N個客戶端隨機(jī)采樣M個客戶端

5.ns←∑i∈St|Di|

6. fori∈Stin parallel do:

13. 客戶端執(zhí)行:

14. ClientUpdate(i,wt):

15.L(w;b)=∑(x,y)∈bl(w;x;y)

17. for epoch←0 toE-1 do:

18. for each batchb=(x,y) ofDido:

3.2 FedAcc

為了提高聯(lián)邦學(xué)習(xí)中的訓(xùn)練效率,通常只選擇部分客戶端進(jìn)行梯度更新,而其他由于網(wǎng)絡(luò)速度慢、客戶端之間的本地訓(xùn)練更新速度差異或其他原因而不參與本輪訓(xùn)練的掉隊(duì)客戶端對全局模型的更新沒有任何貢獻(xiàn).隨著時間的推移,這些掉隊(duì)者的梯度信息將到達(dá)服務(wù)器.然而,服務(wù)器端已經(jīng)將聚合模型發(fā)送回客戶端,因此無法很好地利用到達(dá)的梯度信息.因此,一個自然的想法是,到達(dá)的梯度信息是否可以在下一輪全局模型更新中重新被使用,因?yàn)榈竭_(dá)的梯度信息包含了更多的客戶端梯度信息,并且有助于糾正由于部分采樣而導(dǎo)致的與真實(shí)全局最優(yōu)值的偏差,從而提高訓(xùn)練過程中聯(lián)邦學(xué)習(xí)的穩(wěn)定性和收斂性,同時因?yàn)槔昧怂锌蛻舳说奶荻刃畔?由于部分設(shè)備參與導(dǎo)致的異質(zhì)性將會得到一定的緩解.

(5)

該梯度在t輪中表示真實(shí)全局模型和當(dāng)前全局模型之間的偏差,并當(dāng)作動量項(xiàng)用來指導(dǎo)下一輪通信中的服務(wù)端的梯度更新(見公式(6),算法2第16行).其中α是本輪聚合的采樣率同時也是本輪設(shè)備的參與率,

(6)

通過這種方式,用一種異步的方式有效的利用了所有客戶端的梯度信息來更新全局模型,而不用等到所有客戶端模型的參數(shù)到達(dá)服務(wù)端之后再對全局模型進(jìn)行更新,并且客戶端和服務(wù)端之間的通信成本沒有增加,這意味著該聯(lián)邦學(xué)習(xí)算法通信效率是高效的,同時這種異步的方式也提高了聯(lián)邦學(xué)習(xí)的訓(xùn)練效率.此外,本文在算法設(shè)計和實(shí)驗(yàn)過程發(fā)現(xiàn)如果交換算法2的第17行和第18行,Δt表示完全參與和部分參與之間的偏差,并且如果Δws依舊根據(jù)如算法2第16行計算所得,則該方式的聯(lián)邦學(xué)習(xí)算法不會收斂.

算法2.聯(lián)邦累積學(xué)習(xí)算法(FedAcc)

輸入:本地數(shù)據(jù)集Di,總客戶端數(shù)N,通信輪數(shù)T,抽樣客戶端數(shù)M,本地訓(xùn)練輪數(shù)E,學(xué)習(xí)率η

輸出:最終的模型wT

1.服務(wù)端執(zhí)行:

2.初始化w0

4. fort←0 toT-1 do:

5.St←從N個客戶端隨機(jī)采樣M個客戶端

6.Ut←其他未被采樣的N-M個客戶端

7.ns←∑i∈St|Di|,nu←∑i∈Ut|Di|

8. fori∈St∪Utin parallel do:

13. ift=0 then:

14. Δt←0

15.α←1

3.3 FedAdamAcc

雖然FedAcc已經(jīng)提出,自然而然會考慮到,它是否可以用于其他自適應(yīng)方法.因此,本文在FedAdam的基礎(chǔ)上提出了FedAdamAcc,并在MNIST和FMNIST數(shù)據(jù)集上對其進(jìn)行了訓(xùn)練和測試.Adam[21]是一種有效且應(yīng)用廣泛的自適應(yīng)優(yōu)化算法.FedAdam[22]是一種自適應(yīng)聯(lián)邦學(xué)習(xí)算法,它將客戶端的局部更新和全局模型之間的差異視為偽梯度,并應(yīng)用自適應(yīng)梯度下降算法更新全局模型,以提高性能,已被證明是收斂的.

本文將這種累加梯度信息的方式與FedAdam自適應(yīng)算法相結(jié)合,見算法3,其中第19行和第20行的mt和vt分別是梯度和平方梯度的指數(shù)移動平均值,并且用參數(shù)β1和β2控制這些移動平均的衰減率,β1和β2在這里分別取0.9和0.999,第21行和第22行是用作偏差修正,偽梯度更新由第23行得到.

算法3.FedAdamAcc

輸入:本地數(shù)據(jù)集Di,總客戶端數(shù)N,通信輪數(shù)T,抽樣客戶端數(shù)M,本地訓(xùn)練輪數(shù)E,學(xué)習(xí)率η,全局學(xué)習(xí)率ηg,衰減參數(shù)β1,β2∈[0,1),ε=10-6

輸出:最終的模型wT

1.服務(wù)端執(zhí)行:

2.初始化w0

4.fort←0 toT-1 do:

5.St←從N個客戶端隨機(jī)采樣M個客戶端

6.Ut←其他未被采樣的N-M個客戶端

7.ns←∑i∈St|Di|,nu←∑i∈Ut|Di|

8. fori∈St∪Utin parallel do:

13. ift=0 then:

14. Δt←0

15.α←1

16.mt-1←0

17.vt-1←0

19.mt←β1·mt-1+(1-β1)·Δws

4 實(shí)驗(yàn)設(shè)置

本文根據(jù)異質(zhì)聯(lián)邦學(xué)習(xí)中對數(shù)據(jù)集進(jìn)行劃分和任務(wù)中最具代表性的情況來評價和衡量本文提出的算法和相關(guān)的算法,且希望研究設(shè)備的參與率如何影響聯(lián)邦學(xué)習(xí)的收斂情況,特別是在非獨(dú)立同分布數(shù)據(jù)設(shè)置下.為了實(shí)現(xiàn)這一目標(biāo),本文基于以下設(shè)置上進(jìn)行了大量的實(shí)驗(yàn).

4.1 數(shù)據(jù)集和模型:

本文在幾個公共數(shù)據(jù)集,MNIST、FMINST和CIFAR-10與其他聯(lián)邦學(xué)習(xí)算法進(jìn)行比較.按照FedAvg的實(shí)驗(yàn)設(shè)置,將數(shù)據(jù)集按標(biāo)簽劃分為不同的數(shù)據(jù)子集,每個客戶端僅分配兩個不同的標(biāo)簽的數(shù)據(jù)集,標(biāo)簽的數(shù)據(jù)樣本數(shù)不固定.

實(shí)驗(yàn)發(fā)現(xiàn)每個客戶端中的數(shù)據(jù)數(shù)量對結(jié)果有很大影響,因此本文在CIFAR-10中固定了每個客戶端中的標(biāo)簽和數(shù)據(jù)數(shù)量,以減少隨機(jī)因素的影響.數(shù)據(jù)集的統(tǒng)計情況匯總在表1中.對于模型,本文使用一個簡單的卷積神經(jīng)網(wǎng)絡(luò)模型,它有兩個5×5卷積層,步幅為1填充為0,然后是2×2池化層(第1個有6個通道,第2個有16個通道)和兩個全連接層,并使用ReLU激活函數(shù)(第1個有120個神經(jīng)元,第2個有84個神經(jīng)元).

表1 數(shù)據(jù)集的統(tǒng)計情況

表2 用于CIFAR-10數(shù)據(jù)上訓(xùn)練的簡單卷積神經(jīng)網(wǎng)絡(luò)模型

4.2 實(shí)驗(yàn)環(huán)境

本文在基于Pytorch的客戶端/服務(wù)端優(yōu)化器的聯(lián)邦學(xué)習(xí)框架[4]上實(shí)現(xiàn)所有算法.以一定的采樣率對客戶端進(jìn)行隨機(jī)抽樣.客戶端和服務(wù)端都使用回合數(shù)來評估訓(xùn)練進(jìn)度,而不是訓(xùn)練過程中的迭代次數(shù).該框架根據(jù)每個客戶端的訓(xùn)練樣本數(shù)對所有客戶端的樣本數(shù)的比值進(jìn)行加權(quán),而不是根據(jù)客戶端的數(shù)量進(jìn)行統(tǒng)一加權(quán).由于缺乏計算資源,實(shí)驗(yàn)中服務(wù)端的聚合和客戶端的訓(xùn)練都在一臺有1個NVIDIA 1080Ti GPU的機(jī)器上完成.

4.3 優(yōu)化器和超參數(shù)

本地訓(xùn)練中使用學(xué)習(xí)率為0.01、動量為0.9的SGD優(yōu)化器.默認(rèn)情況下,批大小設(shè)置為64,本地訓(xùn)練回合數(shù)設(shè)置為5.默認(rèn)情況下,所有的設(shè)備數(shù)量總數(shù)設(shè)置為10.每一輪所有參與的客戶端以一定的抽樣率(0.1,0.3,0.5,0.7,1.0)被抽樣隨機(jī)參加服務(wù)端聚合.為了進(jìn)行公平比較,研究算法中的通信輪數(shù)設(shè)置相同,MNIST/FMNIST中為50輪,CIFAR-10中為100輪.

4.4 結(jié)果指標(biāo)

由于客戶端的數(shù)據(jù)分布都是非獨(dú)立同分布的,部分參與的全局模型的測試精度大部分時間在一定的區(qū)間內(nèi)振蕩,且振蕩幅度較大.這種不穩(wěn)定的收斂對于實(shí)際場景中的應(yīng)用是不利的,因?yàn)樵跍y試標(biāo)簽未知的情況下很難獲得最佳結(jié)果和訓(xùn)練回合數(shù).因此,本文使用3個實(shí)驗(yàn)結(jié)果的最后5輪的平均測試精度作為比較MNIST或FMNIST中研究的算法的衡量標(biāo)準(zhǔn),以及一個實(shí)驗(yàn)結(jié)果的最后10輪的平均測試精度(本文已經(jīng)去除數(shù)據(jù)集設(shè)置的隨機(jī)因素的影響)作為比較CIFAR-10中所研究算法的指標(biāo),并利用箱形圖對測試結(jié)果進(jìn)行綜合評價.

5 實(shí)驗(yàn)結(jié)果

5.1 對比實(shí)驗(yàn)

本小節(jié)將討論相關(guān)聯(lián)邦學(xué)習(xí)方法,如FedAvg、FedAsync和FedAcc的各個方面表現(xiàn).本文比較了這些方法在不同采樣率下的收斂性,每個聯(lián)邦學(xué)習(xí)算法的測試性能圖如圖2所示,表3以數(shù)字形式總結(jié)了測試性能.由于穩(wěn)定性對于分布式算法至關(guān)重要,額外應(yīng)用的動量項(xiàng)可能會放大算法的不穩(wěn)定性.本文使用箱圖(圖2(d))來衡量測試精度的不穩(wěn)定性.

圖2 FedAvg、FedAsync和FedAcc之間在MNIST和FMNIST中不同采樣率條件下的平均測試精度直方圖

表3 使用簡單卷積神經(jīng)網(wǎng)絡(luò)的各個方法之間的平均測試精度.對于不同數(shù)據(jù)集的每個采樣率,性能在最佳結(jié)果的0.5%以內(nèi),以粗體顯示.*代表本文提出的方法

本文的方法在MNIST和FMNIST兩個簡單的數(shù)據(jù)集在大多數(shù)情況下優(yōu)于其他方法,特別是在低設(shè)備采樣率下,如圖2(a)和圖2(b)所示.因?yàn)楫?dāng)采樣率為1.0時,FedAsync和FedAcc算法實(shí)際上等價于FedAvg算法.因此,實(shí)驗(yàn)結(jié)果的精度的微小差異可被視為隨機(jī)因素引起的誤差.由于設(shè)備的部分參與,就可能存在參與的客戶端數(shù)據(jù)分布偏離整體數(shù)據(jù)分布,極端情況下甚至?xí)顾惴ú皇諗?但采樣率的提高會使異步FedAsync算法和本文的FedAcc算法中本輪和上輪算法的梯度信息更接近,梯度更新朝某一方向前進(jìn),因此會使整體算法效果偏向某些客戶端的數(shù)據(jù)分布,并可能導(dǎo)致采樣率提高,而整體精度略低的情況出現(xiàn),比如采樣率為0.7時的精度略低于采樣率為0.5的精度.對于具有簡單卷積神經(jīng)網(wǎng)絡(luò)的更復(fù)雜數(shù)據(jù)集CIFAR-10,本文得到了相同的結(jié)論.箱形圖中的方盒從數(shù)據(jù)的下四分位值延伸到上四分位值,中間的線代表中位數(shù)線.上下邊緣線表示數(shù)據(jù)的范圍.從圖3(b)中可以看出,本文算法的測試精度分布在一個更緊湊的范圍內(nèi),這意味著本文的算法更穩(wěn)定.

圖3 FedAvg、FedAsync和FedAcc在 CIFAR-10中不同采樣率條件下的平均測試精度直方圖和箱形圖

5.2 基于FedAdam改進(jìn)性能

本文在MNIST和FMNIST數(shù)據(jù)集上對FedAdamAcc算法進(jìn)行訓(xùn)練和測試,訓(xùn)練回合數(shù)設(shè)置為50輪,并且以平均最后5輪3次實(shí)驗(yàn)的結(jié)果最為效果對比指標(biāo).實(shí)驗(yàn)結(jié)果表明,基于FedAdam的梯度積累策略算法(FedAdamAcc)也是有效的,并可以取得更好的效果,在低設(shè)備參與率的情況效果明顯,如圖4所示.

圖4 FedAvg、FedAdam和FedAdamAcc之間MNIST/FMNIST數(shù)據(jù)集上中不同采樣率的平均測試準(zhǔn)確度直方圖

然而,由于FedAdam需要在CIFAR-10上進(jìn)行精細(xì)調(diào)整才能收斂,并且FedAdam很難獲得比FedAvg更好的結(jié)果,因此本文沒有在CIFAR-10上進(jìn)行進(jìn)一步的對比實(shí)驗(yàn).

6 總 結(jié)

本文從優(yōu)化的角度分析了異質(zhì)情況下部分客戶端參與的聯(lián)邦學(xué)習(xí)的問題,并提出了一種客戶端/服務(wù)端優(yōu)化的聯(lián)邦學(xué)習(xí)方法——FedAcc算法.本文的方法基于梯度校正,經(jīng)過評估可適用于不同的數(shù)據(jù)集.本文通過實(shí)驗(yàn)驗(yàn)證了累加方法對提高部分采樣聯(lián)邦學(xué)習(xí)算法的收斂性是有效的.通過使用一個簡單的客戶端/服務(wù)器優(yōu)化器框架,本文可以以一種簡單合理的方式將累加方法合并到各種聯(lián)邦學(xué)習(xí)算法中.未來的研究方向包括如何在采樣率和局部訓(xùn)練速度之間實(shí)現(xiàn)更好的平衡,以及針對聯(lián)邦學(xué)習(xí)設(shè)計合適的模型.

猜你喜歡
服務(wù)端聯(lián)邦全局
Cahn-Hilliard-Brinkman系統(tǒng)的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
一“炮”而紅 音聯(lián)邦SVSound 2000 Pro品鑒會完滿舉行
303A深圳市音聯(lián)邦電氣有限公司
落子山東,意在全局
金橋(2018年4期)2018-09-26 02:24:54
云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
在Windows Server 2008上創(chuàng)建應(yīng)用
新思路:牽一發(fā)動全局
20年后捷克與斯洛伐克各界對聯(lián)邦解體的反思
达尔| 凤城市| 富川| 元朗区| 务川| 恩平市| 安达市| 巴彦淖尔市| 新绛县| 巫山县| 泾阳县| 寻甸| 佛教| 东港市| 大新县| 宜川县| 巴楚县| 乌什县| 库尔勒市| 泽库县| 乐至县| 富顺县| 四会市| 原阳县| 罗源县| 定兴县| 大渡口区| 普兰店市| 阳泉市| 南召县| 彭阳县| 文成县| 固原市| 宿迁市| 广南县| 东辽县| 巧家县| 黑龙江省| 东明县| 洪江市| 郓城县|