于 佳, 寧寶玲*, 譚思行, 蘇新渺, 李文博, 劉成瑞, 劉文靜
1. 黑龍江大學(xué)數(shù)據(jù)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001
2. 哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001
3. 北京控制工程研究所, 北京 100094
4. 空間智能控制技術(shù)全國(guó)重點(diǎn)實(shí)驗(yàn)室, 北京 100094
由于工作環(huán)境極端惡劣、系統(tǒng)設(shè)備性能退化等原因,航天器等核心設(shè)備發(fā)生故障的可能性較大,隨之引發(fā)的系統(tǒng)異常、任務(wù)中斷甚至裝備失效等后果也非常嚴(yán)重.為航天器等設(shè)備設(shè)計(jì)智能運(yùn)維算法是當(dāng)前設(shè)備自主智能運(yùn)維和健康管理研究領(lǐng)域的熱點(diǎn)問(wèn)題,行之有效的智能運(yùn)維算法是提升系統(tǒng)自主性以及安全可靠運(yùn)行能力的有效手段[1].
基于設(shè)備監(jiān)測(cè)的相關(guān)信息,設(shè)計(jì)數(shù)據(jù)驅(qū)動(dòng)的智能運(yùn)維算法,可以充分利用數(shù)據(jù)優(yōu)勢(shì),盡早發(fā)現(xiàn)系統(tǒng)運(yùn)行中產(chǎn)生的異常情況,識(shí)別潛在發(fā)生的故障,并支持故障預(yù)警、故障診斷等運(yùn)維任務(wù).傳統(tǒng)的系統(tǒng)運(yùn)維方法大都依賴人工干預(yù)[2],存在響應(yīng)速度慢、運(yùn)維能力弱等缺點(diǎn).很多現(xiàn)有的自動(dòng)化運(yùn)維方法依賴于專家知識(shí)[3]或預(yù)設(shè)的系統(tǒng)模型[4],對(duì)實(shí)際工作場(chǎng)景中不同情況的應(yīng)變能力較弱,檢測(cè)能力不足.與上述方法不同,智能運(yùn)維是指以大數(shù)據(jù)為驅(qū)動(dòng),基于智能算法的運(yùn)維方法[5,16],利用成熟的機(jī)器學(xué)習(xí)算法自動(dòng)獲取運(yùn)維大數(shù)據(jù)中的知識(shí),支持對(duì)不同應(yīng)用場(chǎng)景下的精準(zhǔn)決策判斷,為航天器等關(guān)鍵設(shè)備提供快速有效的系統(tǒng)運(yùn)維能力、發(fā)現(xiàn)系統(tǒng)潛在故障風(fēng)險(xiǎn)的能力以及設(shè)備壽命的精準(zhǔn)預(yù)測(cè)能力,進(jìn)而保障系統(tǒng)的可靠長(zhǎng)期自主運(yùn)行.
近年來(lái),航天器設(shè)備逐漸呈現(xiàn)集群化趨勢(shì),現(xiàn)有研究工作中的航天器智能運(yùn)維方法面臨分布式運(yùn)維和隱私保護(hù)2個(gè)挑戰(zhàn).一方面,需要面向航天器集群構(gòu)建分布式智能運(yùn)維方法.隨著航天器設(shè)備制造和部署能力的不斷提升,在軌運(yùn)行的航天器數(shù)量越來(lái)越多、能力越來(lái)越強(qiáng).利用航天器的無(wú)線通信能力,構(gòu)建航天器集群系統(tǒng)成為主流趨勢(shì).然而,在新的集群場(chǎng)景下,由于各系統(tǒng)節(jié)點(diǎn)之間距離遠(yuǎn)近各不相同,計(jì)算和通信等資源極為受限,傳統(tǒng)的集中式運(yùn)維方法并不適用.因此,需要面向航天器集群構(gòu)建安全、可靠的分布式智能運(yùn)維方法,同時(shí)支持系統(tǒng)終端的實(shí)時(shí)運(yùn)維能力以及融合多終端的綜合運(yùn)維能力.另一方面,需要為航天器設(shè)備提供智能運(yùn)維過(guò)程中的隱私保護(hù)支持.很多航天器的工作環(huán)境和任務(wù)具有特殊性,保護(hù)系統(tǒng)中個(gè)體隱私信息的需求非常高.例如,通常來(lái)說(shuō),執(zhí)行重要任務(wù)的航天器個(gè)體的位置、軌跡和負(fù)載等信息是非常敏感的,需要嚴(yán)格保護(hù).然而,為了提供支持融合能力的分布式智能運(yùn)維,不可避免地需要系統(tǒng)的各節(jié)點(diǎn)分享信息,因此,需要為分布式智能運(yùn)維系統(tǒng)設(shè)計(jì)支持隱私保護(hù)的智能運(yùn)維方法.
聯(lián)邦學(xué)習(xí)[6]是解決上述挑戰(zhàn)的有效方法.聯(lián)邦學(xué)習(xí)本質(zhì)上是一類特殊的分布式機(jī)器學(xué)習(xí)方法,其主要思想是協(xié)同融合多個(gè)數(shù)據(jù)源進(jìn)行模型訓(xùn)練,可以支持對(duì)各自數(shù)據(jù)的隱私保護(hù).聯(lián)邦學(xué)習(xí)可以構(gòu)建本地訓(xùn)練和模型融合相結(jié)合的智能運(yùn)維方法,有力支持安全和隱私保護(hù),完成分布式智能運(yùn)維任務(wù).文獻(xiàn)[7]首次正式提出聯(lián)邦學(xué)習(xí)的概念,并且設(shè)計(jì)了基于本地訓(xùn)練和模型聚合的聯(lián)邦學(xué)習(xí)框架,后續(xù)很多研究工作針對(duì)實(shí)際應(yīng)用中的不同挑戰(zhàn)不斷完善和改進(jìn)該框架.在模型聚合方面,YUROCHKIN等[8]為神經(jīng)網(wǎng)絡(luò)的聯(lián)邦學(xué)習(xí)提出一個(gè)貝葉斯非參數(shù)框架,它通過(guò)匹配本地模型的神經(jīng)元建立一個(gè)全局模型.在隱私保護(hù)方面,BHOWMICK等[9]在總隱私保護(hù)的有效性被限制的情況下,設(shè)計(jì)了一個(gè)極小極大最優(yōu)私有化機(jī)制,它可以模擬用戶的本地私有保護(hù)策略,限制潛在攻擊者的能力,并達(dá)到比嚴(yán)格本地隱私更好的模型表現(xiàn).在通信壓縮方面,KONECNY等[10]通過(guò)量化、隨機(jī)旋轉(zhuǎn)和二次采樣的方法對(duì)模型數(shù)據(jù)進(jìn)行壓縮,以解決模型更新的通信代價(jià)大這一重要問(wèn)題,降低中央服務(wù)器與所有用戶之間的通信壓力.WANG等[11]提出一個(gè)叫做局部補(bǔ)償拉減(PRLC)的局部模型更新方案,使得不參與全局更新的設(shè)備通過(guò)PRLC在本地更新以減少與全局模型之間的差距.YU等[12]提出一個(gè)只使用正類標(biāo)簽的基于幾何正則化器的半監(jiān)督聯(lián)邦學(xué)習(xí)分類框架,服務(wù)器在每次迭代后加入一個(gè)幾何正則化因子,以促進(jìn)類在嵌入空間中的投影性能.
在航天器等關(guān)鍵設(shè)備的運(yùn)維應(yīng)用中,由于設(shè)備的計(jì)算和通信資源受限,常規(guī)的聯(lián)邦學(xué)習(xí)算法并不能達(dá)到很好的訓(xùn)練效果,無(wú)法很好解決運(yùn)維模型訓(xùn)練的問(wèn)題.一個(gè)最典型的問(wèn)題是,由于不同航天器設(shè)備以及不同系統(tǒng)組件間具有不同的物理特性和任務(wù)負(fù)載,不同訓(xùn)練節(jié)點(diǎn)的數(shù)據(jù)分布往往是異構(gòu)的,訓(xùn)練速度也不同,甚至不同任務(wù)的訓(xùn)練目標(biāo)也有區(qū)別.面對(duì)上述情況,基本的模型聚合算法無(wú)法保障聯(lián)邦學(xué)習(xí)的訓(xùn)練速度和模型性能.為了解決這些問(wèn)題,現(xiàn)有研究工作已經(jīng)開(kāi)始嘗試各種聯(lián)邦學(xué)習(xí)的改進(jìn)方法.例如,文獻(xiàn)[13]基于受限的局部更新進(jìn)行研究,通過(guò)將全局模型拆分為多個(gè)僅更新自己部分的參數(shù)的局部模型以實(shí)現(xiàn)降低通信和計(jì)算成本的目標(biāo).文獻(xiàn)[14]基于設(shè)備分組的方式將參與聯(lián)邦學(xué)習(xí)的設(shè)備劃分為不同的組進(jìn)行本地模型訓(xùn)練和參數(shù)交換以降低通信需求.同時(shí),目前已經(jīng)有一些研究嘗試在數(shù)據(jù)分布異構(gòu)的情況下開(kāi)發(fā)有效的聯(lián)邦學(xué)習(xí)算法,包括FedProx[13]、FedNova[18]和SCAFFOLD[19]等.FedProx通過(guò)限制客戶端本地更新的程度以及在局部目標(biāo)函數(shù)中引入L2正則化的方式來(lái)控制局部模型與全局模型的差異.FedNova允許不同的客戶端組別在每輪聚合過(guò)程進(jìn)行不同輪次的本地訓(xùn)練以降低訓(xùn)練時(shí)間差異,同時(shí)將具有大量本地訓(xùn)練的客戶端賦予更大的權(quán)重以減小模型偏差.SCAFFOLD基于各參與客戶端之間數(shù)據(jù)分布異構(gòu)的程度為模型引入方差,通過(guò)方差減少技術(shù)[20-21]和增加控制變量的方式來(lái)提升模型性能.另外,也有部分研究工作利用模型相似性、數(shù)據(jù)分布度量和類失衡度量等方法來(lái)處理聯(lián)邦學(xué)習(xí)中的異構(gòu)問(wèn)題[22-25].
然而,上述這些方法很少考慮或者僅考慮單一因素的異構(gòu)性,缺乏對(duì)多種異構(gòu)因素的統(tǒng)一表述和處理方法,并不適用于多異構(gòu)因素同時(shí)存在的情況.并且,不同異構(gòu)因素可能從不同角度影響聯(lián)邦學(xué)習(xí)方法,可能同時(shí)造成訓(xùn)練效率和模型性能的下降,需要設(shè)計(jì)同時(shí)支持效率和性能改進(jìn)的新型聯(lián)邦學(xué)習(xí)方法,而現(xiàn)有研究工作并未關(guān)注這一點(diǎn).
針對(duì)航天器智能運(yùn)維所面臨的異構(gòu)聯(lián)邦學(xué)習(xí)場(chǎng)景,為了應(yīng)對(duì)數(shù)據(jù)分布、計(jì)算性能等不同異構(gòu)因素帶來(lái)的訓(xùn)練效率和模型性能下降問(wèn)題,本文提出了一種基于模型分組的聯(lián)邦學(xué)習(xí)算法,綜合考慮計(jì)算性能不同導(dǎo)致的更新延遲以及數(shù)據(jù)分布異構(gòu)導(dǎo)致的模型異構(gòu)問(wèn)題,將各客戶端本地訓(xùn)練的時(shí)延信息和模型特征信息結(jié)合,利用聚簇方法將客戶端進(jìn)行分組,進(jìn)而實(shí)現(xiàn)基于模型分組的聯(lián)邦學(xué)習(xí)方法,支持異構(gòu)場(chǎng)景下的智能運(yùn)維模型構(gòu)建.通過(guò)基于時(shí)延信息的聯(lián)邦學(xué)習(xí)節(jié)點(diǎn)分組,可以實(shí)現(xiàn)更加高效的局部模型獲取和通信交互,提升聯(lián)邦學(xué)習(xí)的訓(xùn)練效率.通過(guò)基于客戶端特征的模型分組,將客戶端分組到合適的子聯(lián)邦中,以實(shí)現(xiàn)更加高效的模型更新,提升聯(lián)邦學(xué)習(xí)運(yùn)維模型的性能.基于標(biāo)準(zhǔn)數(shù)據(jù)集和實(shí)際運(yùn)維應(yīng)用數(shù)據(jù)集,通過(guò)多組對(duì)比實(shí)驗(yàn)評(píng)測(cè)所提出方法的性能,驗(yàn)證了提出的異構(gòu)場(chǎng)景的聯(lián)邦學(xué)習(xí)算法的有效性.
數(shù)據(jù)驅(qū)動(dòng)的智能運(yùn)維方法需要構(gòu)建運(yùn)維模型完成各類不同的運(yùn)維任務(wù),以有監(jiān)督學(xué)習(xí)情況為例,面向具體的任務(wù)構(gòu)建運(yùn)維模型可以抽象表示為如下優(yōu)化問(wèn)題:
(1)
其中,w表示運(yùn)維模型的參數(shù)(參數(shù)的總數(shù)為d),f(w;xi;yi)表示參數(shù)w對(duì)應(yīng)的運(yùn)維模型在數(shù)據(jù)樣本(xi;yi)上的損失.傳統(tǒng)的集中式運(yùn)維模型構(gòu)建問(wèn)題可以抽象為以式(1)為目標(biāo)的最優(yōu)化問(wèn)題,即尋找最優(yōu)解對(duì)應(yīng)的參數(shù)w取值.
在航天器集群的場(chǎng)景下,樣本數(shù)據(jù)是由不同的航天器設(shè)備采集的,利用上述傳統(tǒng)的方法構(gòu)建智能運(yùn)維模型需要極大的通信和計(jì)算代價(jià),在資源受限的集群場(chǎng)景下難以適用.為該類場(chǎng)景設(shè)計(jì)智能運(yùn)維模型的聯(lián)邦學(xué)習(xí)算法可以解決上述問(wèn)題.在聯(lián)邦學(xué)習(xí)框架中,數(shù)據(jù)樣本不是集中存儲(chǔ),而是分布在不同的客戶端上.
設(shè)S為客戶端集合,Dj為客戶端j的數(shù)據(jù)樣本集合,運(yùn)維模型構(gòu)建的聯(lián)邦學(xué)習(xí)問(wèn)題可以表示為如下形式:
(2)
這里,優(yōu)化目標(biāo)也可以表述為如下等價(jià)形式:
(3)
其中,Loss(j)為第j個(gè)客戶端的損失均值,各客戶端的權(quán)重與數(shù)據(jù)樣本量成正比.
聯(lián)邦學(xué)習(xí)算法的關(guān)鍵在于設(shè)計(jì)高效的本地模型訓(xùn)練和全局模型融合算法,以提升分布式模型構(gòu)建的性能.FedAvg[7]是最經(jīng)典的聯(lián)邦學(xué)習(xí)算法,該方法每一輪隨機(jī)選擇m個(gè)客戶端進(jìn)行訓(xùn)練并上傳本地模型,并且依據(jù)訓(xùn)練數(shù)據(jù)量將模型參數(shù)加權(quán)平均來(lái)更新全局模型,從而實(shí)現(xiàn)高效的聯(lián)邦學(xué)習(xí)模型訓(xùn)練.FedAvg算法的主要流程如算法1所示.
可以發(fā)現(xiàn),聯(lián)邦學(xué)習(xí)算法并不需要在各計(jì)算節(jié)點(diǎn)之間傳輸數(shù)據(jù),僅需要將本地訓(xùn)練和全局聚合獲得模型參數(shù)在各計(jì)算節(jié)點(diǎn)之間傳輸.一方面,訓(xùn)練過(guò)程的通信代價(jià)僅依賴于模型,不隨數(shù)據(jù)量的增加而變大;另一方面,聯(lián)邦學(xué)習(xí)方法僅傳輸模型參數(shù),不傳輸數(shù)據(jù),可以在很多應(yīng)用場(chǎng)景中實(shí)現(xiàn)隱私保護(hù).
算法1:FedAvg算法輸入:客戶端集合S,初始模型w0,服務(wù)器通信容量m輸出:訓(xùn)練后的模型參數(shù)w1 函數(shù)FedAvg(S,w0,m)2 服務(wù)器初始化全局模型w=w03 迭代 round t=1,2,…執(zhí)行4 St←在客戶端集合S中隨機(jī)選取m個(gè)客戶端5 服務(wù)器發(fā)送全局模型w給St中的客戶端6 迭代每個(gè)客戶端 i∈St執(zhí)行∥并行7 客戶端i接收服務(wù)器發(fā)來(lái)的全局模型w8 客戶端i完成本地訓(xùn)練得到模型wti9 客戶端i發(fā)送wti和訓(xùn)練數(shù)據(jù)量Di給服務(wù)器10 迭代結(jié)束11 服務(wù)器接收各客戶端的模型并存入列表wt12 服務(wù)器聚合全局模型w=∑i∈StDi∑j∈StDjwti13 迭代結(jié)束14 返回w15 函數(shù)結(jié)束
航天器的工作場(chǎng)景具有計(jì)算資源受限、環(huán)境惡劣等特點(diǎn),利用聯(lián)邦學(xué)習(xí)構(gòu)建智能運(yùn)維模型面臨如下異構(gòu)問(wèn)題,需要設(shè)計(jì)相應(yīng)的高效聯(lián)邦學(xué)習(xí)算法.
一方面,聯(lián)邦學(xué)習(xí)的異構(gòu)體現(xiàn)在不同的航天器節(jié)點(diǎn)的訓(xùn)練數(shù)據(jù)分布不同,即當(dāng)參與聯(lián)邦學(xué)習(xí)的客戶端所擁有的數(shù)據(jù)分布存在顯著差異,本地訓(xùn)練得到的模型彼此差異很大.由于傳統(tǒng)的聚合算法傾向于將不同的模型進(jìn)行均勻混合,這使得通過(guò)混合方式聚合得到的模型可能出現(xiàn)在某些節(jié)點(diǎn)上的性能提高損失減少,而在另一些客戶端上預(yù)測(cè)損失大幅增加,這會(huì)使得聚合后的模型在各設(shè)備上應(yīng)用時(shí)性能進(jìn)一步下降,依輪次進(jìn)行聚合獲取的全局模型收斂速度變慢.此外,當(dāng)簡(jiǎn)單以客戶端數(shù)據(jù)量作為加權(quán)依據(jù)進(jìn)行模型聚合時(shí)(如FedAvg),可能會(huì)出現(xiàn)算法公平性缺失、聯(lián)邦學(xué)習(xí)性能下降的問(wèn)題.例如,當(dāng)某些客戶端訓(xùn)練所用的樣本數(shù)據(jù)量較小時(shí),聚合過(guò)程為這些客戶端賦予的權(quán)重也很小,會(huì)忽視它們對(duì)應(yīng)的模型,使得聚合后的模型在該類客戶端上性能無(wú)法得到保障.針對(duì)上述經(jīng)典聯(lián)邦學(xué)習(xí)算法性能受損的問(wèn)題,需要設(shè)計(jì)新的聚合策略來(lái)處理數(shù)據(jù)異構(gòu)情況,提高聯(lián)邦學(xué)習(xí)的性能和效率.
圖1 航天器運(yùn)維場(chǎng)景中的異構(gòu)示意圖Fig.1 An Illustration of Heterogeneous Scenario for Operating Spacecrafts
為了解決異構(gòu)場(chǎng)景對(duì)經(jīng)典聯(lián)邦學(xué)習(xí)算法所提出的挑戰(zhàn),提升聯(lián)邦學(xué)習(xí)框架下異構(gòu)場(chǎng)景運(yùn)維模型構(gòu)建的性能,本文采用模型分組的想法,設(shè)計(jì)異構(gòu)場(chǎng)景下的聯(lián)邦學(xué)習(xí)算法.模型分組是指將各參與訓(xùn)練的計(jì)算節(jié)點(diǎn)所獲得模型劃分為不同的分組,進(jìn)而在聯(lián)邦框架下將同一分組的本地模型聚合,將同一分組的計(jì)算節(jié)點(diǎn)同步聚合.
針對(duì)異構(gòu)對(duì)訓(xùn)練效率的影響,不難發(fā)現(xiàn),模型分組可以將訓(xùn)練效率相近的計(jì)算節(jié)點(diǎn)劃分到相同的分組,調(diào)整節(jié)點(diǎn)訓(xùn)練的同步節(jié)奏,提升異構(gòu)場(chǎng)景下的聯(lián)邦學(xué)習(xí)效率.針對(duì)異構(gòu)對(duì)模型性能的影響,如下面的分析所示,模型分組可以將數(shù)據(jù)分布相類似的本地模型劃分到同一分組,提升分組聚合模型在相關(guān)節(jié)點(diǎn)上的性能,同時(shí),調(diào)整不同類型模型間的聚合權(quán)重,提升全局模型對(duì)參與訓(xùn)練節(jié)點(diǎn)的適應(yīng)性,提升全局模型的性能.
假設(shè)參與聯(lián)邦學(xué)習(xí)的客戶端能夠根據(jù)其所擁有的數(shù)據(jù)分布劃分到不同的分組中,這種分組帶來(lái)的好處是每個(gè)分組客戶端的樣本數(shù)據(jù)分布相似,這樣可以保證聚合后模型與本地模型的一致性,同時(shí),這種分組方式還可以減少模型在不同客戶端上的擬合效率差異,避免聚合模型在不同客戶端表現(xiàn)差異過(guò)大的問(wèn)題.令Sk表示某組相似數(shù)據(jù)分布所代表的計(jì)算節(jié)點(diǎn)集合,稱其為一個(gè)子聯(lián)邦,進(jìn)而令wk代表第k個(gè)子聯(lián)邦的模型參數(shù),則原始的運(yùn)維模型構(gòu)建對(duì)應(yīng)的優(yōu)化目標(biāo)可以轉(zhuǎn)換成如下形式:
(4)
由上文的假設(shè)知,各個(gè)子集合Sk中的數(shù)據(jù)分布較為接近,故認(rèn)為采用相同的聚合策略的情況下,模型的預(yù)測(cè)損失與模型訓(xùn)練時(shí)的數(shù)據(jù)分布接近程度成反比.因此,可推知有如下關(guān)系:
(5)
進(jìn)而,可以得到
(6)
可以將式(6)進(jìn)一步改寫為如下形式:
(7)
根據(jù)上述分析,不難驗(yàn)證,如果能夠找到一種恰當(dāng)?shù)哪P头纸M方法,根據(jù)數(shù)據(jù)分布將聯(lián)邦內(nèi)的所有客戶端分組到合適的子聯(lián)邦中,然后在每個(gè)子聯(lián)邦內(nèi)部使用基于聯(lián)邦全體模型更新的聚合策略(例如FedAvg),有機(jī)會(huì)在一定程度上提升模型的表現(xiàn),改進(jìn)聯(lián)邦學(xué)習(xí)的性能.該方法直觀上可以更好地解決數(shù)據(jù)分布異構(gòu)的問(wèn)題,減少模型在不同客戶端上的擬合速度差異.
受啟發(fā)于經(jīng)典的K-means聚簇算法[15],設(shè)計(jì)基于模型分組的聯(lián)邦學(xué)習(xí)算法.
1)在每一輪聯(lián)邦學(xué)習(xí)的模型更新中,服務(wù)器首先將當(dāng)前運(yùn)維模型下發(fā)到各個(gè)客戶端,然后運(yùn)行一輪收集客戶端分組所需的各項(xiàng)信息,包括訓(xùn)練數(shù)據(jù)量、數(shù)據(jù)分布情況和訓(xùn)練耗時(shí)等.其中,訓(xùn)練數(shù)據(jù)量用來(lái)實(shí)現(xiàn)模型均勻聚合,可以用樣本數(shù)目等基本信息表示;數(shù)據(jù)分布情況用來(lái)實(shí)現(xiàn)相似模型的聚合,可以用樣本數(shù)據(jù)的抽樣、直方圖等分布描述信息表示;訓(xùn)練耗時(shí)用來(lái)實(shí)現(xiàn)客戶端訓(xùn)練節(jié)奏的調(diào)節(jié),可以用實(shí)際訓(xùn)練的時(shí)間代價(jià)表示.
算法2:基于模型分組的聯(lián)邦學(xué)習(xí)算法輸入:客戶端集合S,初始模型w0輸出:各個(gè)子聯(lián)邦訓(xùn)練后的模型列表w_list1函數(shù) Sub_Fed_trainer(S,w0)2 服務(wù)器初始化全局模型w←w03 服務(wù)器初始化聯(lián)邦分組列表S_list←空列表4 服務(wù)器發(fā)送全局模型w給S中的所有客戶端5 迭代 每個(gè)客戶端i∈S 執(zhí)行∥并行6 客戶端i接收服務(wù)器發(fā)來(lái)的全局模型w7 客戶端i完成本地訓(xùn)練得到模型wi8 客戶端i發(fā)送特征指標(biāo)msgi給服務(wù)器9 迭代結(jié)束10 服務(wù)器接收客戶端特征指標(biāo)并存入msg11 S_list[1]←S12 B1←∑i∈Smsgi-∑j∈SmsgjS13 迭代 k∈[2,P]執(zhí)行14 S_list[k]←kmeans(k,msg)15 B'k←016 ηk←P×(k-1)-1-(k-2)PP×(k-1)17 迭代 Ski∈S_list[k]執(zhí)行18 B'k←B'k+∑i∈Skimsgi-∑j∈SkimsgjSki19 迭代結(jié)束20 B'k←B'k+ηk×B121 迭代結(jié)束22 idx←B2,…,Bk中的最小值的下標(biāo)23 迭代 Si∈S_list[idx] 執(zhí)行∥并行24 w_list[i]←FedAvg(Si,w0,m)25 迭代結(jié)束26 返回 w_list27 函數(shù)結(jié)束
(8)
進(jìn)而,算法所需要計(jì)算的分組代價(jià)可以定義為如下形式:
(9)
經(jīng)過(guò)多次遍歷不同的子聯(lián)邦數(shù)后,服務(wù)器選取分組代價(jià)最小的分組方式作為最佳分組方式,并根據(jù)分組的結(jié)果將客戶端分配到各個(gè)子聯(lián)邦中.接下來(lái),在各個(gè)子聯(lián)邦內(nèi)部,系統(tǒng)將采用現(xiàn)有的基于聯(lián)邦全體模型更新的聚合策略,對(duì)本地?cái)?shù)據(jù)進(jìn)行聯(lián)邦學(xué)習(xí)訓(xùn)練.假定子聯(lián)邦內(nèi)采用的聯(lián)邦聚合策略為FedAvg,則基于上述描述的基于模型分組的聯(lián)邦學(xué)習(xí)算法的偽代碼如算法2所示.
上述偽代碼中的客戶端訓(xùn)練特征指標(biāo)msg可以是訓(xùn)練數(shù)據(jù)量、數(shù)據(jù)分布情況和訓(xùn)練耗時(shí)等.從直觀上,通過(guò)基于模型分組的聯(lián)邦學(xué)習(xí)算法,可以利用客戶端的數(shù)據(jù)特征(如數(shù)據(jù)分布和數(shù)量)以及訓(xùn)練特征(如訓(xùn)練速率)將相似的客戶端歸為同一組,并將它們分組到同一個(gè)子聯(lián)邦中.這種方法可以在一定程度上減少數(shù)據(jù)分布異構(gòu)所引起的負(fù)面影響,同時(shí)避免不同訓(xùn)練階段(欠擬合、擬合和過(guò)擬合)的各個(gè)客戶端的模型效果互相干擾,可以改善異構(gòu)場(chǎng)景下傳統(tǒng)聯(lián)邦學(xué)習(xí)算法(例如FedAvg)的學(xué)習(xí)效果不佳的問(wèn)題.
在這一部分實(shí)驗(yàn)中,分別基于標(biāo)準(zhǔn)的測(cè)試數(shù)據(jù)集以及面向設(shè)備運(yùn)維的時(shí)序數(shù)據(jù)集構(gòu)建聯(lián)邦學(xué)習(xí)方法,完成對(duì)應(yīng)數(shù)據(jù)上的智能模型構(gòu)建,進(jìn)而利用所獲得模型驗(yàn)證所提出方法的有效性.
這部分實(shí)驗(yàn)利用Mnist數(shù)據(jù)集構(gòu)造了2個(gè)不同的客戶端數(shù)據(jù)分布情況,比較基于模型分組的聯(lián)邦學(xué)習(xí)算法與無(wú)分組算法的效果.實(shí)驗(yàn)使用聯(lián)邦學(xué)習(xí)仿真平臺(tái)TensorFlow-Federated作為實(shí)驗(yàn)平臺(tái).實(shí)驗(yàn)采用的數(shù)據(jù)總量為60 000,測(cè)試集總量為10 000.進(jìn)而,設(shè)計(jì)了一個(gè)客戶端數(shù)據(jù)分布構(gòu)造算法,該算法用于將集中式數(shù)據(jù)集Mnist按照合適的數(shù)據(jù)比例生成8個(gè)客戶端的訓(xùn)練和測(cè)試數(shù)據(jù)數(shù)量分布,以作為測(cè)試實(shí)驗(yàn)的分布.2個(gè)不同分布分別代表同構(gòu)分布以及異構(gòu)分布,實(shí)驗(yàn)中所采用的數(shù)據(jù)集分布情況如表1和表2所示.
表1 同構(gòu)Mnist數(shù)據(jù)集的分布情況Tab.1 The statistical characteristics of Mnist under homogenous setting
表2 異構(gòu)Mnist數(shù)據(jù)集的分布情況Tab.2 The statistical characteristics of Mnist under heterogeneous setting
表3 同構(gòu)情況下模型分組情況Tab.3 The statistical characteristics of groups under homogenous setting
由表3可見(jiàn),在表1的客戶端數(shù)據(jù)分布的情形下,當(dāng)子聯(lián)邦總數(shù)為1時(shí)的分組代價(jià)Bk最小,這也與直覺(jué)上相符,即此時(shí)無(wú)需客戶端分組.為了更客觀地評(píng)估效果,下面給出Mnist數(shù)據(jù)集在表1的數(shù)據(jù)分布下訓(xùn)練過(guò)程的模型效果,采用的聯(lián)邦聚合策略是FedAvg變種方法,即將每一輪異步訓(xùn)練時(shí)本地處理的樣本量作為額外的指標(biāo)加權(quán)平均,評(píng)價(jià)指標(biāo)為準(zhǔn)確率,模型效果如圖2所示.
圖2 在表1數(shù)據(jù)分布下的聯(lián)邦學(xué)習(xí)模型效果Fig.2 The performance of federated learning under data distributions shown in Tab.1
表4 異構(gòu)情況下模型分組情況Tab.4 The statistical characteristics of groups under heterogeneous setting
表5 數(shù)據(jù)集的統(tǒng)計(jì)信息Tab.5 The statistical characteristics of the read datasets
由表4可見(jiàn),在表2的客戶端數(shù)據(jù)分布的情形下,當(dāng)子聯(lián)邦總數(shù)為3時(shí)的分組代價(jià)Bk最小,這也與直覺(jué)上相符,即應(yīng)當(dāng)將訓(xùn)練數(shù)據(jù)較多的前2個(gè)客戶端、訓(xùn)練數(shù)據(jù)適中的中間3個(gè)客戶端以及訓(xùn)練數(shù)據(jù)較少的后3個(gè)客戶端分開(kāi),即需要分組為3個(gè)子聯(lián)邦.為了更客觀地評(píng)估效果,下文給出由Mnist數(shù)據(jù)集基于表2的數(shù)據(jù)分布情形下模型分組前后的訓(xùn)練過(guò)程的模型效果,見(jiàn)圖3~6,采用的聯(lián)邦聚合策略是FedAvg,評(píng)價(jià)指標(biāo)為準(zhǔn)確率,圖中的Round為聯(lián)邦聚合輪數(shù).不進(jìn)行模型分組的情形的模型效果如圖3所示;模型分組后的第1個(gè)子聯(lián)邦的模型效果如圖4所示;模型分組后的第2個(gè)子聯(lián)邦的模型效果如圖5所示;模型分組后的第3個(gè)子聯(lián)邦的模型效果如圖6所示.
圖3 異構(gòu)情況下無(wú)模型分組的模型效果Fig.3 The performance of the model obtained via only 1 group
圖4 異構(gòu)情況下第1個(gè)子聯(lián)邦模型效果Fig.4 The performance of the model of the first group
圖5 異構(gòu)情況下第2個(gè)子聯(lián)邦模型效果Fig.5 The performance of the model of the second group
圖6 異構(gòu)情況下第3個(gè)子聯(lián)邦模型效果Fig.6 The performance of the model of the third group
為了比較模型分組前后各個(gè)客戶端的模型曲線,將各個(gè)客戶端使用基于模型分組的聯(lián)邦學(xué)習(xí)算法前后的準(zhǔn)確率按照模型分組情況在圖7~9中展示出來(lái).其中,準(zhǔn)確率圖表的綠色線代表模型分組之前的結(jié)果,藍(lán)色線代表模型分組之后的結(jié)果,圖中的Round指的是聯(lián)邦聚合的輪數(shù).
圖7 模型分組的第1個(gè)子聯(lián)邦準(zhǔn)確率對(duì)比圖Fig.7 The performance of the clients in the first group
圖8 模型分組的第2個(gè)子聯(lián)邦準(zhǔn)確率對(duì)比圖Fig.8 The performance of the clients in the second group
圖9 模型分組的第3個(gè)子聯(lián)邦準(zhǔn)確率對(duì)比圖Fig.9 The performance of the clients in the third group
從上圖展示的各客戶端準(zhǔn)確率的對(duì)比圖可以看出如下幾點(diǎn):
1)對(duì)于數(shù)據(jù)量較多的第1個(gè)子聯(lián)邦,模型分組后各個(gè)客戶端的模型訓(xùn)練速度和模型性能都要顯著高于未進(jìn)行模型分組前的情形,體現(xiàn)在客戶端1和客戶端2的對(duì)比圖中藍(lán)色曲線全程位于綠色曲線之上,猜測(cè)是由于模型分組消除了數(shù)據(jù)量較多的客戶端在模型聚合時(shí)受到數(shù)據(jù)量較小的子聯(lián)邦的客戶端模型訓(xùn)練步調(diào)較慢帶來(lái)的影響,從而提高模型性能.
2)對(duì)于數(shù)據(jù)量適中的第2個(gè)子聯(lián)邦,模型分組后各個(gè)客戶端的模型訓(xùn)練速度減緩,體現(xiàn)在客戶端3~5的對(duì)比圖在前80輪聚合時(shí)藍(lán)色曲線全程位于綠色曲線之下.然而隨著聚合輪數(shù)增加到一定程度后,各個(gè)客戶端的模型效果逐漸逼近甚至超過(guò)未進(jìn)行模型分組之前的情形,體現(xiàn)在客戶端3在80輪聚合附近,客戶端4在90輪聚合附近,客戶端5在100輪聚合附近出現(xiàn)藍(lán)色曲線反超綠色曲線的情形.這是因?yàn)?模型分組帶來(lái)的聚合模型收益比分組導(dǎo)致的數(shù)據(jù)量降低帶來(lái)的負(fù)面影響要大,最終導(dǎo)致分組后在訓(xùn)練時(shí)間較長(zhǎng)時(shí)獲得了更好的模型效果.
3)對(duì)于各客戶端數(shù)據(jù)量較少的第3個(gè)子聯(lián)邦,模型分組后各個(gè)客戶端的模型訓(xùn)練速度大幅減緩且模型效果較差,具體體現(xiàn)在客戶端6~8的對(duì)比圖,訓(xùn)練過(guò)程藍(lán)色曲線全程位于綠色曲線之下.甚至在訓(xùn)練過(guò)程中有部分客戶端出現(xiàn)了過(guò)擬合的情況,體現(xiàn)在聚合輪數(shù)大于80時(shí)客戶端6和客戶端7的藍(lán)色曲線開(kāi)始下降.出現(xiàn)這樣的情形猜測(cè)是由于各客戶端的數(shù)據(jù)量太少導(dǎo)致數(shù)據(jù)特征不足,使得模型分組消除掉的在聚合輪數(shù)較多時(shí)受到數(shù)據(jù)量較大的子聯(lián)邦的客戶端聚合時(shí)模型權(quán)重較高帶來(lái)的負(fù)面影響遠(yuǎn)不及分組后導(dǎo)致訓(xùn)練數(shù)據(jù)量降低帶來(lái)的負(fù)面影響顯著,最終導(dǎo)致模型效果整體大幅低于分組前的情況.
總體來(lái)看,模型分組之后,對(duì)于數(shù)據(jù)量較多的客戶端,其訓(xùn)練速度和模型效果均有一定提升;對(duì)于數(shù)據(jù)量較少的客戶端,其訓(xùn)練速度略有下降但訓(xùn)練時(shí)間較長(zhǎng)后的模型效果依舊超過(guò)未進(jìn)行模型分組之前的情況;對(duì)于數(shù)據(jù)量較少的客戶端,模型分組導(dǎo)致訓(xùn)練速度和模型效果全都降低.考慮到數(shù)據(jù)量較多的客戶端在全體客戶端中的權(quán)重占比較高,在客戶端數(shù)據(jù)數(shù)量3級(jí)分布的情況下使用基于模型分組的聯(lián)邦學(xué)習(xí)算法改進(jìn)傳統(tǒng)的聯(lián)邦學(xué)習(xí)算法對(duì)于全體的模型效果有一定提升.并且,在實(shí)際應(yīng)用中可以采取全局模型和多個(gè)分組模型相結(jié)合的策略,充分發(fā)揮學(xué)習(xí)側(cè)重點(diǎn)不同模型的優(yōu)勢(shì),可以顯著提升所構(gòu)建模型的整體性能.
新生兒的體溫調(diào)節(jié)功能尚不完善,因此要使嬰兒處于中性溫度,在此溫度中嬰兒的代謝率和耗氧量最低。新生兒的中性環(huán)境溫度隨著體重及天數(shù)大小而異:出生24小時(shí)內(nèi),新生兒的中性溫度為32℃~33℃,早產(chǎn)的未成熟兒為33℃~36℃;生后4~7天,足月兒的中性溫度降至31℃~32℃,未成熟兒降至32℃~34℃;胎齡越小、體重越小的嬰兒所需要的中性溫度也越高。外界環(huán)境溫度最低限度也不應(yīng)低于25℃。
這部分實(shí)驗(yàn)選擇經(jīng)典的時(shí)序數(shù)據(jù)集SWaT[17]作為測(cè)試數(shù)據(jù),該數(shù)據(jù)集是檢驗(yàn)航天器等設(shè)備運(yùn)維方法的常用數(shù)據(jù)集.SWaT數(shù)據(jù)集的數(shù)據(jù)量較大(共946722條數(shù)據(jù)),同時(shí)異常數(shù)據(jù)的占比較少(異常數(shù)據(jù)占比為5.7%).
與3.1節(jié)相同,利用隨機(jī)選擇的方法構(gòu)造不同分布的數(shù)據(jù)劃分,其中異構(gòu)情況的信息如表6所示.
表6 SWaT數(shù)據(jù)集異構(gòu)情況的數(shù)據(jù)分布Tab.6 The statistical characteristics of SWaT under heterogeneous setting
這部分選取異常檢測(cè)作為典型的設(shè)備運(yùn)維任務(wù)驗(yàn)證方法的有效性.因此,實(shí)驗(yàn)選擇了自動(dòng)編碼器作為異常檢測(cè)模型.采用的自動(dòng)編碼器[45]是一個(gè)全連接自動(dòng)編碼器,該編碼器用一個(gè)模型覆蓋所有的通道,輸入樣本是一個(gè)展平的時(shí)序數(shù)據(jù)子序列,即一個(gè)長(zhǎng)度為lw×m的矢量,其中輸入的時(shí)間序列的長(zhǎng)度為lw,每個(gè)數(shù)據(jù)的維度為m, 激活函數(shù)使用的是tanh.自動(dòng)編碼器的左半部分是編碼器部分,右半部分是解碼器部分,呈現(xiàn)對(duì)稱結(jié)構(gòu),編碼器的輸入與解碼器的輸出維度相同.編碼器本身是一個(gè)多層全連接感知器,輸入維度為lw×m,隱藏層中每2層的維數(shù)按2的冪減少并四舍五入獲得,編碼器輸出的維度為lw×(m/8+1).編碼器各層維度的示意圖如表7所示.
表7 自動(dòng)編碼器的結(jié)構(gòu)信息Tab.7 The structure information of the auto-encoder utilized
在劃分構(gòu)造的數(shù)據(jù)集上,同構(gòu)分布情況下利用傳統(tǒng)聯(lián)邦學(xué)習(xí)算法基于自動(dòng)編碼器構(gòu)造的異常檢測(cè)模型的實(shí)際性能如圖10所示.圖11是數(shù)據(jù)異構(gòu)情況下傳統(tǒng)算法構(gòu)造的異常檢測(cè)模型性能,可以看出異構(gòu)情況會(huì)極大影響傳統(tǒng)算法的性能,算法性能變得不穩(wěn)定,即隨著訓(xùn)練輪數(shù)的增加算法性能收斂性變?nèi)?并且在大多數(shù)客戶端上所展示的3個(gè)指標(biāo)上此種情況模型的性能明顯落后于同構(gòu)場(chǎng)景.
圖10 數(shù)據(jù)同構(gòu)情況下異常檢測(cè)模型的性能Fig.10 The performance of the anomaly detection model under the homogenous setting
圖11 數(shù)據(jù)異構(gòu)情況下傳統(tǒng)算法構(gòu)建的異常檢測(cè)模型的性能Fig.11 The performance of the anomaly detection model obtained by traditional methods under the heterogeneous setting
如圖12所示,利用本文提出的異構(gòu)聯(lián)邦算法構(gòu)建的異常檢測(cè)模型性能與同構(gòu)場(chǎng)景接近,圖12中只列舉了第2組模型分組的性能,其余分組性能類似,具體對(duì)比信息如表8所示.可以看到,所提出的算法可以改善獲取的異常檢測(cè)模型的性能,同時(shí),模型的性能也更穩(wěn)定.
表8 不同計(jì)算節(jié)點(diǎn)上的性能對(duì)比Tab.8 The performance comparison on different clients
面向構(gòu)建基于聯(lián)邦學(xué)習(xí)的智能運(yùn)維模型,針對(duì)航天器等關(guān)鍵設(shè)備運(yùn)維所面臨的異構(gòu)特點(diǎn),本文利用模型分組的思想提出一種數(shù)據(jù)分布和訓(xùn)練能力異構(gòu)情況下的聯(lián)邦學(xué)習(xí)算法,該算法利用模型特征進(jìn)行分組,提升了全局模型的性能,減小了不同訓(xùn)練效率設(shè)備間的延遲等待時(shí)間,標(biāo)準(zhǔn)測(cè)試數(shù)據(jù)和實(shí)際應(yīng)用數(shù)據(jù)上的實(shí)驗(yàn)結(jié)果表明所提出的方法是有效的,可以提升分布式異構(gòu)場(chǎng)景下的關(guān)鍵設(shè)備智能運(yùn)維的能力.