鐘正儀 包衛(wèi)東 王 吉 吳冠霖,2 趙 翔
1(國(guó)防科技大學(xué)大數(shù)據(jù)與決策實(shí)驗(yàn)室 長(zhǎng)沙 410003) 2(軍事科學(xué)院 北京 100089)
傳統(tǒng)的云計(jì)算模式下,云計(jì)算中心部署了大量穩(wěn)定的高性能計(jì)算設(shè)備,移動(dòng)手機(jī)等終端需要將收集到的數(shù)據(jù)傳輸?shù)皆七M(jìn)行計(jì)算,最終得到由云反饋的結(jié)果.然而,隨著人工智能、物聯(lián)網(wǎng)等新興技術(shù)的發(fā)展,終端的數(shù)據(jù)呈海量爆發(fā)式增長(zhǎng),為云、端之間的通信鏈路造成不可負(fù)擔(dān)的傳輸壓力;同時(shí),對(duì)于無(wú)人駕駛等需要實(shí)時(shí)反饋的計(jì)算任務(wù),遙遠(yuǎn)傳輸距離帶來(lái)的時(shí)延將會(huì)帶來(lái)不可估量的損失.由于終端設(shè)備體積、資源的可得性等限制,難以獨(dú)自完成復(fù)雜任務(wù)的計(jì)算,基于此,將云算力下沉、終端算力上移匯聚為邊緣算力成為解決上述問(wèn)題的一種理想方式[1].在云邊端框架下,原本全部部署在云的模型,分層部署到了云、邊、端,使得簡(jiǎn)單任務(wù)能夠在邊緣甚至終端層級(jí)就能完成,這大大減少了計(jì)算時(shí)延、緩解了通信壓力.對(duì)于上述分層智能模型而言,一個(gè)重要特征就是要具備演化能力,然而模型的演化往往基于大量數(shù)據(jù),因此對(duì)于云端和邊緣模型的演化,需要上傳大量的終端數(shù)據(jù),直接導(dǎo)致終端用戶的隱私泄露.
為了保護(hù)用戶隱私、最大化將數(shù)據(jù)控制在用戶終端層面,近年來(lái),聯(lián)邦學(xué)習(xí)(federated learning, FL)成為了一種熱門的面向隱私安全的分布式計(jì)算方法.在聯(lián)邦學(xué)習(xí)方法下,假設(shè)同一個(gè)服務(wù)器下各個(gè)客戶端的模型架構(gòu)相同,各客戶端僅需利用本地?cái)?shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,用訓(xùn)練后的模型參數(shù)取代數(shù)據(jù)上傳到服務(wù)器進(jìn)行聚合,即可以得到一個(gè)全局統(tǒng)一的模型,實(shí)現(xiàn)多節(jié)點(diǎn)的信息融合.因此,本文考慮在云邊端分層框架下引入聯(lián)邦學(xué)習(xí)方法實(shí)現(xiàn)該框架下各個(gè)節(jié)點(diǎn)智能模型的演化更新.然而,傳統(tǒng)聯(lián)邦學(xué)習(xí)存在嚴(yán)格的限制:1)客戶端資源無(wú)差異,各個(gè)客戶端都具備訓(xùn)練同樣復(fù)雜度模型的能力;2)模型全部部署在客戶端,為單層的聯(lián)邦學(xué)習(xí);3)客戶端有大量的標(biāo)簽數(shù)據(jù)供本地模型訓(xùn)練.這些限制直接制約了聯(lián)邦學(xué)習(xí)在云邊端分層框架的應(yīng)用:在云邊端框架下,一方面,各計(jì)算節(jié)點(diǎn)由于所處環(huán)境、硬件參數(shù)不同,在計(jì)算、存儲(chǔ)、通信等資源上存在較大差異;另一方面,在模型分層部署的情況下,單層的聯(lián)邦學(xué)習(xí)不足以滿足所有節(jié)點(diǎn)模型演化的需求;此外,客戶端由于人力成本等因素,存在大量無(wú)標(biāo)記數(shù)據(jù).
特別地,針對(duì)上述聯(lián)邦學(xué)習(xí)的異構(gòu)問(wèn)題,Li等人[2]通過(guò)在本地?fù)p失函數(shù)中加入正則項(xiàng)的方式,有效避免了本地訓(xùn)練模型的過(guò)擬合,一度成為異構(gòu)聯(lián)邦學(xué)習(xí)領(lǐng)域經(jīng)典的學(xué)習(xí)方法;Diao等人[3]能夠在不改變模型層數(shù)的情況下,橫向降低模型寬度從而實(shí)現(xiàn)異構(gòu)聯(lián)邦學(xué)習(xí).但上述訓(xùn)練方法只能得到全局統(tǒng)一的單出口模型,難以滿足云邊端的模型分層部署要求.
因此,本文面向云邊端框架下分層聯(lián)邦學(xué)習(xí)、終端資源異構(gòu)和大量無(wú)標(biāo)簽數(shù)據(jù)3個(gè)問(wèn)題,提出一種面向云邊端的分層異構(gòu)聯(lián)邦學(xué)習(xí)方法,將多分支模型分層部署到云、邊、端各層級(jí),每一層對(duì)應(yīng)一個(gè)或多個(gè)出口,用于實(shí)現(xiàn)快速推理.在智能模型的訓(xùn)練階段,采用邊緣和云2個(gè)級(jí)別的雙層聯(lián)邦學(xué)習(xí),促進(jìn)各個(gè)節(jié)點(diǎn)的協(xié)同訓(xùn)練;在邊緣層的聯(lián)邦訓(xùn)練中,考慮到終端的資源異構(gòu)情況,為終端定制個(gè)性化模型,提高其訓(xùn)練參與度;同時(shí),針對(duì)終端存在大量無(wú)標(biāo)簽數(shù)據(jù)問(wèn)題,設(shè)計(jì)半監(jiān)督學(xué)習(xí)方法,有效整合無(wú)標(biāo)記數(shù)據(jù)特征,最終實(shí)現(xiàn)云邊端系統(tǒng)在水平和垂直方向上多個(gè)異構(gòu)節(jié)點(diǎn)的信息融合.
本文的主要貢獻(xiàn)有3個(gè)方面:
1) 提出了新的異構(gòu)聯(lián)邦學(xué)習(xí)方法.該方法從多分支模型出發(fā),將全局統(tǒng)一模型拆分為適配不同客戶端資源的子模型序列,提高了客戶端參與度和資源利用效率.
2) 創(chuàng)新了上述異構(gòu)聯(lián)邦學(xué)習(xí)方法下的半監(jiān)督學(xué)習(xí)方法.以服務(wù)器少量標(biāo)簽數(shù)據(jù)訓(xùn)練的模型為依托,對(duì)客戶端無(wú)標(biāo)簽數(shù)據(jù)進(jìn)行標(biāo)記并訓(xùn)練,使得最終模型能夠有效整合無(wú)標(biāo)簽數(shù)據(jù)特征.
3) 將聯(lián)邦學(xué)習(xí)應(yīng)用于模型分層部署的云邊端系統(tǒng).打破了傳統(tǒng)的單層聯(lián)邦學(xué)習(xí)限制,為云邊端系統(tǒng)開(kāi)展分布式計(jì)算提供了新思路.
聯(lián)邦學(xué)習(xí)最初于2017年由Google公司提出[4].在該框架下,服務(wù)器將全局統(tǒng)一的模型分發(fā)到各個(gè)客戶端進(jìn)行本地訓(xùn)練,待訓(xùn)練結(jié)束后上傳模型參數(shù)到服務(wù)器聚合得到全局模型,從而實(shí)現(xiàn)多節(jié)點(diǎn)的協(xié)同訓(xùn)練.因?yàn)槁?lián)邦學(xué)習(xí)能夠?qū)⒂脩魯?shù)據(jù)保留在本地進(jìn)行模型的更新訓(xùn)練,極大地保護(hù)了用戶隱私安全,近年來(lái)受到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注[5].當(dāng)前,在學(xué)術(shù)界,主要針對(duì)聯(lián)邦學(xué)習(xí)4個(gè)關(guān)鍵性問(wèn)題展開(kāi)研究:通信效率、隱私安全、統(tǒng)計(jì)異構(gòu)和系統(tǒng)異構(gòu).針對(duì)通信效率問(wèn)題,盡管聯(lián)邦學(xué)習(xí)利用上傳模型參數(shù)代替了原始數(shù)據(jù),但是對(duì)于手機(jī)等帶寬十分有限的移動(dòng)設(shè)備,如何對(duì)模型進(jìn)行壓縮提高通信效率仍然是一個(gè)亟待解決的問(wèn)題,當(dāng)前主要采取的方式有提高客戶端更新次數(shù)[6]、選擇部分客戶端參與迭代[7]以及模型壓縮[8].針對(duì)隱私安全問(wèn)題,保護(hù)隱私是聯(lián)邦學(xué)習(xí)提出的首要?jiǎng)右?,目前有學(xué)者將其與差分隱私[9]、安全聚合[10]等技術(shù)結(jié)合,進(jìn)一步加強(qiáng)了聯(lián)邦學(xué)習(xí)的隱私保護(hù)能力.在工業(yè)界,聯(lián)邦學(xué)習(xí)除了被Google采納,Apple公司還將其應(yīng)用到iOS 13中快捷鍵盤和“Hey Siri”[11]的語(yǔ)音分類器等應(yīng)用程序;在金融領(lǐng)域,微眾銀行將其應(yīng)用于洗錢檢測(cè)[12];在醫(yī)學(xué)領(lǐng)域,其還可被用于新型肺炎患者氧氣需求預(yù)測(cè)[13]和醫(yī)學(xué)圖像[14]分析等.針對(duì)統(tǒng)計(jì)異構(gòu)問(wèn)題,由于現(xiàn)實(shí)場(chǎng)景下客戶端之間的數(shù)據(jù)往往來(lái)源于不同分布,因而呈現(xiàn)出客戶端傾斜現(xiàn)象,削弱了本地更新的效果[5].針對(duì)系統(tǒng)異構(gòu)問(wèn)題,由于客戶端裝配的設(shè)備面臨的環(huán)境不同,可能導(dǎo)致客戶端之間資源水平差距明顯,能夠訓(xùn)練的模型復(fù)雜度上限不同,需要針對(duì)客戶端情況定制個(gè)性化模型[3].文獻(xiàn)[3]通過(guò)降低隱藏層寬度的方法構(gòu)建了適配于不同設(shè)備的不同復(fù)雜度的模型,文獻(xiàn)[15]提出了一種能根據(jù)資源狀況對(duì)客戶端進(jìn)行管理的聯(lián)邦學(xué)習(xí)協(xié)議.一些學(xué)者還提出了異步聯(lián)邦學(xué)習(xí)的方法[16-17].本文主要著眼于云邊端聯(lián)邦學(xué)習(xí)中系統(tǒng)異構(gòu)問(wèn)題展開(kāi)研究.由于文獻(xiàn)[3,5-10,15-17]得到的模型為全局統(tǒng)一的單出口模型,難以在云邊端框架下分層部署,且主要針對(duì)卷積神經(jīng)網(wǎng)絡(luò)模型,使用范圍有限,因此,本文擬設(shè)計(jì)一套可適用于多種類模型的、同時(shí)易于分層部署的異構(gòu)學(xué)習(xí)方案.
此外,針對(duì)云邊端分層聯(lián)邦學(xué)習(xí)的研究,文獻(xiàn)[18]將聯(lián)邦學(xué)習(xí)應(yīng)用到云邊端多層級(jí)分布式計(jì)算當(dāng)中,實(shí)驗(yàn)證明分層的聯(lián)邦學(xué)習(xí)不僅可以達(dá)到較高的準(zhǔn)確率,而且能加快收斂速度.但是,文獻(xiàn)[18]中僅將模型全部部署在終端,未對(duì)模型在云邊端分層部署的聯(lián)邦學(xué)習(xí)方法展開(kāi)研究.據(jù)我們所知,當(dāng)前,對(duì)聯(lián)邦學(xué)習(xí)的研究主要集中在單層聯(lián)邦、基于終端有標(biāo)簽數(shù)據(jù),面向云邊端系統(tǒng)的雙層聯(lián)邦研究仍然較少.因此,本文面向模型分層部署的云邊端系統(tǒng),從各個(gè)分布式節(jié)點(diǎn)資源異構(gòu)的現(xiàn)狀出發(fā),利用終端無(wú)標(biāo)簽數(shù)據(jù),就如何實(shí)現(xiàn)分層聯(lián)邦學(xué)習(xí)展開(kāi)研究.
傳統(tǒng)的聯(lián)邦學(xué)習(xí)框架包含一臺(tái)中央服務(wù)器和大量客戶端,用于計(jì)算的智能模型部署在客戶端,通常由客戶端進(jìn)行模型的訓(xùn)練和推理任務(wù),服務(wù)器扮演著模型參數(shù)聚合者的角色.以最常見(jiàn)的聚合方法FedAvg[4]為例,整個(gè)聯(lián)邦學(xué)習(xí)過(guò)程分為4個(gè)階段:
1) 模型下載.每一輪聯(lián)邦訓(xùn)練前,被激活的客戶端需要從服務(wù)器端下載本地模型的參數(shù)β并加載到本地模型.
2) 本地訓(xùn)練.基于下載模型,各個(gè)客戶端利用本地?cái)?shù)據(jù)對(duì)該模型進(jìn)行更新.假設(shè)共有N個(gè)客戶端,學(xué)習(xí)率為η,F(xiàn)為損失函數(shù),βi和Fi分別為第i個(gè)客戶端的模型參數(shù)和損失函數(shù)值,?Fi(βi)為模型梯度.那么,本地模型采用梯度下降法進(jìn)行訓(xùn)練過(guò)程表示為
βi=βi-η?Fi(βi),i=1,2,…,N.
(1)
3) 模型上傳.待本地訓(xùn)練一定次數(shù)或模型達(dá)到一定精度后,客戶端將參數(shù)上傳到服務(wù)器進(jìn)行聚合.
4) 模型聚合.服務(wù)器根據(jù)各個(gè)客戶端數(shù)據(jù)量對(duì)上傳的參數(shù)進(jìn)行加權(quán)平均,得到聚合后的模型參數(shù)
(2)
其中,Di為第i個(gè)客戶端的數(shù)據(jù)量.將N個(gè)客戶端的參數(shù)值βi以數(shù)據(jù)量Di與全局?jǐn)?shù)據(jù)量的占比進(jìn)行加權(quán)平均后,得到全局統(tǒng)一的模型β.至此,一輪聯(lián)邦學(xué)習(xí)結(jié)束,以上過(guò)程反復(fù)迭代,直到達(dá)到預(yù)設(shè)的迭代次數(shù)或模型精度.然而,上述聚合方法要求客戶端模型統(tǒng)一,在本文提出的異構(gòu)方法下,各個(gè)客戶端模型深度不同,這對(duì)傳統(tǒng)的模型聚合的方法(式(2)所示)提出了挑戰(zhàn).因此,本文對(duì)聚合方法進(jìn)行了創(chuàng)新,將其分為同構(gòu)聚合和異構(gòu)聚合2個(gè)階段,最終實(shí)現(xiàn)異構(gòu)模型之間的聚合.
多分支模型由Teerapittayanon等人[19-20]提出,通過(guò)在深度模型中插入提前退出分支的方式實(shí)現(xiàn)快速推理.該模型的一個(gè)潛在假設(shè)是,樣本從某一分支提前退出所消耗的計(jì)算量小于從后續(xù)任一出口退出所消耗的計(jì)算量.
在模型的訓(xùn)練階段,當(dāng)前主要有2種訓(xùn)練方式:1)模型的主干和分支出口協(xié)同訓(xùn)練;2)分開(kāi)訓(xùn)練.協(xié)同訓(xùn)練時(shí),采用加權(quán)損失反向傳播機(jī)制,即以各個(gè)出口退出的樣本量占總樣本量的比例為權(quán)重,計(jì)算各個(gè)出口對(duì)應(yīng)的損失及梯度,采用隨機(jī)梯度下降法對(duì)模型進(jìn)行更新.當(dāng)主干和分支分開(kāi)訓(xùn)練時(shí),常采取知識(shí)萃取的技術(shù),先訓(xùn)練最后一個(gè)出口,再以最后一個(gè)出口為教師模型對(duì)其他出口進(jìn)行訓(xùn)練.
在模型推理階段,針對(duì)退出模型的判斷機(jī)制,當(dāng)前主流的退出方式有2種:
1) 閾值退出法.與Branchynet[19]相似,采用熵作為判斷計(jì)算結(jié)果能否退出模型的依據(jù),以分類任務(wù)為例,熵定義為
(3)
其中,C表示所有的分類種類,yc表示樣本為類別c的概率.當(dāng)某一出口處的熵值小于設(shè)定閾值T時(shí),認(rèn)為在該出口處的計(jì)算結(jié)果足夠可靠,可以提前退出網(wǎng)絡(luò),反之則不能,需要進(jìn)入更深一層的網(wǎng)絡(luò)進(jìn)行計(jì)算.
2) 比例退出法.即訓(xùn)練結(jié)束后,根據(jù)每個(gè)分支的測(cè)試準(zhǔn)確率占所有分支準(zhǔn)確率之和的比例確定樣本退出的比例.若全局模型有K個(gè)分支出口,每個(gè)出口的測(cè)試準(zhǔn)確率可以表示為acci(i=1,2,…,K),那么每個(gè)出口退出樣本數(shù)占全局樣本數(shù)的比例pi為
(4)
在云邊端分層框架下,云端和邊緣通常被認(rèn)為具備充分的資源保障任務(wù)計(jì)算的順利開(kāi)展,然而終端節(jié)點(diǎn)可能因?yàn)樗幁h(huán)境、硬件參數(shù)的差異,在計(jì)算資源、通信資源、存儲(chǔ)資源存在較大差距.例如在戰(zhàn)場(chǎng)環(huán)境下,出于隱蔽目的,部分節(jié)點(diǎn)由于處于低洼地帶導(dǎo)致通信不暢;部分節(jié)點(diǎn)因受到敵方打擊導(dǎo)致計(jì)算資源、存儲(chǔ)資源遭到部分摧毀.而上述資源正是保證智能模型演化的重要支撐,在傳統(tǒng)的聯(lián)邦學(xué)習(xí)框架下,往往是將一個(gè)全局統(tǒng)一的模型分發(fā)給被選中參與訓(xùn)練的客戶端,極容易出現(xiàn)模型和資源不匹配導(dǎo)致客戶端訓(xùn)練失敗的現(xiàn)象.因此,有必要設(shè)計(jì)一種異構(gòu)的聯(lián)邦學(xué)習(xí)方法,提高客戶端參與度,有效利用客戶端資源.
基于2.2節(jié)中所述多分支模型,在深度學(xué)習(xí)背景下,考慮到不同分支與分支前的主干網(wǎng)絡(luò)天然構(gòu)成一個(gè)可以獨(dú)立完成訓(xùn)練和推理任務(wù)的完整子模型,且因分支在主干模型中插入的深度不同,不同分支對(duì)應(yīng)的子模型構(gòu)成的序列天然為一個(gè)不同復(fù)雜度的模型序列.模型復(fù)雜度越大,消耗的計(jì)算資源、存儲(chǔ)資源、通信資源越多,因此,本文考慮通過(guò)在深度模型中間插入分支并將其拆分為分支子模型的方式,構(gòu)建適應(yīng)不同客戶端資源狀況的子模型,盡可能使得聯(lián)邦學(xué)習(xí)過(guò)程中被選中的客戶端都能有效利用本地資源進(jìn)行訓(xùn)練.本文中的主要符號(hào)說(shuō)明如表1所示:
Table 1 Annotations of Main Symbols
在本文的云邊端分層框架下,首先在全局深度模型中間插入2個(gè)提前退出分支(分別為圖1中的出口2、出口3),作為模型分層部署的切分點(diǎn).其次,為解決終端節(jié)點(diǎn)資源異構(gòu)問(wèn)題,在終端模型(出口2及之前的模型)中間插入一個(gè)提前退出分支(出口1),用于對(duì)終端模型的拆分.以圖1中的拆分為例,全局模型共有4個(gè)出口分支,在出口2、出口3進(jìn)行切分,出口1、出口2與其主干網(wǎng)絡(luò)構(gòu)成的模型部署在端,出口3與之前的主干網(wǎng)絡(luò)構(gòu)成的模型部署在邊,所有出口與整個(gè)主干網(wǎng)絡(luò)構(gòu)成的模型部署在云.由于端模型具有2種出口,可以拆分為2種不同復(fù)雜度的模型,由此可以構(gòu)成二級(jí)異構(gòu).因此,在該框架下,終端模型之間存在異構(gòu)現(xiàn)象,各個(gè)邊緣的模型為同構(gòu)模型,每個(gè)邊緣下有多個(gè)終端,假設(shè)同一邊緣下的終端簇中包含終端所有的異構(gòu)模型種類.
在本文提出的方法中,我們假設(shè),終端存在大量無(wú)標(biāo)簽數(shù)據(jù),邊緣和云端存在少量標(biāo)簽數(shù)據(jù).具體的訓(xùn)練過(guò)程(見(jiàn)算法 1)可以分為邊緣聯(lián)邦、云端聯(lián)邦以及云端訓(xùn)練3個(gè)階段.在邊緣層次的聯(lián)邦階段(行①~),各邊緣將終端兩出口模型(出口1和出口2)拆分為異構(gòu)單出口模型(僅含出口1或出口2)并分發(fā)給其下適配終端;待終端本地利用無(wú)標(biāo)簽數(shù)據(jù)訓(xùn)練E1次后,上傳到各自邊緣聚合為兩出口模型(行⑨);最后,邊緣利用本地標(biāo)簽數(shù)據(jù)對(duì)其進(jìn)行微調(diào)(行),得到新一輪的終端兩出口模型,如此訓(xùn)練T1次.在云端層次聯(lián)邦階段,各邊緣首先利用前一階段邊緣聯(lián)邦得到的終端兩出口(出口1+出口2)模型參數(shù)初始化邊緣模型中對(duì)應(yīng)的主干部分(行~);再基于本地標(biāo)簽數(shù)據(jù),訓(xùn)練由出口3與其之前的主干網(wǎng)絡(luò)構(gòu)成的單出口模型E2次;最后,各邊緣將訓(xùn)練得到的本地和終端整體模型上傳到云聚合,如此迭代T2次,得到出口3及其主干模型的參數(shù).在云端訓(xùn)練階段,云利用前一階段得到的模型主干參數(shù)初始化本地模型對(duì)應(yīng)的主干部分(行),再基于云端有標(biāo)簽數(shù)據(jù),對(duì)所有主干和出口進(jìn)行整體訓(xùn)練E3次得到全局模型參數(shù).
Fig. 1 The framework of hierarchically heterogeneous federated learning for cloud-edge-end system圖1 云邊端系統(tǒng)分層異構(gòu)聯(lián)邦學(xué)習(xí)框架
算法1.分層異構(gòu)聯(lián)邦學(xué)習(xí)
輸入:邊緣數(shù)量N、學(xué)習(xí)率η、邊緣聯(lián)邦次數(shù)T1、云端聯(lián)邦次數(shù)T2、終端本地訓(xùn)練次數(shù)E1、邊緣本地訓(xùn)練次數(shù)E2、云端本地訓(xùn)練次數(shù)E3;
輸出:全局模型參數(shù)W.
① for 邊緣i=1,2,…,Ndo
/*各邊緣聯(lián)邦*/
② 邊緣預(yù)訓(xùn)練終端多出口模型;
③ for 邊緣迭代次數(shù)t1=0,1,…,T1-1 do
④ 邊緣i拆分并分配異構(gòu)子模型到各終端;
⑤ for 邊緣i下終端j=1,2,…,nido
⑥ for 終端訓(xùn)練次數(shù)e1=0,1,…,
E1-1 do
⑧ end for
聚合;
⑩ end for
/*云端聯(lián)邦*/
部分;
do
η?Li(t2,e2);
(5)
(6)
(7)
本節(jié)前述內(nèi)容展示了仿真實(shí)驗(yàn)的過(guò)程.值得注意的是,在現(xiàn)實(shí)分布式場(chǎng)景下,邊緣和終端設(shè)備往往執(zhí)行分布式的并行計(jì)算.因此,將大大降低算法1的時(shí)間復(fù)雜度.此外,在每一輪聯(lián)邦學(xué)習(xí)過(guò)程中,客戶端本地訓(xùn)練的次數(shù)E1,E2通常較小(≤20),從而降低了對(duì)邊緣和終端計(jì)算資源的要求.
考慮到人工成本等因素,直接產(chǎn)生數(shù)據(jù)的終端往往存在大量未標(biāo)記數(shù)據(jù),為了有效利用無(wú)標(biāo)簽數(shù)據(jù).本文在3.1節(jié)所述的邊緣聯(lián)邦階段設(shè)計(jì)了一種半監(jiān)督聯(lián)邦學(xué)習(xí)方法.
(8)
圖1所示的云邊端分層框架可分為縱向節(jié)點(diǎn)信息融合和橫向節(jié)點(diǎn)聯(lián)合學(xué)習(xí)2個(gè)層級(jí)的方法.針對(duì)云邊端縱向節(jié)點(diǎn)信息融合的過(guò)程,依次執(zhí)行邊緣聯(lián)邦、云端聯(lián)邦和云端訓(xùn)練3個(gè)步驟.以上3個(gè)步驟層層遞進(jìn),模型不斷加深,每一階段的學(xué)習(xí)都利用上一階段的學(xué)習(xí)結(jié)果對(duì)本階段模型的對(duì)應(yīng)部分進(jìn)行初始化,并基于此進(jìn)一步訓(xùn)練.每一階段的訓(xùn)練過(guò)程都采用加權(quán)平均法FedAvg進(jìn)行聯(lián)邦訓(xùn)練,其收斂分析見(jiàn)文獻(xiàn)[5].針對(duì)橫向節(jié)點(diǎn)聯(lián)合學(xué)習(xí)過(guò)程,由于終端模型存在異構(gòu)現(xiàn)象,不適用于傳統(tǒng)的聯(lián)邦學(xué)習(xí)收斂性分析.因此,本文主要就終端異構(gòu)聯(lián)邦學(xué)習(xí)的收斂性進(jìn)行分析.
我們將整個(gè)異構(gòu)模型的聚合看作主干聚合和分支聚合2部分,下面將分別就主干聚合和分支聚合的收斂性進(jìn)行分析.首先針對(duì)主干聚合,若全局網(wǎng)絡(luò)共有K個(gè)分支,那么整個(gè)主干網(wǎng)絡(luò)將被分支切分為K個(gè)部分并依次構(gòu)成主干模型序列,分別為{ωi(1)(t1),ωi(2)(t1),…,ωi(k)(t1),…,ωi(K)(t1)},其中i表示第i個(gè)邊緣,ωi(k)(t1)表示全局主干網(wǎng)絡(luò)中第k個(gè)出口和第k-1個(gè)出口之間的模型.主干模型之間分別為輸入和輸出的關(guān)系,例如,ωi(1)(t1)的輸出為ωi(2)(t1)的輸入,ωi(K)(t1)的輸入為ωi(K-1)(t1)的輸出.我們考慮采用歸納法證明主干模型的收斂性,因此可以將主干網(wǎng)絡(luò)收斂性的證明分解為2個(gè)問(wèn)題:
問(wèn)題1.當(dāng)k=1時(shí),對(duì)應(yīng)的主干子模型收斂,即ωi(1)(t1)收斂;
問(wèn)題2.當(dāng)k>1時(shí),ωi(k-1)(t1)收斂時(shí),ωi(k)(t1)也收斂.
證明前,我們先進(jìn)行5個(gè)假設(shè).
假設(shè)1.被分解后的每部分主干網(wǎng)絡(luò)ωi(k)(t1)都可以獨(dú)立完成模型的訓(xùn)練推理任務(wù),且前一部分主干網(wǎng)絡(luò)的輸出為后一部分網(wǎng)絡(luò)的輸入.
其中,x和y為隨機(jī)變量.
假設(shè)4.邊緣i下客戶端j的隨機(jī)梯度的均值和方差滿足關(guān)系:
假設(shè)5.邊緣i下客戶端j與邊緣聚合梯度的二范數(shù)存在上限:
首先,我們證明問(wèn)題1中ωi(1)(t1)的收斂性,當(dāng)ωi(1)(t1)收斂時(shí),應(yīng)滿足公式:
(9)
其中B1為上限值,若該值隨著異構(gòu)聯(lián)邦迭代次數(shù)T1的增加逐漸降低,則意味著出口1前的主干模型參數(shù)隨著迭代次數(shù)的增加不斷接近全局最優(yōu)解,實(shí)現(xiàn)收斂.ωi(1)(t1,e1)為第t1次聯(lián)邦過(guò)程中各個(gè)客戶端第e1次本地訓(xùn)練的平均模型參數(shù),為了實(shí)現(xiàn)出口1前主干模型ωi(1)的收斂,需要滿足2個(gè)條件:
(10)
(11)
其中F(t1,0)為第t1次聯(lián)邦學(xué)習(xí)開(kāi)始前所有的歷史信息.
條件1為中心式學(xué)習(xí)場(chǎng)景下實(shí)現(xiàn)模型收斂的條件;條件2則基于條件1的基礎(chǔ)上,考慮到分布式場(chǎng)景,限制了各個(gè)客戶端模型參數(shù)的變化的方差.通過(guò)分析,可以得到2個(gè)引理:
(12)
(13)
上述2個(gè)引理的證明詳見(jiàn)附錄A和附錄B,結(jié)合式(12)和式(13)可以得到結(jié)論:
(14)
針對(duì)問(wèn)題2中鏈?zhǔn)绞諗繂?wèn)題,當(dāng)ωi(k-1)(t1)收斂時(shí),ωi(k)(t1)也收斂.因此,在ωi(k-1)(t1)收斂的前提下,當(dāng)ωi(k-1)(t1)輸入給定時(shí),ωi(k-1)(t1)的輸出確定.由于在假設(shè)1中,各部分主干網(wǎng)絡(luò)呈輸入輸出關(guān)系output(ωi(k-1)(t1))=input(ωi(k)(t1)),那么可以得到當(dāng)ωi(k-1)(t1)收斂時(shí),ωi(k)(t1)的輸入確定.此時(shí),若要實(shí)現(xiàn)ωi(k)(t1)收斂,則存在上限Bk,使得:
Bk,
(15)
其中若Bk隨著迭代次數(shù)的增加而降低,則實(shí)現(xiàn)ωi(k)(t1)收斂,其分析過(guò)程與ωi(1)(t1)相同,此處不再贅述,問(wèn)題2得證.
因此,我們得到:1)當(dāng)k=1時(shí),ωi(k)(t1)收斂;2)當(dāng)ωi(k-1)(t1)收斂時(shí),ωi(k)(t1)收斂.由歸納法可得,主干網(wǎng)絡(luò)中的每一部分均收斂,最終整個(gè)主干網(wǎng)絡(luò)收斂.
針對(duì)分支收斂性的證明,由于單類的分支網(wǎng)絡(luò)僅存在于一種異構(gòu)客戶端簇下,在聯(lián)邦學(xué)習(xí)過(guò)程中僅參與同構(gòu)聚合,這與傳統(tǒng)的聯(lián)邦學(xué)習(xí)過(guò)程一致,具體收斂性分析過(guò)程參見(jiàn)模型ωi(1)(t1)的收斂性分析.
在實(shí)驗(yàn)部分,我們將以Lenet卷積神經(jīng)網(wǎng)絡(luò)的變體為模型,分別在MNIST和FashionMNIST數(shù)據(jù)集上進(jìn)行驗(yàn)證,如圖2所示.驗(yàn)證模型包含4個(gè)退出出口,第1,2兩個(gè)出口及之前的模型部署在終端,第3個(gè)出口及之前的模型主干部署在邊緣,最后一個(gè)出口及其之前的模型部署在云端.2組數(shù)據(jù)集均含有60 000張訓(xùn)練圖像數(shù)據(jù)和10 000張測(cè)試圖像數(shù)據(jù).由于本文面向云邊端分布式場(chǎng)景,因此構(gòu)建了由1個(gè)云、5個(gè)邊緣和250個(gè)終端構(gòu)成的分布式框架,其中每個(gè)邊緣包含50個(gè)終端.在邊緣層次的聯(lián)邦學(xué)習(xí)中,每一個(gè)邊緣下將有10個(gè)終端被隨機(jī)選擇參與訓(xùn)練;在云端層次的聯(lián)邦學(xué)習(xí)中,將有3個(gè)邊緣被隨機(jī)選擇參與訓(xùn)練.
Fig. 2 Multi-exit convolutional neural network圖2 多出口卷積神經(jīng)網(wǎng)絡(luò)
考慮到半監(jiān)督學(xué)習(xí)場(chǎng)景,本文將60 000張訓(xùn)練數(shù)據(jù)集做如下分配:隨機(jī)選擇1 000張有標(biāo)簽數(shù)據(jù)分配給云端;隨機(jī)選擇5 000張有標(biāo)簽數(shù)據(jù)平均給各個(gè)邊緣,每個(gè)邊緣分別擁有1 000個(gè)訓(xùn)練樣本;剩下的54 000張為無(wú)標(biāo)簽數(shù)據(jù),按數(shù)量平均分配給250個(gè)終端節(jié)點(diǎn),每個(gè)終端分別擁有216個(gè)訓(xùn)練樣本.實(shí)驗(yàn)將分別在獨(dú)立同分布(independent and identically distributed, IID)和非同獨(dú)立同分布(non-IID)兩種情形下進(jìn)行檢驗(yàn),針對(duì)獨(dú)立同分布,本文在邊緣和終端分配樣本的過(guò)程中都進(jìn)行隨機(jī)均勻地分配,以實(shí)現(xiàn)樣本在各個(gè)終端之間、邊緣之間獨(dú)立同分布.針對(duì)非獨(dú)立同分布,在邊緣數(shù)據(jù)的分配過(guò)程中,首先將邊緣5 000張樣本按照標(biāo)簽順序依次排列并平均切分為20部分,每部分包含250張圖片,每個(gè)邊緣從中隨機(jī)選取4部分,形成邊緣節(jié)點(diǎn)數(shù)據(jù)之間的非獨(dú)立同分布;終端節(jié)點(diǎn)的數(shù)據(jù)分配方法與之相同,將排序后的54 000個(gè)樣本分為750部分,250個(gè)終端隨機(jī)從中選取3部分作為本地樣本.綜上,形成了邊緣和終端2個(gè)層次的非獨(dú)立同分布.
實(shí)驗(yàn)中采用SGD作為訓(xùn)練優(yōu)化器,MNIST數(shù)據(jù)集的學(xué)習(xí)率為0.01,F(xiàn)ashionMNIST數(shù)據(jù)集的學(xué)習(xí)率為0.05,在每一輪聯(lián)邦學(xué)習(xí)過(guò)程中,客戶端更新次數(shù)為20.為了分別研究異構(gòu)聯(lián)邦學(xué)習(xí)方法和分層聯(lián)邦學(xué)習(xí)方法的可行性,本文將在這2種分布情形下分別進(jìn)行驗(yàn)證.同時(shí),本節(jié)實(shí)驗(yàn)還將驗(yàn)證異構(gòu)聯(lián)邦學(xué)習(xí)方法在資源利用效率上的提升.
本節(jié)將在終端和邊緣數(shù)據(jù)均為獨(dú)立同分布和均為非獨(dú)立同分布的2種情形下,對(duì)異構(gòu)聯(lián)邦學(xué)習(xí)方法進(jìn)行研究.對(duì)比框架為近年提出的異構(gòu)學(xué)習(xí)方法FedProx[2]和同構(gòu)學(xué)習(xí)方法FedAvg[4],與本文方法不同的是,以上2種方法在各個(gè)邊緣向終端分配模型時(shí),每個(gè)終端都收到同樣的模型,該模型由出口2及其之前的主干網(wǎng)絡(luò)構(gòu)成.為了實(shí)驗(yàn)的公平性,在2種對(duì)比的聯(lián)邦學(xué)習(xí)方法中,仍采用本文提出的半監(jiān)督學(xué)習(xí)方法對(duì)模型進(jìn)行訓(xùn)練.由于邊緣之間在數(shù)據(jù)處理、訓(xùn)練模型、學(xué)習(xí)方法上沒(méi)有明顯區(qū)別,為了使結(jié)果展示更加簡(jiǎn)潔直觀,本文僅從所有邊緣中挑選部分進(jìn)行展示.
5.2.1 獨(dú)立同分布
圖3和圖4給出了在MNIST和FashionMNIST數(shù)據(jù)集下,不同邊緣的異構(gòu)聯(lián)邦學(xué)習(xí)和同構(gòu)聯(lián)邦學(xué)習(xí)訓(xùn)練得到的模型效果對(duì)比折線圖.其中實(shí)線為通過(guò)本文提出的聯(lián)邦學(xué)習(xí)方法得到模型的準(zhǔn)確率;長(zhǎng)虛線為傳統(tǒng)的同構(gòu)聯(lián)邦學(xué)習(xí)方法FedAvg訓(xùn)練得到模型的準(zhǔn)確率;短虛線為FedProx得到的模型準(zhǔn)確率.總體而言,無(wú)論是針對(duì)MNIST還是FashionMNIST數(shù)據(jù)集,本文提出的異構(gòu)方法學(xué)習(xí)得到的模型準(zhǔn)確率收斂值整體優(yōu)于FedAvg和FedProx.其中,MNIST數(shù)據(jù)集下,本文方法收斂值比FedAvg提升約4%,比FedProx提升約3%;FashionMNIST數(shù)據(jù)集下,本文方法平均可以達(dá)到86%,而FedAvg和FedProx平均收斂值均為80%左右,二者相差約6%.但是,值得注意的是,從折線的走勢(shì)和波動(dòng)幅度來(lái)看,F(xiàn)edAvg和FedProx方法下模型的收斂速度和收斂平穩(wěn)性更佳,這一點(diǎn)在FashionMNIST數(shù)據(jù)集上體現(xiàn)更為明顯.
Fig. 4 Performance of different heterogeneous methods when FashionMNIST is IID圖4 FashionMNIST獨(dú)立同分布時(shí)不同異構(gòu)方法 的表現(xiàn)
針對(duì)本文提出的聯(lián)邦學(xué)習(xí)方法收斂值更優(yōu)的問(wèn)題,本文通過(guò)在一個(gè)完整的深度模型中間插入分支的方式,構(gòu)建出復(fù)雜度更小的適配資源緊張終端的子模型.在本地學(xué)習(xí)階段,各個(gè)終端僅需利用本地?cái)?shù)據(jù)對(duì)本地子模型進(jìn)行訓(xùn)練更新,無(wú)需考慮后續(xù)模型的參數(shù)對(duì)本地訓(xùn)練損失的影響.降低正常大模型更新過(guò)程中模型前后的耦合性,一定程度上增大了整個(gè)終端全局模型的搜索空間,從而能夠在更大空間內(nèi)找到最優(yōu)模型.
針對(duì)本文提出的聯(lián)邦學(xué)習(xí)方法收斂速度更慢和收斂平穩(wěn)性更差的問(wèn)題,在同一輪迭代過(guò)程中,不同深度的子模型因?yàn)樽陨砟P吞卣飨拗?,能夠達(dá)到的最高準(zhǔn)確率不相同.由于本文方法中終端模型既有出口1對(duì)應(yīng)的子模型,又有出口2對(duì)應(yīng)的子模型,而其他方法下僅有出口2對(duì)應(yīng)的子模型,因此本文方法在收斂進(jìn)程上存在較差的模型對(duì)較優(yōu)模型拖累的現(xiàn)象,從而減緩收斂進(jìn)程,增大波動(dòng)幅度.
5.2.2 非獨(dú)立同分布
當(dāng)終端大量的無(wú)標(biāo)簽數(shù)據(jù)和邊緣少量帶標(biāo)簽數(shù)據(jù)都呈現(xiàn)出非獨(dú)立同分布時(shí),5.2.1節(jié)中的結(jié)論仍然成立,如圖5和圖6所示.在MNIST數(shù)據(jù)集下,本文方法的平均準(zhǔn)確率約為60%,且不同邊緣之間的模型收斂值差距小于5%,與FedProx基本持平;而FedAvg的平均準(zhǔn)確率約為40%,且不同邊緣之間的收斂值差距大,受數(shù)據(jù)分布不均衡的影響,收斂值相差最大的邊緣甚至可以達(dá)到20%.在Fashion-MNIST數(shù)據(jù)集下,本文方法的平均準(zhǔn)確率約為50%,且不同邊緣之間的模型收斂值差距最大為15%;FedAvg的平均準(zhǔn)確率約為40%,最大收斂值之差為20%;FedProx的平均準(zhǔn)確率也在40%左右.由此可以看出,通過(guò)插入分支實(shí)現(xiàn)的模型異構(gòu)可以讓學(xué)習(xí)在更廣闊的的空間內(nèi)搜索,這在一定程度上可以補(bǔ)足由數(shù)據(jù)異構(gòu)帶來(lái)的缺陷.
Fig. 5 Performance of different heterogeneous methods when MNIST is non-IID圖5 MNIST非獨(dú)立同分布時(shí)不同異構(gòu)方法的表現(xiàn)
Fig. 6 Performance of different heterogeneous methods when FashionMNIST is non-IID圖6 FashionMNIST非獨(dú)立同分布時(shí)不同異構(gòu)方法 的表現(xiàn)
針對(duì)分層聯(lián)邦學(xué)習(xí)的研究,對(duì)比框架分別為無(wú)聯(lián)邦學(xué)習(xí)(也可稱為“本地學(xué)習(xí)”)和僅邊緣層級(jí)的聯(lián)邦學(xué)習(xí).在無(wú)聯(lián)邦學(xué)習(xí)的情況下,各個(gè)節(jié)點(diǎn)僅在“云邊端”垂直結(jié)構(gòu)上進(jìn)行協(xié)同學(xué)習(xí),終端節(jié)點(diǎn)之間、邊緣節(jié)點(diǎn)直接不再進(jìn)行協(xié)同的聯(lián)邦學(xué)習(xí).因此,為了保證單一節(jié)點(diǎn)能在垂直方向上學(xué)習(xí)得到完整模型,在同一層節(jié)點(diǎn)之間不應(yīng)存在模型異構(gòu)問(wèn)題,即終端上全都部署出口2與其之前的主干模型構(gòu)成的子模型,邊緣上全都部署出口3構(gòu)成的子模型.各個(gè)終端通過(guò)與對(duì)應(yīng)邊緣交互進(jìn)行半監(jiān)督學(xué)習(xí)得到本地出口2模型;待本地訓(xùn)練完畢后上傳至邊緣初始化邊緣模型對(duì)應(yīng)部分,各個(gè)邊緣隨即利用本地標(biāo)簽數(shù)據(jù)對(duì)初始化模型(出口3對(duì)應(yīng)的模型)進(jìn)行訓(xùn)練;接著,將訓(xùn)練完畢的邊緣模型上傳至云端初始化云端模型對(duì)應(yīng)部分;最后,云端利用本地標(biāo)簽數(shù)據(jù)對(duì)邊緣初始化的模型進(jìn)行訓(xùn)練得到最終模型.僅邊緣層級(jí)聯(lián)邦學(xué)習(xí)的情況下,模型部署方式與無(wú)聯(lián)邦學(xué)習(xí)框架相同,此時(shí)模型在終端之間同構(gòu).不同之處在于,同一邊緣下的終端在本地學(xué)習(xí)之后要上傳模型到對(duì)應(yīng)邊緣進(jìn)行聚合,迭代多次得到終端模型,而不僅僅是本地學(xué)習(xí).
5.3.1 獨(dú)立同分布
圖7和圖8分別展示了在獨(dú)立同分布情形下不同聯(lián)邦學(xué)習(xí)方式的模型表現(xiàn).橫軸表示迭代次數(shù),縱軸為不同學(xué)習(xí)框架,顏色深淺變化反映了模型表現(xiàn)的變化情況.如右側(cè)標(biāo)尺所示,顏色越深代表模型的準(zhǔn)確率越低,顏色越淺則準(zhǔn)確率越高.從圖7和圖8中可以看出,無(wú)論是針對(duì)MNIST還是FashionMNIST數(shù)據(jù)集,雙層聯(lián)邦學(xué)習(xí)得到的模型在收斂值、收斂速度以及收斂穩(wěn)定性方面均具有明顯優(yōu)勢(shì).在MNIST數(shù)據(jù)集中,采用"邊緣+云端"雙層聯(lián)邦學(xué)習(xí)方法訓(xùn)練的模型僅迭代不到10次,熱力圖的顏色變化就趨于穩(wěn)定,模型達(dá)到收斂;而采用單層聯(lián)邦學(xué)習(xí)或無(wú)聯(lián)邦學(xué)習(xí),則需要迭代30余次.在FashionMNIST數(shù)據(jù)集中,采用雙層聯(lián)邦學(xué)習(xí)的方式不僅在收斂速度上更快,而且從顏色的深淺變化來(lái)看,雙層聯(lián)邦學(xué)習(xí)的曲線更平穩(wěn).
Fig. 7 Performance of different federated learning frameworks when MNIST is IID圖7 MNIST獨(dú)立同分布不同聯(lián)邦學(xué)習(xí)框架的 模型表現(xiàn)
Fig. 8 Performance of different federated learning frameworks when FashionMNIST is IID圖8 FashionMNIST獨(dú)立同分布時(shí)不同聯(lián)邦學(xué)習(xí) 框架的模型表現(xiàn)
這是因?yàn)?,相較于單層聯(lián)邦學(xué)習(xí)和無(wú)聯(lián)邦的本地學(xué)習(xí)而言,在“邊緣+云端”雙層的聯(lián)邦學(xué)習(xí)方法下,邊緣和云端的聯(lián)邦能夠定期將各個(gè)終端、邊緣本地訓(xùn)練的模型特征進(jìn)行整合,使得最終得到的全局模型綜合了各個(gè)分布式節(jié)點(diǎn)的數(shù)據(jù)特征.不僅提高了直接表現(xiàn)為測(cè)試準(zhǔn)確率的模型泛化能力,而且加快了模型的收斂速度.
5.3.2 非獨(dú)立同分布
與獨(dú)立同分布情形相同,在非獨(dú)立同分布情形下,“邊緣+云端”的雙層聯(lián)邦學(xué)習(xí)仍然在收斂值、收斂速度、收斂平穩(wěn)性上展現(xiàn)出絕對(duì)的優(yōu)勢(shì),如圖9和圖10所示.在MNIST數(shù)據(jù)集下,模型迭代約10次時(shí)達(dá)到收斂;而在單層和無(wú)聯(lián)邦情形下,需要迭代近60次.在FashionMNIST數(shù)據(jù)集下,雖然在收斂速度上的優(yōu)勢(shì)略微減小,但在收斂穩(wěn)定性上展現(xiàn)出了絕對(duì)優(yōu)勢(shì).
Fig. 9 Performance of different federated learning frameworks when MNIST is non-IID圖9 MNIST非獨(dú)立同分布不同聯(lián)邦學(xué)習(xí)框架的 模型表現(xiàn)
Fig. 10 Performance of different federated learning frameworks when FashionMNIST is non-IID圖10 FashionMNIST非獨(dú)立同分布時(shí)不同聯(lián)邦學(xué)習(xí) 框架的模型表現(xiàn)
為不同資源狀態(tài)的終端適配不同復(fù)雜度的模型,不僅可以有效提高資源弱勢(shì)終端的參與率,相比于采用大模型進(jìn)行同構(gòu)學(xué)習(xí),還可以有效降低整個(gè)聯(lián)邦學(xué)習(xí)過(guò)程中計(jì)算、通信以及存儲(chǔ)資源的開(kāi)銷.考慮到在各終端數(shù)據(jù)量相同的情況下,資源開(kāi)銷與數(shù)據(jù)分布情況相關(guān)性較弱.因此,本節(jié)將在MNIST數(shù)據(jù)集呈現(xiàn)出獨(dú)立同分布的情形下進(jìn)行實(shí)驗(yàn)驗(yàn)證,具體的衡量指標(biāo)為每一輪迭代過(guò)程中所有參與客戶端的每秒浮點(diǎn)運(yùn)算次數(shù)之和、傳輸參數(shù)量之和以及模型所占存儲(chǔ)空間之和.同時(shí),考慮到FedAvg和FedProx均采用全局統(tǒng)一的客戶端模型,按照FedAvg和FedProx這2種方法學(xué)習(xí)產(chǎn)生的資源開(kāi)銷相當(dāng),因此,本節(jié)僅將本文方法與FedAvg的資源開(kāi)銷情況作比較.現(xiàn)隨機(jī)從云邊端學(xué)習(xí)框架中挑選一個(gè)邊緣,針對(duì)其邊緣異構(gòu)和同構(gòu)學(xué)習(xí)資源開(kāi)銷情況進(jìn)行測(cè)試,得到如圖11、圖12、圖13所示的結(jié)果.
Fig. 11 Accuracy varing with computation resource overhead圖11 模型準(zhǔn)確率隨消耗的計(jì)算資源的變化
Fig. 12 Accuracy varing with communication resource overhead圖12 模型準(zhǔn)確率隨消耗的通信資源的變化
Fig. 13 Accuracy varing with storage resource overhead圖13 模型準(zhǔn)確率隨消耗的存儲(chǔ)資源的變化
從圖11~13可以看出,無(wú)論是計(jì)算資源、通信資源還是存儲(chǔ)資源,通過(guò)本文方法學(xué)習(xí)得到的模型不僅準(zhǔn)確率更高,而且消耗的資源更少.準(zhǔn)確率高的原因已經(jīng)在5.2節(jié)中進(jìn)行了說(shuō)明,消耗的資源更少是因?yàn)樵谟?xùn)練過(guò)程中融入了更多復(fù)雜度更低的模型,從而總體上減少了計(jì)算資源、通信資源和存儲(chǔ)資源的開(kāi)銷.
在新興的云邊端計(jì)算范式下,為同時(shí)實(shí)現(xiàn)用戶隱私的保護(hù)和模型智能性的穩(wěn)步提升,聯(lián)邦學(xué)習(xí)成為一種熱門的面向隱私安全的計(jì)算方法,本文就如何在云邊端系統(tǒng)下應(yīng)用聯(lián)邦學(xué)習(xí)方法以保護(hù)隱私展開(kāi)研究.具體而言,針對(duì)該系統(tǒng)的分層特點(diǎn),打破了傳統(tǒng)單層聯(lián)邦學(xué)習(xí)的枷鎖,設(shè)計(jì)了面向云邊端系統(tǒng)的雙層聯(lián)邦學(xué)習(xí)框架,并可拓展至多層聯(lián)邦學(xué)習(xí);針對(duì)由終端設(shè)備所處環(huán)境、硬件參數(shù)不同導(dǎo)致的資源異構(gòu)問(wèn)題,提出了異構(gòu)聯(lián)邦學(xué)習(xí)方法,通過(guò)在深度模型中間插入提前退出分支的方式,構(gòu)建適配不同終端資源狀態(tài)的子模型序列;針對(duì)終端存在大量無(wú)標(biāo)簽數(shù)據(jù)現(xiàn)象,提出了面向異構(gòu)聯(lián)邦學(xué)習(xí)的半監(jiān)督學(xué)習(xí)方法,利用服務(wù)器預(yù)訓(xùn)練得到的適配子模型為終端數(shù)據(jù)預(yù)測(cè)偽標(biāo)簽,并基于此對(duì)模型進(jìn)行訓(xùn)練,有效整合了無(wú)標(biāo)簽數(shù)據(jù)的特征.實(shí)驗(yàn)結(jié)果表明,相比于傳統(tǒng)的同構(gòu)聯(lián)邦學(xué)習(xí)方法、單層聯(lián)邦學(xué)習(xí)方法以及本地學(xué)習(xí)方法,本文提出的方法不僅能夠在模型準(zhǔn)確率上取得明顯優(yōu)勢(shì),而且能夠顯著降低計(jì)算資源、通信資源、存儲(chǔ)資源的開(kāi)銷.
作者貢獻(xiàn)聲明:鐘正儀負(fù)責(zé)完成實(shí)驗(yàn)并撰寫論文;包衛(wèi)東提出指導(dǎo)意見(jiàn)并修改論文;王吉提出算法思路和實(shí)驗(yàn)方案;吳冠霖協(xié)助完成實(shí)驗(yàn);趙翔提出算法思路指導(dǎo)意見(jiàn).