葉 進(jìn),韋 濤,胡亮青,羅 森,李曉歡
(1.廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院,南寧 530003;2.廣西綜合交通大數(shù)據(jù)研究院,南寧 530201)
人工智能(Artificial Intelligence,AI)和物聯(lián)網(wǎng)(Internet of Things,IoT)相結(jié)合能夠得到智聯(lián)網(wǎng)(Artificial Intelligence of Things,AIoT)。IoT 設(shè)備是數(shù)字神經(jīng)系統(tǒng),AI 是系統(tǒng)的大腦。當(dāng)AI 被添加到IoT 時(shí),意味著這些IoT 設(shè)備可以在沒(méi)有人類參與的情況下分析數(shù)據(jù),做出決策。人工智能通過(guò)機(jī)器學(xué)習(xí)和越來(lái)越強(qiáng)的決策能力為物聯(lián)網(wǎng)增加價(jià)值。物聯(lián)網(wǎng)因?yàn)檫B通性和數(shù)據(jù)交換為人工智能增加價(jià)值[1]。
目前,AI 模型訓(xùn)練的主要方法是以云為中心,即IoT 設(shè)備將訓(xùn)練數(shù)據(jù)傳輸?shù)竭h(yuǎn)程云服務(wù)器進(jìn)行處理。然而,對(duì)隱私越來(lái)越敏感的數(shù)據(jù)所有者可以選擇不與第三方共享數(shù)據(jù)。同時(shí),將大量數(shù)據(jù)傳輸?shù)竭b遠(yuǎn)的云端會(huì)增加網(wǎng)絡(luò)的負(fù)擔(dān),并導(dǎo)致不可接受的延遲,尤其是對(duì)時(shí)間敏感的任務(wù),這可能會(huì)阻礙AIoT 的進(jìn)一步發(fā)展。因此,聯(lián)邦學(xué)習(xí)(Federated Learning,F(xiàn)L)[2]被提出。在FL 的每次迭代中,遠(yuǎn)程云服務(wù)器將一組模型參數(shù)傳輸給客戶機(jī),例如AIoT 設(shè)備,然后使用本地存儲(chǔ)的訓(xùn)練數(shù)據(jù)更新模型參數(shù),最后把更新的模型參數(shù)傳回遠(yuǎn)程服務(wù)器進(jìn)行全局聚合。整個(gè)過(guò)程不需要傳輸原始數(shù)據(jù),因此,F(xiàn)L 訓(xùn)練過(guò)程實(shí)現(xiàn)了保護(hù)隱私的協(xié)作機(jī)器學(xué)習(xí)。
在AIoT 的實(shí)際場(chǎng)景中,大規(guī)模實(shí)現(xiàn)FL 還面臨著以下挑戰(zhàn):1)AIoT 設(shè)備的通信帶寬有限,遠(yuǎn)程云服務(wù)器和IoT 設(shè)備之間的通信鏈路是高度不可靠的,意味著只有一小部分設(shè)備能夠參與每一輪通信,F(xiàn)L算法對(duì)通信成本和低參與率特別敏感;2)由于AIoT設(shè)備間的存儲(chǔ)、計(jì)算和通信能力有所不同,使得AIoT 網(wǎng)絡(luò)有顯著的系統(tǒng)異構(gòu)性;3)AIoT 設(shè)備間的數(shù)據(jù)通常是非獨(dú)立同分布(non-Independent Identically Distribution,non-IID)的,且數(shù)據(jù)量也是不平衡的,意味著AIoT 網(wǎng)絡(luò)中有顯著的數(shù)據(jù)異構(gòu)性[3-4]。文獻(xiàn)[5-6]分別在實(shí)驗(yàn)和理論上證明了當(dāng)設(shè)備數(shù)據(jù)是non-IID 時(shí),F(xiàn)L 會(huì)受到客戶機(jī)漂移的影響,導(dǎo)致不穩(wěn)定和緩慢的收斂。客戶機(jī)漂移是指:不同設(shè)備間non-IID 的數(shù)據(jù)分布會(huì)導(dǎo)致它們計(jì)算的梯度高度傾斜,每一輪訓(xùn)練中設(shè)備的模型更新方向逐漸發(fā)散、過(guò)擬合于本地?cái)?shù)據(jù)。
為AIoT 設(shè)計(jì)FL 算法需要綜合考慮低參與率、系統(tǒng)異構(gòu)性和數(shù)據(jù)異構(gòu)性。在現(xiàn)有的FL 算法中,有一些是專門(mén)處理數(shù)據(jù)異構(gòu)性的。SCAFFOLD[6]在服務(wù)器和客戶端添加了控制變量,用來(lái)控制模型訓(xùn)練時(shí)的更新方向,然而在每輪通信時(shí),控制變量會(huì)隨著模型一同傳輸,這增加了額外的通信成本,且當(dāng)設(shè)備參與率很低時(shí),客戶端由于不能參與每輪的模型訓(xùn)練而導(dǎo)致其控制變量陳舊,算法性能大大降低。FedProx[7]和FedDyn[8]在損失 函數(shù)上 添加了 近端正則化項(xiàng),以約束客戶機(jī)模型遠(yuǎn)離全局模型的更新,由此同時(shí)解決系統(tǒng)異構(gòu)性和數(shù)據(jù)異構(gòu)性問(wèn)題,然而這類方法需要精調(diào)其超參數(shù),否則會(huì)降低算法的收斂速度。FedNova[9]是一種標(biāo)準(zhǔn)化平均方法,其在客戶端上傳其參數(shù)改變量前根據(jù)本地更新次數(shù)和梯度權(quán)重進(jìn)行標(biāo)準(zhǔn)化,消除了異構(gòu)系統(tǒng)中的客觀不一致性。此外,文獻(xiàn)[10]在服務(wù)器端提出了自適應(yīng)的方法,F(xiàn)edPD[11]使用了原始對(duì)偶方法,VRL-SGD[12]應(yīng)用減少方差的方法消除了客戶機(jī)間的不一致性,文獻(xiàn)[13]設(shè)計(jì)了一種基于個(gè)性化本地蒸餾的方法,文獻(xiàn)[14]提出了一種半監(jiān)督聯(lián)邦學(xué)習(xí)系統(tǒng)SSFL,根據(jù)客戶端損失函數(shù)值動(dòng)態(tài)調(diào)整本地模型在全局模型中所占的權(quán)重。然而,它們中的大多數(shù)都需要客戶機(jī)完全參與或者客戶機(jī)存儲(chǔ),這些算法在AIoT 實(shí)際場(chǎng)景中可能存在問(wèn)題。動(dòng)量是一種加速優(yōu)化的方法,它通過(guò)增加慣性來(lái)平滑模型更新方向和減少方差,可以提高深度神經(jīng)網(wǎng)絡(luò)(DNN)的收斂速度和測(cè)試精度[15-16]。由于動(dòng)量技術(shù)可平滑模型的更新方向,因此可以潛在地緩解客戶機(jī)漂移問(wèn)題[17]。目前,已經(jīng)有許多工作研究利用動(dòng)量技術(shù)來(lái)加速FL 的學(xué)習(xí)過(guò)程,主要可分為4 類:
1)在客戶端引入動(dòng)量項(xiàng)的方法,如FedNova[9]、FedNAG[18]和MFL[19]。這類方法通過(guò)在客戶端維持一個(gè)模型更新方向的動(dòng)量項(xiàng)來(lái)加快客戶端模型的優(yōu)化,提升了本地模型的優(yōu)化速度,但是non-IID 的設(shè)備數(shù)據(jù)可能會(huì)讓客戶端漂移的影響更加嚴(yán)重,不適合AIoT 場(chǎng)景。
2)在服務(wù)器引入動(dòng)量項(xiàng)的方法,如FedAvgM[20]、FedMom[21]和SlowMo[22]。這類方 法通過(guò) 在服務(wù) 器維持一個(gè)全局模型更新方向的動(dòng)量來(lái)加速全局模型的更新,提升了服務(wù)器模型的訓(xùn)練速度,但也不適合AIoT 場(chǎng)景,因?yàn)樗鼈儧](méi)有修改客戶端的模型更新方向,客戶端漂移現(xiàn)象仍然存在。
3)在客戶端和服務(wù)器都應(yīng)用動(dòng)量的方法,如STEM[23]。這類方法在服務(wù)器和客戶端都做了加速,但是沒(méi)有引入漂移控制的機(jī)制。
4)在服務(wù)器聚合全局梯度信息并發(fā)送給客戶端,在客戶端本地訓(xùn)練時(shí)當(dāng)全局動(dòng)量使用,以修改客戶機(jī)的 模型更 新,如FedADC[17]、FedCM[24]和DOMO[25]。全局梯度信息代表了所有客戶機(jī)的模型更新方向,一定程度上能代表全局?jǐn)?shù)據(jù)分布。這類方法讓客戶機(jī)在本地訓(xùn)練時(shí)拿到全局?jǐn)?shù)據(jù)分布的信息,不會(huì)過(guò)擬合于自己的數(shù)據(jù)分布,緩解了客戶機(jī)漂移問(wèn)題,保證了低參與率場(chǎng)景下的性能[24],通常很適合AIoT 場(chǎng)景。然而,這類方法仍然有以下不足:AIoT 設(shè)備在本地訓(xùn)練期間無(wú)法更新全局動(dòng)量;經(jīng)過(guò)設(shè)備多次模型更新之后,設(shè)備持有的全局動(dòng)量很快變得陳舊,產(chǎn)生誤差;動(dòng)量技術(shù)對(duì)梯度誤差的魯棒性不強(qiáng),由于誤差累積,其性能可能比經(jīng)典梯度下降(GD)差[26-27]。
將全局梯度信息用來(lái)調(diào)整客戶端更新的方法比較適合AIoT 場(chǎng)景,為了彌補(bǔ)現(xiàn)有方法會(huì)用到過(guò)時(shí)動(dòng)量信息的缺點(diǎn),本文提出一個(gè)新的基于全局動(dòng)量的聯(lián)邦學(xué)習(xí)算法FedCNM。FedCNM 在遠(yuǎn)程云服務(wù)器端聚合全局動(dòng)量信息,用來(lái)初始化AIoT 設(shè)備的本地模型。同時(shí)為了消除系統(tǒng)異構(gòu)性帶來(lái)的客觀方差,F(xiàn)edCNM 在AIoT 設(shè)備模型訓(xùn)練結(jié)束后對(duì)設(shè)備待上傳的累積模型更新量做標(biāo)準(zhǔn)化處理,從而更準(zhǔn)確地近似真實(shí)的全局梯度,同時(shí)保證動(dòng)量技術(shù)的有效性。與現(xiàn)有FL 算法相比,F(xiàn)edCNM 將代表全局模型更新方向的全局動(dòng)量應(yīng)用在客戶端本地訓(xùn)練之前,避免在本地訓(xùn)練時(shí)會(huì)用到過(guò)時(shí)的信息產(chǎn)生誤差,從而緩解客戶機(jī)漂移現(xiàn)象,保證低參與率AIoT 場(chǎng)景下的性能,并且FedCNM 允許快速客戶端比慢速客戶端執(zhí)行多個(gè)本地更新,更靈活地支持異構(gòu)AIoT 系統(tǒng)環(huán)境。
考慮如圖1 所示的系統(tǒng)模型,該模型有N個(gè)AIoT 設(shè)備和1 個(gè)遠(yuǎn)程云服務(wù)器。這N個(gè)通信和計(jì)算資源有限的AIoT 設(shè)備分別擁有本地?cái)?shù)據(jù)集D1,D2,…,Di,…,DN,因 此,全局?jǐn)?shù)據(jù)集D?D1∪D2∪…∪DN。假設(shè)對(duì) 于所有i≠j,有Di∩Dj=?,定義數(shù)據(jù)集Di中的樣本個(gè)數(shù)為|Di|,其中,|*|表示集合的大小。所有設(shè)備樣本個(gè)數(shù)的總和為|D|,其中遠(yuǎn)程云服務(wù)器可以連接所有AIoT 設(shè)備,實(shí)現(xiàn)信息傳輸。
圖1 基于全局動(dòng)量的FL-AIoT 結(jié)構(gòu)模型Fig.1 FL-AIoT structure model based on global momentum
將遠(yuǎn)程云服務(wù)器的全局損失函數(shù)定義為f(x),其中,x表示模型參數(shù)。不同的機(jī)器學(xué)習(xí)模型對(duì)應(yīng)不同的f(x)和x。使用x*表示使f(x)值最小化的最優(yōu)參數(shù)?;谒岢龅哪P停疚牡膶W(xué)習(xí)問(wèn)題是最小化f(x),可以表述為:
由于機(jī)器學(xué)習(xí)模型和原始數(shù)據(jù)集的復(fù)雜性,尋找上述優(yōu)化問(wèn)題的封閉解通常是棘手的。因此,可以在中央服務(wù)器收集所有邊緣設(shè)備的數(shù)據(jù)后,使用基于梯度迭代的算法(GD)來(lái)解決式(1)所示的學(xué)習(xí)問(wèn)題。梯度下降的更新規(guī)則如下:
其中:t表示迭代指數(shù);η>0 表示學(xué)習(xí)率;模型參數(shù)xt沿負(fù)梯度方向更新。使用上述更新規(guī)則,GD 可以通過(guò)連續(xù)迭代解決式(1)所示學(xué)習(xí)問(wèn)題。
動(dòng)量技術(shù)作為GD 的改進(jìn),引入了動(dòng)量項(xiàng)[28],更新規(guī)則如下:
其中:Δt是與xt有相同維度的動(dòng)量項(xiàng);α是動(dòng)量衰減因子。與GD 相比,通過(guò)引入動(dòng)量項(xiàng),f(x)可以更快地收斂到最小值[29]。
在FL 系統(tǒng)中,每個(gè)AIoT 設(shè)備i都有自己的本地模 型,其 中,t表示第t輪通信。將AIoT 設(shè) 備i的 本地?fù)p失函數(shù)定義為fi(x),fi(x)只在Di有定義。因此,F(xiàn)L 的全局損失函數(shù)可以表示為:
當(dāng)t=0 時(shí),遠(yuǎn)程云服務(wù)器初始化模型參數(shù)x0。當(dāng)?shù)趖輪FL 開(kāi)始時(shí),遠(yuǎn)程云服務(wù)器將全局模型發(fā)送給AIoT 設(shè)備。設(shè)備i根據(jù)其本地?cái)?shù)據(jù)集Di對(duì)其本地?fù)p失函數(shù)fi(x)進(jìn)行Ki次模型更新:
所有設(shè)備將其更新后的本地模型上傳至遠(yuǎn)程云服務(wù)器,云服務(wù)器通過(guò)加權(quán)平均的方式聚合全局模型:
在文獻(xiàn)[30]中,F(xiàn)L 方法已被證明對(duì)于凸優(yōu)化問(wèn)題具有全局收斂性,并表現(xiàn)出良好的收斂性能。下一節(jié)將介紹本文基于全局動(dòng)量的FL 算法FedCNM。
在幾乎所有深度學(xué)習(xí)的實(shí)例中,目標(biāo)函數(shù)是參數(shù)的高度非凸函數(shù),在模型參數(shù)空間中可能存在許多不同的次優(yōu)局部極小值??蛻魴C(jī)的模型參數(shù)往遠(yuǎn)離全局模型更新軌跡的方向更新是引發(fā)客戶機(jī)漂移的一個(gè)原因。
為了緩解這個(gè)問(wèn)題,本文將全局梯度信息融入到客戶端更新中,以調(diào)整客戶機(jī)的更新方向。具體地,在FedCNM 中,客戶機(jī)i可以通過(guò)計(jì)算αKiηlΔt來(lái)近似其模型在全局模型更新方向上的下一個(gè)位置,利用來(lái)初始化客戶機(jī)模型,相當(dāng)于客戶機(jī)i提前應(yīng)用到了未來(lái)信息。考慮到FL 的系統(tǒng)異構(gòu)性和客戶端之間的不平衡數(shù)據(jù)量,客戶端的本地更新次數(shù)可能不一樣,會(huì)導(dǎo)致目標(biāo)不一致性[9]的問(wèn)題,即經(jīng)過(guò)客戶端次數(shù)不一樣的本地更新后,用標(biāo)準(zhǔn)的平均方法平均模型會(huì)使結(jié)果收斂到一個(gè)非預(yù)期的平穩(wěn)點(diǎn),對(duì)此,本文標(biāo)準(zhǔn)化處理客戶端待上傳的模型改變量,以減少模型更新的方差。圖2 展示了FedCNM 的本地學(xué)習(xí)過(guò)程。本文用到的符號(hào)在表1中列出進(jìn)行說(shuō)明。
表1 符號(hào)說(shuō)明Table 1 Symbol description
從式(8)可以看出,F(xiàn)edCNM 在客戶機(jī)的梯度方向上增加了一個(gè)修正項(xiàng)αΔt來(lái)調(diào)整客戶機(jī)的更新方向,這種提前應(yīng)用Δt計(jì)算模型近似未來(lái)位置的梯度來(lái)做梯度下降的方式,不會(huì)產(chǎn)生隨著客戶端迭代次數(shù)過(guò)多Δt變得陳舊的問(wèn)題。盡管每輪只對(duì)所有客戶端的一個(gè)子集進(jìn)行采樣,但過(guò)去局部更新的梯度信息仍然包含在Δt中,因此,F(xiàn)edCNM 能減少客戶端更新方向與全局方向的偏差,緩解客戶機(jī)漂移問(wèn)題,且對(duì)于聯(lián)邦學(xué)習(xí)客戶機(jī)低參與率具有魯棒性。
在算法1 中,Δt+1是第t輪參與學(xué)習(xí)的客戶機(jī)模型改變量的平均值,用于服務(wù)器模型的更新,其具有以下更新規(guī)則:
從式(10)可以看出,Δt+1是所有客戶機(jī)梯度的指數(shù)移動(dòng)平均,與傳統(tǒng)優(yōu)化算法里的動(dòng)量項(xiàng)一致,因此,全局模型的更新方向經(jīng)過(guò)動(dòng)量平滑,潛在地加快收斂。FedCNM 算法在每輪訓(xùn)練開(kāi)始時(shí)會(huì)將全局模型和代表全局更新方向的服務(wù)器動(dòng)量廣播至客戶端,這會(huì)增加服務(wù)器到客戶端的通信量,但是客戶端到服務(wù)器的通信量仍保持不變。請(qǐng)注意,如果沒(méi)有來(lái)自服務(wù)器的附加信息或讓客戶端存儲(chǔ)本地狀態(tài),則不可能消除由于客戶端異構(gòu)而導(dǎo)致的本地梯度更新的偏差。從這個(gè)意義上說(shuō),如果客戶機(jī)不存儲(chǔ)本地狀態(tài),則不可避免地要使用額外的通信。本文也將在第3 節(jié)指出,盡管FedCNM 每輪的通信量是FedAvg 的1.5 倍,但是在達(dá)到目標(biāo)訓(xùn)練精度時(shí)所需的總體通信量仍是少于FedAvg 的。
本節(jié)將模擬各種真實(shí)的AIoT 場(chǎng)景對(duì)FedCNM和對(duì)比的FL 方法進(jìn)行經(jīng)驗(yàn)評(píng)估。與文獻(xiàn)[8,31]一樣,在第3.2、3.3、3.4 節(jié)分別從3 個(gè)方面(大規(guī)模設(shè)備、低參與率和Non-IID 數(shù)據(jù))評(píng)估FedCNM 的性能,在第3.5 節(jié)評(píng)估超參數(shù)α的敏感性,在第3.6 節(jié)評(píng)估本地優(yōu)化器對(duì)FedCNM 的影響。
在CIFIAR-10[32]和CIFAR-100[32]數(shù)據(jù)集 上評(píng)估本文算法。為了模擬客戶端數(shù)據(jù)異構(gòu)性,采取與文獻(xiàn)[8]相同的數(shù)據(jù)劃分方式。具體來(lái)說(shuō),通過(guò)將訓(xùn)練數(shù)據(jù)隨機(jī)不替換地分配給客戶端來(lái)生成IID 數(shù)據(jù),且劃分的數(shù)據(jù)量是平衡的。對(duì)于non-IID 數(shù)據(jù),通過(guò)從參數(shù)為{0.3,0.6}的Dirichlet 分布中采樣標(biāo)簽比率來(lái)模擬數(shù)據(jù)的異質(zhì)性,同時(shí)為了生成不平衡數(shù)據(jù),從對(duì)數(shù)正態(tài)分布中采樣數(shù)據(jù)點(diǎn)的數(shù)量,控制對(duì)數(shù)正態(tài)分布的方差,得到不平衡數(shù)據(jù)。
將本文方法FedCNM 與幾種先進(jìn)的聯(lián)邦學(xué)習(xí)技術(shù)進(jìn)行比較,這些技術(shù)包括最流行的FL 優(yōu)化算法FedAvg[2]、基于服務(wù)器動(dòng)量的算法FedAvgm[20]、在客戶端應(yīng)用服務(wù)器動(dòng)量的算法FedADC[17]、服務(wù)器自適應(yīng)優(yōu)化的方法FedAdam[10]、異構(gòu)優(yōu)化的方法FedProx[7]。本文采 用標(biāo)準(zhǔn)ResNet-18[33]作為所有基準(zhǔn)測(cè)試的骨干網(wǎng)絡(luò)。
由于通信成本和最終性能都是FL 的重要指標(biāo),因此與文獻(xiàn)[31]一樣,測(cè)量在規(guī)定的輪數(shù)下取得的性能以及算法達(dá)到目標(biāo)精度所需的通信量。不同方法所消耗的通信量不一樣,F(xiàn)edADC 和本文FedCNM算法完成一輪訓(xùn)練需要額外傳輸全局梯度信息,所需通信量是FedAvg 的1.5 倍。對(duì)于在最大通信輪內(nèi)無(wú)法達(dá)到目標(biāo)精度的方法,本文在通信輪上加一個(gè)加號(hào)。在本節(jié)中,以模型傳輸次數(shù)作為通信量的單位。
與文獻(xiàn)[7]一樣,通過(guò)向不同的客戶端分配不同的工作量來(lái)模擬系統(tǒng)異構(gòu)性。在本文模擬中,固定了全局?jǐn)?shù)量的epochs(遍歷其本地?cái)?shù)據(jù)集)E,并在每一輪將x個(gè)epochs(從[1,E]之間隨機(jī)均勻選擇)分別分配給選定的設(shè)備。在本文的所有實(shí)驗(yàn)中,E=10。通過(guò)在每一輪獨(dú)立于前幾輪的隨機(jī)抽樣來(lái)模擬部分參與。將CIFAR-10、CIFAR-100 數(shù)據(jù)集的批大小定為32。在客戶端訓(xùn)練中使用不加動(dòng)量的SGD 優(yōu)化器,所有方法的學(xué)習(xí)率為0.1,學(xué)習(xí)率采用指數(shù)衰減,衰減參數(shù)從{1.0,0.998,0.995}中選取,施加0.001 的權(quán)重衰減來(lái)防止過(guò)擬合。此外,還使用梯度裁剪來(lái)增加算法的穩(wěn)定性。對(duì)于服務(wù)器學(xué)習(xí)率,除了FedAdam 從{1,0.1,0.01}中選擇,其他對(duì)比方法的全局學(xué)習(xí)率設(shè)置為1。FedADC 中的α值固定為1,β值從{0.6,0.7,0.8,0.9}中選擇。FedAvgM 的β值 從{0.5,0.7,0.9}中選擇。FedCNM 中 的α值 從{0.1,0.5,0.9,0.95}中選擇。在本文中,F(xiàn)edAdam 中的β1設(shè)置為0.9,β2設(shè)置為0.99,τ值從{1,0.1,0.01,0.001}中選擇。FedProx 中的μ從{0.1,0.01,0.001}中取值。
在本節(jié)中,將研究FedCNM 在具有中等規(guī)模和大規(guī)模設(shè)備下的收斂性能。具體來(lái)說(shuō),中等規(guī)模有100 個(gè)設(shè)備,設(shè)備參與率為10%,大規(guī)模有500 個(gè)設(shè)備,設(shè)備參與率為2%,數(shù)據(jù)以Non-IID[Dirichlet(0.3)]方式進(jìn)行劃分。測(cè)試精度基于指數(shù)移動(dòng)平均,參數(shù)為0.9。
圖3 和圖4 分別提供了FedCNM 與對(duì)比方法在中等規(guī)模和大規(guī)模下收斂性能的詳細(xì)比較。首先,可以清楚地觀察到,基于動(dòng)量的算法(Fedadc、Fedavgm 和FedCNM)都能改善FedAvg 的收斂性能。FedCNM 的表現(xiàn)最優(yōu),在所有任務(wù)中都是最佳性能,部分原因是,在FedCNM 中,類似Nesterov’s Acceleration Gradien(tNAG)[34]的動(dòng)量加速使每個(gè)客戶端能夠提前查看全局更新軌跡,并找到全局梯度軌跡附近的局部最小值,從而校準(zhǔn)客戶機(jī)的更新,且提早使用全局動(dòng)量信息的方法避免了用到過(guò)時(shí)的全局梯度信息。其次,在大規(guī)模分布實(shí)驗(yàn)中可以觀察到,所有算法的整體性能都比客戶端數(shù)量適中時(shí)低。這是因?yàn)?,客戶端?xùn)練數(shù)據(jù)數(shù)量的減少加劇了客戶端漂移。從所花費(fèi)通信量方面來(lái)說(shuō),在中等規(guī)模CIFAR-10 實(shí)驗(yàn)中,標(biāo)準(zhǔn)FL 方法(FedAvg)實(shí)現(xiàn)79%的模型測(cè)試精度需要796 輪,F(xiàn)edCNM 則只需要237 輪,節(jié)約了70.22%的通信成本。從收斂圖中還可以看到,F(xiàn)edProx 的性能與FedAvg 相當(dāng),自適應(yīng)聯(lián)邦優(yōu)化的FedAdam 方法總是需要一個(gè)自適應(yīng)的過(guò)程(在圖中表現(xiàn)為需要一定輪數(shù)之后才能看到測(cè)試精度的提升),在CIFAR-100 數(shù)據(jù)集大規(guī)模分布實(shí)驗(yàn)中,F(xiàn)edAdam 的性能變得不穩(wěn)定,原因可能是極低的參與率使得FedAdam 難以收斂。
圖3 FedCNM 與對(duì)比方法在中等規(guī)模設(shè)備下的收斂曲線圖Fig.3 Convergence curves of FedCNM and comparison methods in a moderate number of clients
圖4 FedCNM 與對(duì)比方法在大規(guī)模設(shè)備下的收斂曲線圖Fig.4 Convergence curves of FedCNM and comparison methods in a large number of clients
為了評(píng)估FedCNM 在客戶機(jī)低參與率場(chǎng)景下的魯棒性,模擬50 臺(tái)設(shè)備不同參與水平的場(chǎng)景。對(duì)數(shù)據(jù)以Non-IID[Dirichlet(0.6)]方式進(jìn)行劃分。測(cè)試精度基于指數(shù)移動(dòng)平均,參數(shù)為0.9。
表2 和表3 展示了FedCNM 在不同參與水平下的性能,其中加粗?jǐn)?shù)據(jù)表示最優(yōu)值,下同。雖然由于每輪參與者有限,所有方法在最終輪時(shí)的總體精度都有所下降,但在所有基準(zhǔn)任務(wù)上,F(xiàn)edCNM 更有效地整合了來(lái)自所有設(shè)備的信息,有效地對(duì)齊了服務(wù)器和單個(gè)客戶機(jī)的梯度。當(dāng)降低參與水平時(shí),其他方法的測(cè)試精度都有明顯下降,而FedCNM 的下降幅度最小。特別是在CIFAR-10 的實(shí)驗(yàn)中,基于動(dòng)量的算法(FedADC 和FedAvgm)出現(xiàn)了性能惡化,原因可能是它們?cè)诒镜貎?yōu)化過(guò)程中用到了過(guò)時(shí)的全局梯度信息,加劇了客戶機(jī)漂移。
表2 FedCNM 與對(duì)比方法在不同參與水平下達(dá)到目標(biāo)精度所需通信量的比較(模型傳輸次數(shù))Table 2 Comparison of the traffic required by FedCNM and comparison methods to achieve target accuracy at different participation levels(number of parameters transmitted)單位:次
表3 FedCNM 與對(duì)比方法在不同參與水平下在規(guī)定的輪數(shù)取得性能的比較(測(cè)試精度)Table 3 Performance comparison of FedCNM and comparison methods in target rounds at different participation levels(test accuracy)%
在本節(jié)中,研究在不同設(shè)備分布[IID,Dirichle(t0.6),Dirichlet(0.3)]下FedCNM 和對(duì)比方法的性能。實(shí)驗(yàn)中,客戶端數(shù)量為200,客戶機(jī)參與水平為5%,測(cè)試精度基于指數(shù)移動(dòng)平均,參數(shù)為0.9,結(jié)果如表4 和表5 所示。當(dāng)數(shù)據(jù)劃分從IID 到Dirichlet 0.6 或者從Dirichlet(0.6)到Dirichlet(0.3)時(shí),數(shù)據(jù)異構(gòu)性變得更加non-IID,這使得全局優(yōu)化問(wèn)題更加困難。
表4 FedCNM 與對(duì)比方法在不同設(shè)備異構(gòu)性下達(dá)到目標(biāo)精度所需通信量的比較(模型傳輸次數(shù))Table 4 Comparison of traffic required by FedCNM and comparison methods to achieve target accuracy with different device heterogeneity(number of parameters transmitted)單位:次
表4 和表5 顯示,隨著客戶機(jī)異構(gòu)性的增加,競(jìng)爭(zhēng)方法的測(cè)試精度都有明顯下降,而對(duì)FedCNM 的影響是最小的。例如,在CIFAR-10 實(shí)驗(yàn)中數(shù)據(jù)劃分從IID 到Dirichle(t0.6)時(shí),在通信輪次達(dá)到500 輪時(shí)FedCNM 的測(cè)試精度下降了0.85%,F(xiàn)edAvg 的測(cè)試精度下降了5.07%,F(xiàn)edAdc 的測(cè)試精度下降了3.40%。這意味著,F(xiàn)edCNM 對(duì)客戶機(jī)異質(zhì)性更為魯棒。
本節(jié)通過(guò)實(shí)驗(yàn)分析FedCNM 算法中唯一與算法相關(guān)的超參數(shù)α對(duì)收斂性和性能的影響。在{0,0.3,0.5,0.9,0.95,0.99} 中 給α取值來(lái)測(cè)試FedCNM,在CIFAR-10 數(shù)據(jù)集上使用Dirichle(t0.6)劃分,100 個(gè)客戶機(jī),10%參與率設(shè)置。測(cè)試精度如表6 所示。
表6 不同α 值下FedCNM 的測(cè)試精度Table 6 Test accuracy of FedCNM under different α values
從表6 中可以發(fā)現(xiàn),F(xiàn)edCNM 在選擇的所有α下都能成功地收斂到平穩(wěn)點(diǎn)。但不同α平穩(wěn)點(diǎn)的泛化能力不同,導(dǎo)致表6 的測(cè)試精度不同。注意到α設(shè)置過(guò)小或過(guò)大都會(huì)影響FedCNM 的收斂性和泛化性。α<1 的FedCNM 始終優(yōu)于α=0 對(duì)應(yīng)的FedAvg。經(jīng)驗(yàn)上,筆者發(fā)現(xiàn)當(dāng)α設(shè)置為0.9 時(shí),性能最好,這與傳統(tǒng)的動(dòng)量算法一致。
本節(jié)研究不同本地優(yōu)化器對(duì)算法性能的影響,包括施加動(dòng)量的隨機(jī)梯度下降(SGD+M)、NAG、Adam、AMSGrad。在第3.2~3.4 節(jié)中,實(shí)驗(yàn)使用的是不施加動(dòng)量的樸素隨機(jī)梯度下降(SGD)優(yōu)化器,因此本節(jié)不報(bào)告SGD 的結(jié)果。在本節(jié)實(shí)驗(yàn)中,客戶機(jī)數(shù)量為100,客戶機(jī)參與率為10%,數(shù)據(jù)集使用CIFAR-10,客戶機(jī)的數(shù)據(jù)劃分方式為Dirichle(t0.3),所有優(yōu)化器的本地學(xué)習(xí)率為0.01,施加0.001 的權(quán)重衰減來(lái)防止過(guò)擬合,使用梯度裁剪來(lái)增加算法的穩(wěn)定性。實(shí)驗(yàn)結(jié)果如圖5 所示。
從圖5 中可以觀察到,F(xiàn)edCNM 在4 種不同本地優(yōu)化器下的性能均優(yōu)于其他對(duì)比方法,當(dāng)本地優(yōu)化器使用基于動(dòng)量的優(yōu)化器(SGD+M、NAG)時(shí),其性能會(huì)明顯優(yōu)于其他對(duì)比方法,分別提高了10.53%和10.44%的測(cè)試精度。此外,當(dāng)本地使用自適應(yīng)的優(yōu)化方法時(shí),會(huì)對(duì)自適應(yīng)的聯(lián)邦優(yōu)化方法FedAdam 產(chǎn)生影響,500 輪內(nèi)都觀察不到測(cè)試精度的提升,可能需要更多的通信輪次,F(xiàn)edAdam 才能發(fā)揮效果。
本文引入一種新的FL 方法FedCNM,該方法對(duì)AIoT 的實(shí)際場(chǎng)景具有較強(qiáng)的魯棒性,其將在服務(wù)器聚合的全局梯度信息嵌入到本地模型的更新過(guò)程中,以控制客戶機(jī)漂移。在CIFAR-10 數(shù)據(jù)集和CIFAR-100 數(shù)據(jù)集的圖像分類模型上的實(shí)驗(yàn)結(jié)果表明,所提出的FedCNM 方法在保證了總體通信量不增加的情況下,加速了模型的訓(xùn)練,收斂速度和最終測(cè)試精度優(yōu)于對(duì)比的FL 方法。FedCNM 在單輪學(xué)習(xí)中引入了額外的通信,通信問(wèn)題仍然是制約聯(lián)邦學(xué)習(xí)發(fā)展的一個(gè)挑戰(zhàn),下一步將從客戶機(jī)分組聚合出發(fā)進(jìn)行通信優(yōu)化研究,進(jìn)一步減少通信量。