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