蘆效峰 廖鈺盈 Pietro Lio Pan Hui
1(北京郵電大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 100876)
2(劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室 英國劍橋 CB3 0FD)
3(香港科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 香港 999077)
機(jī)器學(xué)習(xí)已經(jīng)逐步地改變我們生活、學(xué)習(xí)、工作的方式,其在語音、圖像和文本識(shí)別[1],語言翻譯等方面都取得巨大突破.谷歌、Facebook和蘋果等大型公司從用戶端收集大量訓(xùn)練數(shù)據(jù),實(shí)現(xiàn)大規(guī)模的深度學(xué)習(xí)網(wǎng)絡(luò).雖然深度學(xué)習(xí)的實(shí)用性是不可否認(rèn)的,但其使用的訓(xùn)練數(shù)據(jù)卻可能涉及嚴(yán)重的隱私問題:數(shù)百萬人的照片、視頻被集中收集,這些數(shù)據(jù)被大公司永遠(yuǎn)地保存,用戶既不能刪除這些數(shù)據(jù),也不能控制這些公司如何使用數(shù)據(jù).其次,圖像和視頻中很可能包含大量敏感信息[2],如面孔、車牌、電腦屏幕、其他人的對(duì)話等.互聯(lián)網(wǎng)巨頭壟斷這些“大數(shù)據(jù)”,獨(dú)享數(shù)據(jù)背后巨大的經(jīng)濟(jì)效益.
眾所周知,隨著訓(xùn)練數(shù)據(jù)量的增大,多樣化的增多,機(jī)器學(xué)習(xí)所訓(xùn)練的模型會(huì)變得更好.然而,在許多領(lǐng)域,尤其與醫(yī)學(xué)相關(guān)的領(lǐng)域,法律規(guī)定不允許共享與個(gè)人相關(guān)的數(shù)據(jù).自2017年6月1日《中華人民共和國網(wǎng)絡(luò)安全法》開始實(shí)施,個(gè)人信息安全被列入重點(diǎn)保護(hù)范圍,國家對(duì)隱私條款提出了明確的要求,進(jìn)一步完善了對(duì)個(gè)人信息的保護(hù).因此,相關(guān)行業(yè)的研究人員只能對(duì)屬于他們自己機(jī)構(gòu)的數(shù)據(jù)集進(jìn)行分析和挖掘.如果單個(gè)組織(如特定的醫(yī)療診所)所擁有的數(shù)據(jù)量不是非常大,并且相似度較高,多樣化不足,則在這樣的數(shù)據(jù)集上進(jìn)行機(jī)器學(xué)習(xí),研究人員最終可能得到擴(kuò)展性較差的模型,或者容易產(chǎn)生過擬合的結(jié)果.在這種情況下,數(shù)據(jù)的隱私和機(jī)密性的限制明顯影響了機(jī)器學(xué)習(xí)的效果.
另一方面,目前全球物聯(lián)網(wǎng)進(jìn)入了第3次發(fā)展浪潮.2018年全球物聯(lián)網(wǎng)連接數(shù)約為80億個(gè)[3],這些物聯(lián)網(wǎng)設(shè)備產(chǎn)生大量的數(shù)據(jù).在傳統(tǒng)云計(jì)算架構(gòu)中,這些數(shù)據(jù)需要集中傳輸?shù)皆贫诉M(jìn)行處理,這會(huì)加大網(wǎng)絡(luò)負(fù)載,造成傳輸擁堵和數(shù)據(jù)處理的延遲.因此,傳統(tǒng)云計(jì)算已經(jīng)不適用于邊緣物聯(lián)網(wǎng)設(shè)備過多的情況.于是,一種新型的計(jì)算模型應(yīng)運(yùn)而生——邊緣計(jì)算[4].邊緣計(jì)算是指在靠近物或數(shù)據(jù)源頭的一側(cè),就近提供計(jì)算、存儲(chǔ)等服務(wù).相比數(shù)據(jù)集中式的云計(jì)算模型,邊緣計(jì)算在網(wǎng)絡(luò)的邊緣處理數(shù)據(jù),這樣能夠降低網(wǎng)絡(luò)帶寬負(fù)載、減少請(qǐng)求響應(yīng)時(shí)間、提升電池續(xù)航能力的同時(shí)保證數(shù)據(jù)的安全性和私密性.
然而,面向邊緣網(wǎng)絡(luò)的聯(lián)邦學(xué)習(xí)在實(shí)現(xiàn)中面臨諸多挑戰(zhàn).首先,面向邊緣網(wǎng)絡(luò)的聯(lián)邦學(xué)習(xí)中,因?yàn)槿魏我粋€(gè)獨(dú)立的邊緣設(shè)備所擁有的數(shù)據(jù)都是有限的,所以單獨(dú)訓(xùn)練時(shí),每個(gè)參與者的學(xué)習(xí)模型都容易陷入局部最優(yōu).其次,聯(lián)邦學(xué)習(xí)中節(jié)點(diǎn)學(xué)習(xí)的梯度數(shù)據(jù)間接反映了訓(xùn)練樣本的信息,攻擊者能從有效的梯度信息反推出樣本數(shù)據(jù),需要降低梯度通信量來降低隱私泄露的可能性.
針對(duì)以上挑戰(zhàn),本文提出一種面向邊緣計(jì)算的高效異步聯(lián)邦學(xué)習(xí)機(jī)制(efficient asynchronous federated learning mechanism for edge network computing, EAFLM),可以實(shí)現(xiàn)在不共享數(shù)據(jù)的前提下對(duì)多方數(shù)據(jù)進(jìn)行學(xué)習(xí),實(shí)現(xiàn)更自由更高效的聯(lián)邦學(xué)習(xí).相比傳統(tǒng)的分布式學(xué)習(xí),EAFLM各節(jié)點(diǎn)獨(dú)立地在自己本地的數(shù)據(jù)集上進(jìn)行訓(xùn)練,在不影響準(zhǔn)確率的前提下賦予參與學(xué)習(xí)者更多的自由度和隱私保護(hù).使用其他參與者學(xué)習(xí)的模型來優(yōu)化本地學(xué)習(xí)的模型參數(shù),可以有效地幫助每個(gè)參與者逃避局部最優(yōu)并使他們能夠探索其他值,從而產(chǎn)生更準(zhǔn)確的模型.
本文探討了異步聯(lián)邦學(xué)習(xí)的不同情況,對(duì)邊緣節(jié)點(diǎn)異步聯(lián)邦學(xué)習(xí)提出了雙重權(quán)重的解決方案.異步聯(lián)邦學(xué)習(xí)旨在為邊緣學(xué)習(xí)節(jié)點(diǎn)提供更自由的學(xué)習(xí)方式,且降低高自由度帶來的精度損失.本文的主要貢獻(xiàn)有3個(gè)方面:
1) 區(qū)別于現(xiàn)有的分布式學(xué)習(xí)系統(tǒng),提出一種更適合邊緣網(wǎng)絡(luò)中離散節(jié)點(diǎn)協(xié)作學(xué)習(xí)的異步聯(lián)邦學(xué)習(xí)機(jī)制,使節(jié)點(diǎn)在不共享隱私數(shù)據(jù)的前提下從數(shù)據(jù)中進(jìn)行學(xué)習(xí).
2) 在前人工作的基礎(chǔ)上設(shè)計(jì)了一種閾值自適應(yīng)的梯度壓縮算法,在將梯度通信次數(shù)壓縮至原通信次數(shù)的8.77%時(shí),測(cè)試集上準(zhǔn)確率僅降低0.03%.
3) 為了適應(yīng)邊緣節(jié)點(diǎn)在進(jìn)行模型訓(xùn)練時(shí)間上的隨機(jī)特性,對(duì)異步聯(lián)邦學(xué)習(xí)進(jìn)行深入的探索,提出了雙重權(quán)重的方法來解決異步學(xué)習(xí)帶來的性能降低問題.
許多研究者在分布式機(jī)器學(xué)習(xí)方面做了大量工作,已經(jīng)有基于云的大規(guī)模分布式系統(tǒng)投入使用.許多系統(tǒng)支持多種數(shù)據(jù)處理方案,包括模型并行和數(shù)據(jù)并行[9-10].
常見的分布式架構(gòu)中包含數(shù)據(jù)中心,該數(shù)據(jù)中心一般以參數(shù)服務(wù)器的形式存在.參數(shù)服務(wù)器允許大量的學(xué)習(xí)節(jié)點(diǎn)在共享的全局神經(jīng)網(wǎng)絡(luò)模型上進(jìn)行協(xié)作學(xué)習(xí)[11-12].這一研究領(lǐng)域?qū)W⒂谌绾卧O(shè)計(jì)高效的服務(wù)器架構(gòu),快速處理大小為109~1012的向量.目前分布式學(xué)習(xí)的學(xué)習(xí)節(jié)點(diǎn)都是電腦等存儲(chǔ)和計(jì)算較強(qiáng)且網(wǎng)絡(luò)連接穩(wěn)定的設(shè)備,對(duì)于諸如移動(dòng)手機(jī)等性能較為波動(dòng)的設(shè)備則少有關(guān)注.
聯(lián)邦學(xué)習(xí)架構(gòu)的出現(xiàn)吸引了許多學(xué)者的關(guān)注,其中關(guān)于Non-IID數(shù)據(jù)集和數(shù)據(jù)不平衡問題[13]是其中一大研究重點(diǎn).而關(guān)于節(jié)點(diǎn)學(xué)習(xí)模式方面的研究一直都集中于同步學(xué)習(xí)算法,如McMahan等人[5]的聯(lián)邦學(xué)習(xí)平均算法采取同步訓(xùn)練的方法;聯(lián)邦學(xué)習(xí)中的隱私保護(hù)如差分隱私[8]和安全聚合[14]都需要在設(shè)備上進(jìn)行同步操作,所以本質(zhì)上還是屬于同步訓(xùn)練的范疇.此外,研究人員開始嘗試在車對(duì)車通信[15]和醫(yī)療應(yīng)用[16]等領(lǐng)域?qū)崿F(xiàn)聯(lián)邦學(xué)習(xí).
由于聯(lián)邦學(xué)習(xí)需要與大量的學(xué)習(xí)節(jié)點(diǎn)進(jìn)行梯度交互,而這些交互通信不僅帶來巨大網(wǎng)絡(luò)通信帶寬,還存在安全隱患.有研究表明,可以通過從共享的梯度數(shù)據(jù)中獲取隱私訓(xùn)練數(shù)據(jù)[17],研究者首先隨機(jī)生成一對(duì)“虛擬的”輸入和標(biāo)簽(dummy data and label),然后執(zhí)行通常的前向傳播和反向傳播.從虛擬數(shù)據(jù)導(dǎo)出虛擬梯度之后,他們沒有像傳統(tǒng)優(yōu)化那樣更新模型權(quán)重,而是更新虛擬輸入和標(biāo)簽,以最大程度地減小虛擬梯度和真實(shí)梯度之間的差異.當(dāng)攻擊結(jié)束后,私人數(shù)據(jù)便完全暴露了出來.值得注意的是,整個(gè)過程不需要訓(xùn)練數(shù)據(jù)集的任何額外信息.文中還給出一些能有效防止隱私泄露的方法,其中包括梯度量化和稀疏化.數(shù)據(jù)顯示,當(dāng)壓縮率大于20%時(shí),梯度壓縮能有效地防止樣本信息泄漏.
梯度量化和稀疏化不僅能保證樣本數(shù)據(jù)的隱私安全,還能減輕網(wǎng)絡(luò)的負(fù)載,克服分布式學(xué)習(xí)模型中的通信瓶頸[18].
梯度量化將梯度量化成低精度值以降低通信帶寬.Frank等人[19]提出1-bit SGD(stochastic gradient descent)以減少梯度傳輸數(shù)據(jù)大小,并在傳統(tǒng)語音應(yīng)用中實(shí)現(xiàn)10倍加速.Dan等人[20]提出了另一種稱為QSGD(quantized SGD)的方法,它平衡了準(zhǔn)確度和梯度精度之間的權(quán)衡.類似于QSGD,Wen等人[21]開發(fā)了使用3-level梯度的TernGrad.這2項(xiàng)工作都展示了量化訓(xùn)練的收斂性.但是TernGrad僅對(duì)CNN進(jìn)行了實(shí)驗(yàn),QSGD也僅計(jì)算了RNN損失的精度.DoReFa-Net[22]嘗試量化整個(gè)模型,包括梯度,使用1 b的權(quán)重和2 b的梯度量化.
Strom等人[23]使用閾值來實(shí)現(xiàn)梯度稀疏化——僅發(fā)送大于預(yù)先定義的恒定閾值的梯度.但是,在實(shí)踐中閾值是難以選擇的.因此,Dryden等人[24]分別選擇了固定比例的正梯度和負(fù)梯度;Aji等人[25]提出了gradient dropping,使用單一絕對(duì)值閾值對(duì)梯度進(jìn)行稀疏化.為了保持收斂速度,gradient dropping需要添加一個(gè)標(biāo)準(zhǔn)化層[26];gradient dropping可節(jié)省99%的梯度交換,同時(shí)在機(jī)器翻譯任務(wù)中僅導(dǎo)致0.3%的BLEU損失;同時(shí),Chen等人[27]提出根據(jù)局部梯度活動(dòng)自動(dòng)調(diào)整壓縮率,并在數(shù)學(xué)上進(jìn)行了證明,實(shí)現(xiàn)了對(duì)于完全連接層的200倍壓縮,卷積層的40倍壓縮,而在ImageNet數(shù)據(jù)集上降低的Top-1精度可忽略不計(jì).Chen等人[28]提出了LAG(lazily aggregated gradient),自適應(yīng)地對(duì)梯度進(jìn)行計(jì)算并跳過部分梯度通信,以減少通信帶寬并減輕服務(wù)器壓力.基本原則是檢測(cè)變化緩慢的梯度,并對(duì)這些梯度進(jìn)行壓縮.LAG很有參考價(jià)值,但對(duì)優(yōu)化的問題進(jìn)行了限制:優(yōu)化問題是凸問題且是Lipschitz平滑的.
本文提出的EAFLM中的梯度壓縮屬于梯度通信稀疏化的范疇,但與前文提到的方案不同,在本文中無需探索一個(gè)最優(yōu)的梯度閾值,因?yàn)閷ふ易顑?yōu)閾值的工作是困難的,且不同問題對(duì)應(yīng)的閾值也是不同的,限定梯度閾值也會(huì)使得異步聯(lián)邦學(xué)習(xí)框架的擴(kuò)展性降低.
如果將學(xué)習(xí)對(duì)象擴(kuò)散到邊緣節(jié)點(diǎn),同步訓(xùn)練變得難以實(shí)現(xiàn)且不切合現(xiàn)實(shí)需求.雖然也有少數(shù)學(xué)者采用了異步學(xué)習(xí)方法,但僅是將異步作為一種正則化方法[29],缺少對(duì)異步聯(lián)邦學(xué)習(xí)進(jìn)行詳細(xì)系統(tǒng)的研究,而且在大多數(shù)研究中各異步聯(lián)邦學(xué)習(xí)參與節(jié)點(diǎn)所處的學(xué)習(xí)輪數(shù)是相差無幾的,實(shí)質(zhì)上還是當(dāng)作同步聯(lián)邦學(xué)習(xí)研究的.異步聯(lián)邦學(xué)習(xí)中各節(jié)點(diǎn)學(xué)習(xí)輪數(shù)相差較大,甚至學(xué)習(xí)進(jìn)程是完全錯(cuò)開的,這跟同步聯(lián)邦學(xué)習(xí)情況是截然不同的.聯(lián)邦學(xué)習(xí)過程由并聯(lián)到串聯(lián)的轉(zhuǎn)變,不僅增加了總體學(xué)習(xí)時(shí)間,降低學(xué)習(xí)效率,還影響人工智能模型的精度,而這類型的異步聯(lián)邦學(xué)習(xí)問題目前仍缺乏關(guān)注.本文對(duì)這類型的異步聯(lián)邦學(xué)習(xí)問題進(jìn)行了研究,降低了由異步聯(lián)邦學(xué)習(xí)帶來的精度損失.
聯(lián)邦學(xué)習(xí)(federated learning)是一種新興的人工智能基礎(chǔ)技術(shù),其設(shè)計(jì)目標(biāo)是在保障終端數(shù)據(jù)和個(gè)人數(shù)據(jù)安全的前提下,在多參與方或多計(jì)算節(jié)點(diǎn)之間開展高效率的機(jī)器學(xué)習(xí).其中,聯(lián)邦學(xué)習(xí)可使用的機(jī)器學(xué)習(xí)算法不局限于神經(jīng)網(wǎng)絡(luò),還包括隨機(jī)森林等重要算法.
如圖1所示,聯(lián)邦學(xué)習(xí)機(jī)制由1個(gè)參數(shù)服務(wù)器和多個(gè)邊緣節(jié)點(diǎn)組成,參數(shù)服務(wù)器負(fù)責(zé)收集各參加節(jié)點(diǎn)上傳的梯度,根據(jù)優(yōu)化算法對(duì)模型各參數(shù)進(jìn)行更新,維護(hù)全局參數(shù);參與節(jié)點(diǎn)獨(dú)立地對(duì)本地?fù)碛械拿舾袛?shù)據(jù)集進(jìn)行學(xué)習(xí).每輪學(xué)習(xí)結(jié)束后,節(jié)點(diǎn)將計(jì)算的梯度數(shù)據(jù)上傳至參數(shù)服務(wù)器,由服務(wù)器進(jìn)行匯總更新全局參數(shù).然后節(jié)點(diǎn)從參數(shù)服務(wù)器下載更新后的參數(shù),覆蓋本地模型參數(shù),進(jìn)行下一輪迭代.整個(gè)學(xué)習(xí)過程中,節(jié)點(diǎn)只與參數(shù)服務(wù)器通信,除了共同維護(hù)的全局參數(shù)外節(jié)點(diǎn)無法獲取有關(guān)其余節(jié)點(diǎn)的任何信息,保障隱私數(shù)據(jù)的機(jī)密性.
Fig. 1 Schematic diagram of the federal learning mechanism圖1 聯(lián)邦學(xué)習(xí)機(jī)制示意圖
面向邊緣網(wǎng)絡(luò)的聯(lián)邦學(xué)習(xí)需要與多個(gè)邊緣學(xué)習(xí)節(jié)點(diǎn)進(jìn)行模型數(shù)據(jù)的交互,這帶來高昂的通信代價(jià).經(jīng)研究發(fā)現(xiàn)分布式SGD中99.9%的梯度交換是冗余的,當(dāng)參與學(xué)習(xí)的邊緣節(jié)點(diǎn)數(shù)量增多時(shí),這些冗余的梯度所需要的通信成本是不可忽視的,而且會(huì)給予參數(shù)服務(wù)器較大的通信壓力,跳過節(jié)點(diǎn)的部分通信能有助于減輕通信負(fù)荷.且在聯(lián)邦學(xué)習(xí)中,節(jié)點(diǎn)在執(zhí)行梯度通信前會(huì)停止訓(xùn)練直至獲得返回的最新參數(shù),因此,梯度壓縮還有助于減少聯(lián)邦學(xué)習(xí)的總體模型訓(xùn)練時(shí)間.
圖2所示為面向邊緣網(wǎng)絡(luò)計(jì)算的高效異步聯(lián)邦學(xué)習(xí)機(jī)制框架圖,框架分為參數(shù)服務(wù)器層和邊緣節(jié)點(diǎn)層,其中閾值自適應(yīng)模塊處于邊緣節(jié)點(diǎn)層,異步聯(lián)邦學(xué)習(xí)模塊橫跨2層.
Fig. 2 Asynchronous federated learning mechanism foredge network computing圖2 面向邊緣網(wǎng)絡(luò)計(jì)算的高效異步聯(lián)邦學(xué)習(xí)框架
閾值自適應(yīng)模塊分為自適應(yīng)閾值計(jì)算和梯度通信壓縮2個(gè)子模塊,分別負(fù)責(zé)根據(jù)最新參數(shù)變化計(jì)算閾值和使用閾值對(duì)不符合的梯度通信進(jìn)行壓縮.
由于邊緣節(jié)點(diǎn)具有高度自由性,因此強(qiáng)迫所有節(jié)點(diǎn)同時(shí)進(jìn)行訓(xùn)練變得不切實(shí)際.異步聯(lián)邦學(xué)習(xí)則分為4個(gè)子模塊:參數(shù)更新、梯度修正、雙重權(quán)重計(jì)算和節(jié)點(diǎn)學(xué)習(xí)狀態(tài)監(jiān)控.節(jié)點(diǎn)學(xué)習(xí)狀態(tài)監(jiān)控子模塊負(fù)責(zé)監(jiān)控節(jié)點(diǎn)學(xué)習(xí)狀態(tài)如學(xué)習(xí)所處的輪數(shù)與樣本數(shù)量等;雙重權(quán)重計(jì)算子模塊根據(jù)節(jié)點(diǎn)學(xué)習(xí)信息計(jì)算對(duì)應(yīng)的樣本權(quán)重和參數(shù)權(quán)重,具體計(jì)算方法在第4節(jié)進(jìn)行介紹;梯度修正子模塊將節(jié)點(diǎn)上傳的梯度根據(jù)雙重權(quán)重進(jìn)行修正;而修正完的梯度則被用于參數(shù)更新子模塊進(jìn)行全局參數(shù)更新.
閾值自適應(yīng)模塊與異步聯(lián)邦學(xué)習(xí)模塊不是相互獨(dú)立的,自適應(yīng)的閾值計(jì)算需要獲取更新后的參數(shù),并與歷史參數(shù)進(jìn)行比較.而壓縮后的梯度通信影響了節(jié)點(diǎn)學(xué)習(xí)狀態(tài),進(jìn)而影響雙重權(quán)重的計(jì)算.
梯度壓縮是指對(duì)節(jié)點(diǎn)與服務(wù)器之間的梯度通信進(jìn)行壓縮,即壓縮單個(gè)節(jié)點(diǎn)與參數(shù)服務(wù)器的通信次數(shù).在前人的工作中,無論是簡(jiǎn)單地引入通信壓縮率,還是根據(jù)固定閾值作為梯度檢查的判別條件,都存在諸多不足之處.因?yàn)椴煌瑢W(xué)習(xí)過程中梯度變化程度是不同的,簡(jiǎn)單地根據(jù)壓縮率隨機(jī)選取壓縮的節(jié)點(diǎn)容易忽略擁有較大信息量的梯度,對(duì)全局模型訓(xùn)練造成影響;而固定閾值則會(huì)對(duì)梯度通信進(jìn)行過度壓縮,在訓(xùn)練的后期造成模型波動(dòng)不易收斂的結(jié)果.
在EAFLM中,節(jié)點(diǎn)自動(dòng)適應(yīng)模型訓(xùn)練過程中每輪梯度的變化,計(jì)算出合適的閾值來對(duì)梯度通信進(jìn)行壓縮.只有符合條件的節(jié)點(diǎn)才能獲取對(duì)應(yīng)輪次的與參數(shù)服務(wù)器通信的資格,否則在本地累計(jì)梯度信息,進(jìn)行下一輪學(xué)習(xí)迭代,最終梯度會(huì)累計(jì)足夠的信息量上傳到參數(shù)服務(wù)器.無論節(jié)點(diǎn)是否獲得該輪的通信資格,在下一輪學(xué)習(xí)結(jié)束后都要進(jìn)行梯度檢查,即梯度檢查是貫穿節(jié)點(diǎn)的整個(gè)學(xué)習(xí)過程.
本文對(duì)梯度壓縮中的自檢表達(dá)式進(jìn)行研究,并在數(shù)學(xué)上進(jìn)行了推導(dǎo)驗(yàn)證.
表1對(duì)本文所涉及的符號(hào)進(jìn)行解釋:
Table 1 The Meaning of the Symbol表1 公式中符號(hào)的表示含義
(1)
“懶惰”節(jié)點(diǎn)的定義可以說是閾值自適應(yīng)梯度壓縮的關(guān)鍵部分,不同的定義不僅會(huì)導(dǎo)致被忽略的信息量的不同和算法的壓縮率,還會(huì)影響模型的準(zhǔn)確率.在本文中,“懶惰”節(jié)點(diǎn)集合ML滿足:
(2)
設(shè)更新參數(shù)的優(yōu)化算法為梯度下降算法(gradient descent),即:
(3)
其中,α是學(xué)習(xí)率.將式(3)代入式(2)可得:
(4)
(5)
若節(jié)點(diǎn)i∈ML滿足式(6),則式(2)一定能被滿足:
(6)
由于集合ML的總數(shù)無法事先獲取,所以為了簡(jiǎn)化問題,我們引入比例系數(shù)β來衡量集合ML的節(jié)點(diǎn)總數(shù),即mL=βm.整理式(6)可得:
(7)
θk-θk-1的獲取是困難的,但由于學(xué)習(xí)過程中參數(shù)變化趨于平滑,因此本文將θk-θk-1近似為
(8)
將式(8)代入式(7)可得:
(9)
式(9)為節(jié)點(diǎn)進(jìn)行梯度檢查的自檢表達(dá)式,即節(jié)點(diǎn)在1輪學(xué)習(xí)結(jié)束之后執(zhí)行自檢操作.需注意的是,不滿足式(9)則與參數(shù)服務(wù)器通信;滿足則跳過本輪通信,本地累計(jì)梯度,繼續(xù)執(zhí)行下一輪學(xué)習(xí).
相較于傳統(tǒng)聯(lián)邦學(xué)習(xí),本文的方法對(duì)網(wǎng)絡(luò)帶寬等設(shè)備配置的依賴性較小.因?yàn)閹捰绊懥斯?jié)點(diǎn)傳輸時(shí)間,較低的帶寬會(huì)導(dǎo)致節(jié)點(diǎn)每輪學(xué)習(xí)時(shí)間的增大,從而延長(zhǎng)總體學(xué)習(xí)時(shí)間,因此若要控制總體學(xué)習(xí)時(shí)間,則需對(duì)帶寬配置進(jìn)行限制.但經(jīng)梯度壓縮后的聯(lián)邦學(xué)習(xí)中梯度通信次數(shù)減少,受帶寬影響的輪數(shù)也隨之降低,因此理論上,本文的方法對(duì)帶寬等配置的需求與未壓縮的傳統(tǒng)方法來比較小,能更好地適應(yīng)帶寬有限的網(wǎng)絡(luò).
EAFLM面向的對(duì)象是高度自由的邊緣節(jié)點(diǎn),有許多因素都會(huì)引起異步學(xué)習(xí),如加入學(xué)習(xí)的時(shí)間不同、節(jié)點(diǎn)的計(jì)算力不同(相同訓(xùn)練任務(wù)所需的時(shí)間不相同)、梯度壓縮、由各種外部因素導(dǎo)致的學(xué)習(xí)中斷等.本文提出參數(shù)權(quán)重來解決異步聯(lián)邦學(xué)習(xí)問題.
異步聯(lián)邦學(xué)習(xí)中節(jié)點(diǎn)存在學(xué)習(xí)樣本不均、學(xué)習(xí)進(jìn)度各異等問題.如圖3所示,圖3中直線表示當(dāng)前時(shí)間,淺色部分表示已經(jīng)完成的學(xué)習(xí)任務(wù),深色帶底紋部分表示還未進(jìn)行的學(xué)習(xí)任務(wù).所有節(jié)點(diǎn)的學(xué)習(xí)總輪數(shù)是相同的,與時(shí)間線交差的部分表示當(dāng)前所處的迭代輪次.圖中的各個(gè)節(jié)點(diǎn)是處于學(xué)習(xí)的不同階段,如節(jié)點(diǎn)1處于學(xué)習(xí)進(jìn)程的50%,若總輪數(shù)為1 000輪,則節(jié)點(diǎn)1處于第501輪.
Fig. 3 Asynchronous federated learning圖3 異步聯(lián)邦學(xué)習(xí)
樣本數(shù)量可以一定程度上反映樣本多樣性,基于高復(fù)雜度數(shù)據(jù)訓(xùn)練的模型具有更好的擴(kuò)展性.而模型訓(xùn)練的過程可以理解為模型的“學(xué)習(xí)”的過程,一般地,隨著時(shí)間的推移,模型越接近問題的最優(yōu)解.如圖3中,這些節(jié)點(diǎn)與學(xué)習(xí)問題最優(yōu)解的距離是不同的,因此這些差異較大的的節(jié)點(diǎn)對(duì)參數(shù)服務(wù)器中的全局參數(shù)進(jìn)行平等的更新顯然是不合理的.我們引入雙重權(quán)重來解決異步學(xué)習(xí)中節(jié)點(diǎn)學(xué)習(xí)狀態(tài)不均衡的問題.
面向邊緣網(wǎng)絡(luò)計(jì)算的高效異步聯(lián)邦學(xué)習(xí)機(jī)制的權(quán)重分為2部分:樣本權(quán)重和參數(shù)權(quán)重.樣本權(quán)重是由節(jié)點(diǎn)的樣本數(shù)量與總樣本數(shù)量的占比決定,而參數(shù)權(quán)重則受梯度的目標(biāo)參數(shù)與當(dāng)前全局參數(shù)在時(shí)間上的相近程度所影響.
定義1.樣本權(quán)重.代表一個(gè)節(jié)點(diǎn)所擁有的樣本與總節(jié)點(diǎn)的樣本總數(shù)的占比大小.
n個(gè)學(xué)習(xí)節(jié)點(diǎn)的集合為N={N1,N2,…,Nn},其中每個(gè)節(jié)點(diǎn)對(duì)應(yīng)的樣本數(shù)用Di表示.節(jié)點(diǎn)i的樣本權(quán)重可由節(jié)點(diǎn)的樣本數(shù)與總樣本數(shù)求得:
(10)
定義2.參數(shù)權(quán)重.表示節(jié)點(diǎn)優(yōu)化的參數(shù)與當(dāng)前的全局參數(shù)在時(shí)間先后順序上相差的程度.
從參數(shù)服務(wù)器的角度看整個(gè)聯(lián)邦學(xué)習(xí)是一次次的參數(shù)優(yōu)化更新,不間斷地有節(jié)點(diǎn)向參數(shù)服務(wù)器提出下載最新參數(shù)的請(qǐng)求,又不停地有節(jié)點(diǎn)上傳新的梯度以更新參數(shù),簡(jiǎn)化的過程如圖4所示:
Fig. 4 Asynchronous federated learning and parameters staleness圖4 異步聯(lián)邦學(xué)習(xí)與參數(shù)陳舊度
每個(gè)節(jié)點(diǎn)在下載最新參數(shù)到上傳對(duì)應(yīng)的梯度之間的時(shí)間內(nèi)都有其他節(jié)點(diǎn)的上傳操作穿插其中.在圖4描述的參數(shù)優(yōu)化過程中梯度具有一定的陳舊性,令參數(shù)陳舊度為
μstaleness=Iupload-Idownload.
(11)
在圖4的例子中,在節(jié)點(diǎn)下載和上傳梯度的時(shí)間間隔內(nèi),其他節(jié)點(diǎn)會(huì)上傳新的梯度,參數(shù)服務(wù)器會(huì)進(jìn)行梯度的更新,參數(shù)陳舊度表示了節(jié)點(diǎn)在完成一次迭代學(xué)習(xí)中參數(shù)服務(wù)器經(jīng)過了幾輪更新,這一定程度地反映了節(jié)點(diǎn)的計(jì)算能力.為了使陳舊度越大的節(jié)點(diǎn)其參數(shù)權(quán)重越小,且衰減的過程相對(duì)平緩,本文選擇底數(shù)小于1的指數(shù)函數(shù)作為參數(shù)權(quán)重的衰減函數(shù):
(12)
雙重權(quán)重修正為
(13)
其中,θ是原始模型參數(shù),θ′是修正后的模型參數(shù).
在異步學(xué)習(xí)過程中,邊緣節(jié)點(diǎn)提交的梯度在參數(shù)服務(wù)器上要經(jīng)過雙重權(quán)重的修正才能參與全局模型優(yōu)化.修正后的梯度根據(jù)具體的優(yōu)化算法更新全局參數(shù),優(yōu)化結(jié)束后,節(jié)點(diǎn)獲得最新的參數(shù)并將其覆蓋本地參數(shù),進(jìn)行下一輪迭代學(xué)習(xí).
異步聯(lián)邦學(xué)習(xí)對(duì)于網(wǎng)絡(luò)性能的波動(dòng)也具有很好的適應(yīng)性,當(dāng)某個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)質(zhì)量變差時(shí),勢(shì)必會(huì)影響節(jié)點(diǎn)學(xué)習(xí)的進(jìn)程,造成各個(gè)節(jié)點(diǎn)學(xué)習(xí)進(jìn)度各異.相較于傳統(tǒng)聯(lián)邦學(xué)習(xí),基于雙重權(quán)重修正的異步聯(lián)邦學(xué)習(xí)對(duì)這些進(jìn)度各異的節(jié)點(diǎn)貢獻(xiàn)的梯度根據(jù)其學(xué)習(xí)程度進(jìn)行修正,減小如網(wǎng)絡(luò)性能波動(dòng)造成的學(xué)習(xí)精度的影響,對(duì)性能不穩(wěn)定的網(wǎng)絡(luò)具有一定的魯棒性.
為了模擬實(shí)際場(chǎng)景,我們搭建如下實(shí)驗(yàn)環(huán)境:計(jì)算力較強(qiáng)的GPU服務(wù)器作為參數(shù)服務(wù)器,負(fù)責(zé)大部分計(jì)算工作;其余多臺(tái)電腦模擬邊緣網(wǎng)絡(luò)中的單個(gè)學(xué)習(xí)節(jié)點(diǎn),各自獨(dú)立地進(jìn)行聯(lián)邦學(xué)習(xí),帶寬為1 Mbps.參數(shù)服務(wù)器與節(jié)點(diǎn)之間的通信使用Thrift框架.每臺(tái)電腦本地存放部分?jǐn)?shù)據(jù)(在我們模擬的實(shí)驗(yàn)中,每個(gè)節(jié)點(diǎn)的數(shù)據(jù)占總數(shù)據(jù)量的0.2%),獨(dú)自根據(jù)本地?cái)?shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型.本文研究的對(duì)象是多個(gè)邊緣設(shè)備節(jié)點(diǎn),這些節(jié)點(diǎn)的計(jì)算力各不相同,通過加入停頓間隔時(shí)間來模擬這些算力不同的設(shè)備.為了更好地模擬實(shí)驗(yàn)場(chǎng)景,這些電腦上的聯(lián)邦學(xué)習(xí)都由一臺(tái)獨(dú)立的電腦統(tǒng)一控制.
實(shí)驗(yàn)環(huán)境如圖5所示,其中Order表示m個(gè)節(jié)點(diǎn)啟動(dòng)順序,Interval表示節(jié)點(diǎn)從相鄰2輪學(xué)習(xí)間隔停頓的時(shí)間.在初始化階段,管理節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)總數(shù)生成亂序序列Order(如圖5中的{4,1,6,9,…,5}),并對(duì)應(yīng)生成隨機(jī)序列Interval(如圖5中的{16.20,46.46,62.97,325.62,…,24.048}(s)).初始結(jié)束后,管理節(jié)點(diǎn)根據(jù)Order:Interval序列對(duì)啟動(dòng)對(duì)應(yīng)節(jié)點(diǎn).
Fig. 5 Experiment configurations圖5 實(shí)驗(yàn)配置
實(shí)驗(yàn)部分采用的評(píng)價(jià)指標(biāo)為準(zhǔn)確率(accuracy,Acc),壓縮率(compression ratio,CR)和壓縮平衡指數(shù)(compression balance index,CBI),其中準(zhǔn)確率Acc是指Top-1 Accuracy.
壓縮率CR反映梯度壓縮的壓縮程度,壓縮率越小,壓縮程度越高.
(14)
一般地,壓縮率的減小會(huì)導(dǎo)致準(zhǔn)確率的逐漸降低.如何在2個(gè)指標(biāo)中權(quán)衡,做出最佳決策成為難題.因此本文引入壓縮平衡指數(shù)CBI,表示梯度壓縮綜合效果,
CBI=α1×Acc+α2×(1-CR),
(15)
其中,α1,α2是用于衡量Acc和CR重要性的2個(gè)可調(diào)節(jié)參數(shù),α1+α2=1,α1>0,α2>0.若在現(xiàn)實(shí)情況中,Acc優(yōu)先級(jí)高于CR,則可設(shè)置α1>α2;反之,則α1<α2;若兩者優(yōu)先級(jí)相同,則α1=α2.CBI值越高表示梯度壓縮綜合效果越好.
我們?cè)贛NIST數(shù)據(jù)集上評(píng)估EAFLM的梯度壓縮性能,MNIST數(shù)據(jù)集是一個(gè)手寫體數(shù)據(jù)集,共有6萬個(gè)訓(xùn)練樣本和1萬個(gè)測(cè)試樣本.本文對(duì)格式為32×32的圖像進(jìn)行歸一化,使得數(shù)字位于圖像的中心.
在這部分實(shí)驗(yàn)中共有3個(gè)學(xué)習(xí)節(jié)點(diǎn),節(jié)點(diǎn)訓(xùn)練的模型結(jié)構(gòu)參考了Tensorflow官網(wǎng)中的Tutorial,我們未對(duì)模型結(jié)構(gòu)進(jìn)行調(diào)整.模型結(jié)構(gòu)為3層MLP模型,每層的神經(jīng)元個(gè)數(shù)分別為256,256,10.本次實(shí)驗(yàn)將數(shù)據(jù)集平均分為3份,學(xué)習(xí)節(jié)點(diǎn)隨機(jī)獲得其中的1份.在每次實(shí)驗(yàn)中,節(jié)點(diǎn)都會(huì)重新獲取新的數(shù)據(jù).我們對(duì)不同參數(shù)β分別進(jìn)行實(shí)驗(yàn),并對(duì)最終結(jié)果求平均值.
補(bǔ)充說明:本文的研究重點(diǎn)是聯(lián)邦學(xué)習(xí)框架中的通信,未對(duì)模型結(jié)構(gòu)和優(yōu)化算法進(jìn)行過多研究,因此本文實(shí)驗(yàn)中出現(xiàn)的過擬合等問題其背后的原因及解決方案不屬于本文研究范圍.同樣地,準(zhǔn)確率等實(shí)驗(yàn)指標(biāo)僅是為了對(duì)比各方法的性能,不對(duì)模型的優(yōu)劣進(jìn)行評(píng)估.且由于不同方法的對(duì)比實(shí)驗(yàn)采用相同的配置,實(shí)驗(yàn)中的指標(biāo)仍具有可用于比較的價(jià)值.EAFLM不對(duì)學(xué)習(xí)模型進(jìn)行限制,因此在現(xiàn)實(shí)運(yùn)用中使用者可以根據(jù)實(shí)際學(xué)習(xí)問題對(duì)模型結(jié)構(gòu)和實(shí)驗(yàn)參數(shù)進(jìn)行調(diào)整.
5.3.1 梯度壓縮實(shí)驗(yàn)分析——壓縮率及準(zhǔn)確率
表2表示不同β取值對(duì)壓縮率及準(zhǔn)確率的影響.從整體上來看,隨著β值的減小,壓縮率也逐漸減小,即壓縮程度增大.而隨著梯度通信逐漸被壓縮,準(zhǔn)確率也隨之降低.從表2中也可看出數(shù)據(jù)存在一定的波動(dòng),這是由于不同對(duì)比組的實(shí)驗(yàn)設(shè)置(如樣本序號(hào)和初始模型參數(shù))的不同導(dǎo)致模型訓(xùn)練結(jié)果存在個(gè)體差異,且實(shí)驗(yàn)?zāi)P蛥?shù)初始值不同也是造成數(shù)據(jù)小范圍抖動(dòng)的原因之一.但明顯地,在β∈[0.1,0.2]區(qū)間時(shí),壓縮率存在明顯的上升,而在β∈[0.2,1]區(qū)間內(nèi),壓縮率上升幅度較小,因此在圖8中,我們著重展示的是β∈[0.1,0.2]區(qū)間.
Table 2 Compression and Accuracy Under Different β表2 不同β值下的壓縮率及準(zhǔn)確率
圖6為10組不同超參數(shù)(樣本序號(hào)和停頓間隔時(shí)間)下對(duì)比實(shí)驗(yàn)的結(jié)果,圖6(a)淺色細(xì)線條和圖6(b)淺色細(xì)線條分別為10次實(shí)驗(yàn)中在測(cè)試集和訓(xùn)練集上的具體數(shù)據(jù)波動(dòng),對(duì)應(yīng)的圖6(a)深色加粗線條和圖6(b)深色加粗線條為測(cè)試集和訓(xùn)練集10次實(shí)驗(yàn)的平均數(shù)據(jù).
Fig. 6 Different β values and model accuracy on data sets圖6 梯度壓縮中不同β取值在數(shù)據(jù)集上的準(zhǔn)確率
在圖6中,10組實(shí)驗(yàn)數(shù)據(jù)雖然在個(gè)體上存在波動(dòng),但總體上呈現(xiàn)出隨著壓縮率的增大,準(zhǔn)確率隨之上升,這也可從對(duì)應(yīng)的深色加粗線條看出.有趣的是,圖6(a)中可看出,在β∈[0.14,1]區(qū)間內(nèi)(對(duì)應(yīng)圖6(b)的區(qū)間則為β∈[0.13,1]),梯度壓縮對(duì)準(zhǔn)確率的影響不大,且出現(xiàn)了波動(dòng),這是因?yàn)樗x的學(xué)習(xí)模型已達(dá)到最大的學(xué)習(xí)效果.明顯地,冗余梯度通信對(duì)達(dá)到飽和學(xué)習(xí)的模型的增益較小,梯度壓縮有助于提高聯(lián)邦學(xué)習(xí)的性能.在圖7中,隨著β的增大,梯度通信次數(shù)在不斷增大,壓縮率也隨之增大.
Fig. 7 Different β and communications times圖7 梯度壓縮中不同β取值對(duì)通信次數(shù)的影響
5.3.2 梯度壓縮實(shí)驗(yàn)分析——壓縮平衡指數(shù)
為了選擇最佳β值,本文對(duì)β∈[0.1,0.2]區(qū)間中的實(shí)驗(yàn)數(shù)據(jù)計(jì)算CBI值,計(jì)算結(jié)果如圖8所示.結(jié)合圖8可以發(fā)現(xiàn)本文實(shí)驗(yàn)中最佳β值為0.1.
Fig. 8 CBI of different β values in gradient compression圖8 梯度壓縮中不同β取值下的CBI值
我們對(duì)Chen等人[28]的工作(LAG)做了對(duì)比實(shí)驗(yàn),表3從準(zhǔn)確率、壓縮率、壓縮平衡指數(shù)3個(gè)方面展示了EAFLM中閾值自適應(yīng)梯度壓縮算法與LAG算法的性能比較.從表3可看出LAG的壓縮率比β=0.1和β=0.11 EAFLM的壓縮率低,壓縮程度較高.但無論是在訓(xùn)練集還是測(cè)試集上,準(zhǔn)確率都比EAFLM低.為了進(jìn)一步比較兩者性能,我們?nèi)?組不同的a1,a2組合計(jì)算CBI.從表3可看出,除了在a1=0.4,a2=0.6時(shí),LAG的CBI比β=0.11 EAFLM高,其余兩者情況下,EAFLM性能都高于LAG,β=0.1的EAFLM更是3種情況下都優(yōu)于LAG.且在EAFLM中,根據(jù)不同的實(shí)際需求調(diào)節(jié)β的取值,以達(dá)到最佳的壓縮程度.
Table 3 Performance Comparison Between Different β Values of EAFLM and LAG表3 不同β值下的EAFLM與LAG的性能對(duì)比
為了使異步學(xué)習(xí)實(shí)驗(yàn)效果更加顯著,異步學(xué)習(xí)這部分的實(shí)驗(yàn)數(shù)據(jù)采用Cifar10數(shù)據(jù)集,CIFAR-10數(shù)據(jù)集由10個(gè)類的60 000個(gè)32×32彩色圖像組成,每個(gè)類有6 000個(gè)圖像.有50 000個(gè)訓(xùn)練圖像和10 000個(gè)測(cè)試圖像.我們將訓(xùn)練集平均分為500份,每次實(shí)驗(yàn)開始前,節(jié)點(diǎn)隨機(jī)從中挑選一份數(shù)據(jù)進(jìn)行訓(xùn)練為了模擬異步聯(lián)邦學(xué)習(xí),學(xué)習(xí)節(jié)點(diǎn)的數(shù)量增加到10個(gè).除此之外,本實(shí)驗(yàn)在圖5的基礎(chǔ)上增加停頓時(shí)間,即每個(gè)節(jié)點(diǎn)在1輪訓(xùn)練結(jié)束后停頓一段時(shí)間.停頓時(shí)間序列由管理節(jié)點(diǎn)生成.同樣地,本次實(shí)驗(yàn)采用了Tensor-flow官網(wǎng)Tutorial中的卷積網(wǎng)絡(luò)代碼,模型結(jié)構(gòu)為5層卷積網(wǎng)絡(luò)模型.由于異步聯(lián)邦學(xué)習(xí)對(duì)象是高自由度的邊緣設(shè)備,這些節(jié)點(diǎn)無法像服務(wù)器等設(shè)備一樣穩(wěn)定、長(zhǎng)時(shí)間地訓(xùn)練網(wǎng)絡(luò)模型.因此為了模擬這種情況,我們將訓(xùn)練輪數(shù)設(shè)置為500輪.學(xué)習(xí)輪數(shù)的減小使得實(shí)驗(yàn)中總體的準(zhǔn)確率都不高,這可以通過調(diào)參等方法來提高準(zhǔn)確率,這里不予過多討論.實(shí)驗(yàn)中設(shè)置的超參數(shù)數(shù)值僅供參考,實(shí)際運(yùn)用中仍需根據(jù)具體問題進(jìn)行設(shè)置調(diào)整.
我們分別隨機(jī)選取5組不同的超參數(shù)組(子樣本集序號(hào)、停頓時(shí)間)進(jìn)行3個(gè)對(duì)比實(shí)驗(yàn),分別是節(jié)點(diǎn)訓(xùn)練中無停頓(對(duì)應(yīng)表4中的Synchronous)、節(jié)點(diǎn)訓(xùn)練中有停頓(Asynchronous)和在雙重權(quán)重下的訓(xùn)練中有停頓(EAFLM).在我們查閱的文獻(xiàn)范圍內(nèi),沒有發(fā)現(xiàn)其他學(xué)者針對(duì)異步聯(lián)邦學(xué)習(xí)進(jìn)行算法上的改進(jìn),因此本文無法與更多方法進(jìn)行對(duì)比實(shí)驗(yàn).
表4為3種算法在訓(xùn)練集和測(cè)試集中的5組不同超參數(shù)組合實(shí)驗(yàn)的平均準(zhǔn)確率.從表4可看出異步學(xué)習(xí)比同步學(xué)習(xí)具有較好的性能,這可以理解為異步類似于一項(xiàng)正則化處理,能一定程度防止學(xué)習(xí)的過擬合.在訓(xùn)練集上,對(duì)比同步聯(lián)邦學(xué)習(xí)和異步聯(lián)邦學(xué)習(xí),EAFLM機(jī)制實(shí)現(xiàn)了5.1%和4%的準(zhǔn)確率提升;而在測(cè)試集上,EAFLM的準(zhǔn)確率分別提升了0.36%和0.15%.
Table 4 Asynchronous Experiment Performance on Data Sets表4 異步實(shí)驗(yàn)在數(shù)據(jù)集上的準(zhǔn)確率
綜合實(shí)驗(yàn)部分仍然采用與異步聯(lián)邦學(xué)習(xí)部分相同的實(shí)驗(yàn)配置,我們選取了5種不同β值下的EAFLM與異步聯(lián)邦學(xué)習(xí)進(jìn)行對(duì)比實(shí)驗(yàn),其中異步聯(lián)邦學(xué)習(xí)是無梯度壓縮和權(quán)重修正.表5從準(zhǔn)確率、壓縮率、壓縮平衡指數(shù)3個(gè)方面展示了EAFLM與異步學(xué)習(xí)算法的綜合性能比較.從表5可以看出,當(dāng)β=0.5時(shí),在準(zhǔn)確率方面,異步聯(lián)邦學(xué)習(xí)與EAFLM基本相當(dāng),但異步聯(lián)邦學(xué)習(xí)在壓縮和綜合性能方面都比EAFLM差.在壓縮率方面,β∈[0.2,0.5]下的EAFLM都相差不大,但EAFLM在β=0.1時(shí),CR=75.1%,即相對(duì)于異步聯(lián)邦學(xué)習(xí)算法來說,EAFLM進(jìn)一步節(jié)省了24.9%的通信成本,但在訓(xùn)練集和測(cè)試集上的準(zhǔn)確率僅降低10.5%和3%.在3組不同的a1,a2組合計(jì)算的CBI中,不同β取值下的EAFLM都比異步聯(lián)邦學(xué)習(xí)高,因此,本次實(shí)驗(yàn)結(jié)果顯示EAFLM的綜合性能比異步聯(lián)邦學(xué)習(xí)有所提高,其中β=0.1時(shí),EAFLM的綜合性能達(dá)到最優(yōu).
Table 5 Performance Comparison Between Different β Values of Comprehensive EAFLM and Asynchronous Federated Learning表5 不同β值下的綜合EAFLM與異步學(xué)習(xí)的性能對(duì)比
本文提出一種面向邊緣網(wǎng)絡(luò)計(jì)算的高效異步聯(lián)邦學(xué)習(xí)機(jī)制(EAFLM)可以滿足在不共享隱私數(shù)據(jù)的前提下對(duì)多方數(shù)據(jù)進(jìn)行學(xué)習(xí)的這個(gè)現(xiàn)實(shí)需求,以實(shí)現(xiàn)更自由高效的聯(lián)邦學(xué)習(xí).EAFLM在不影響準(zhǔn)確率的情況下賦予參與學(xué)習(xí)者更多的自由度和隱私保護(hù).參與者在本地對(duì)擁有的數(shù)據(jù)集進(jìn)行學(xué)習(xí),在1輪訓(xùn)練之后,參與者根據(jù)自檢條件來檢查本輪是否滿足與參數(shù)服務(wù)器通信的條件,若滿足則將梯度上傳至參數(shù)服務(wù)器.所有節(jié)點(diǎn)都是異步地執(zhí)行以上步驟,不用等待其余節(jié)點(diǎn),也無須同步學(xué)習(xí)輪次.整個(gè)學(xué)習(xí)過程中,節(jié)點(diǎn)只與參數(shù)服務(wù)器通信,除了共同維護(hù)的全局參數(shù)外節(jié)點(diǎn)無法獲取有關(guān)其余節(jié)點(diǎn)的任何信息.
本文從閾值自適應(yīng)梯度壓縮和異步學(xué)習(xí)2大方面對(duì)EAFLM進(jìn)行闡述,并進(jìn)行相關(guān)實(shí)驗(yàn).我們提出的閾值自適應(yīng)梯度壓縮算法,可以自適應(yīng)模型訓(xùn)練過程中每輪梯度的變化,計(jì)算出合適的閾值來對(duì)梯度通信進(jìn)行壓縮.由于梯度數(shù)據(jù)間接反映了節(jié)點(diǎn)樣本信息,攻擊者能從有效的梯度信息反推出樣本數(shù)據(jù),減少梯度通信能有效地降低隱私泄露的可能性.測(cè)試集上,本文實(shí)現(xiàn)了將梯度通信壓縮至原通信次數(shù)的8.77%時(shí),準(zhǔn)確率僅降低0.03%.
在異步聯(lián)邦學(xué)習(xí)中,節(jié)點(diǎn)存在學(xué)習(xí)樣本不均、學(xué)習(xí)進(jìn)度各異等問題.這些差異較大的節(jié)點(diǎn)對(duì)參數(shù)服務(wù)器中的全局參數(shù)進(jìn)行平等的更新顯然是不合理的,因此我們引入雙重權(quán)重來解決異步學(xué)習(xí)中節(jié)點(diǎn)學(xué)習(xí)狀態(tài)不均衡的問題.實(shí)驗(yàn)表示在訓(xùn)練集上,對(duì)比同步聯(lián)邦學(xué)習(xí)和異步聯(lián)邦學(xué)習(xí),EAFLM機(jī)制實(shí)現(xiàn)了5.1%和4%的準(zhǔn)確率提升;而在測(cè)試集上,EAFLM的準(zhǔn)確率分別提升了0.36%和0.15%.
我們的工作也存在不足之處,在閾值自適應(yīng)梯度壓縮中,執(zhí)行梯度檢查是犧牲單個(gè)節(jié)點(diǎn)本地計(jì)算時(shí)間來減少全局通信時(shí)間的典型例子.在眾多神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中,學(xué)習(xí)迭代的輪數(shù)都是較大,輪數(shù)上萬也并不少見,因此每輪結(jié)束都對(duì)梯度進(jìn)行檢查帶來的計(jì)算時(shí)間無疑也是不容忽視的.為了緩解本地計(jì)算量,我們可以在上文描述的梯度壓縮的基礎(chǔ)上增加一個(gè)“免檢”機(jī)制,這有助于減輕梯度檢查帶來的計(jì)算工作.在未來的工作中,我們將進(jìn)一步對(duì)“免檢”機(jī)制進(jìn)行研究.