段昕汝, 陳桂茸, 姬偉峰, 申秀雨
(空軍工程大學信息與導航學院,西安,710077)
隨著云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)、無人技術等為代表的現(xiàn)代信息技術在軍事領域的廣泛應用,未來戰(zhàn)爭呈現(xiàn)信息化、智能化、協(xié)同化發(fā)展趨勢,聯(lián)合作戰(zhàn)成為打贏現(xiàn)代和未來戰(zhàn)爭的必然要求。在聯(lián)合作戰(zhàn)體系中,數(shù)據(jù)作為支撐高效指揮決策的戰(zhàn)略資源,發(fā)揮著重要的底層支撐作用,數(shù)據(jù)妥善管理和高效利用成為推動作戰(zhàn)能力整體躍遷和作戰(zhàn)樣式深度變革的重要動力。實現(xiàn)不同作戰(zhàn)系統(tǒng)間的數(shù)據(jù)安全互聯(lián)對進一步發(fā)揮數(shù)據(jù)資源在指揮決策中的支撐作用,實現(xiàn)高速計算、存儲、檢索的智能數(shù)據(jù)融合體系,構建大數(shù)據(jù)驅動的智能化模型,對加快推進智能化復雜網(wǎng)絡信息系統(tǒng)建設、助力軍事智能化發(fā)展具有重要意義。
由于前期系統(tǒng)建設的階段性和獨立性,以及戰(zhàn)略目的的針對性,不同系統(tǒng)間隔離程度較高,數(shù)據(jù)孤島成為軍事數(shù)據(jù)建設的關鍵掣肘因素。軍事數(shù)據(jù)的特殊戰(zhàn)略性地位,使得大數(shù)據(jù)在軍事領域的應用如同雙刃劍,在加快國防軍隊現(xiàn)代化的同時也要充分考慮信息化過程中隱藏的信息泄露的風險[1-2]。
現(xiàn)有研究依托于“網(wǎng)-端-云”結構理論結合統(tǒng)一體系結構框架方法,對后勤與裝備保障指揮信息系統(tǒng)進行建模,建立全域聯(lián)通的信息網(wǎng),然而這種大規(guī)模通信網(wǎng)絡并不能滿足對于安全需求較高的重要數(shù)據(jù)交互業(yè)務[3]?;趨^(qū)塊鏈的軍事數(shù)據(jù)安全治理方法實現(xiàn)數(shù)據(jù)的安全共享,并對交互過程執(zhí)行訪問控制[4],然而在實現(xiàn)了高質(zhì)量的數(shù)據(jù)安全同時也受到區(qū)塊鏈技術特性的限制,對于大數(shù)據(jù)業(yè)務交互效率較低。文獻[5]結合聯(lián)邦學習技術在聯(lián)合作戰(zhàn)場景下的應用進行分析建模,通過聯(lián)邦學習跨域安全互聯(lián)方法幫助不同作戰(zhàn)域進行信息整合,保障數(shù)據(jù)安全的前提下充分利用保存在各作戰(zhàn)域的數(shù)據(jù)資源,進而安全可靠的實施作戰(zhàn)任務協(xié)同,然而該方法尚未充分考慮數(shù)據(jù)結構、特征、分布的差異性。
本文基于聯(lián)邦學習技術開展進一步研究,提出多源異構網(wǎng)絡無數(shù)據(jù)融合方法,從交互媒介層面對傳統(tǒng)方法進行改進,弱化其對于局部模型和全局模型間的同構需求,同時已無數(shù)據(jù)方式知識遷移,保持對模型結構的不完全可知,一定程度上遏制了系統(tǒng)中的不安全因素。
聯(lián)邦學習(federated learning,FL)這一技術概念由Google公司首先提出并用于分布式語言模型的訓練中以保護用戶原始數(shù)據(jù)安全與隱私,在不共享原始數(shù)據(jù)的情況下通過模型梯度的周期性交互完成協(xié)同訓練(見圖1),利用FedAvg算法最小化全局目標函數(shù)優(yōu)化模型(見式(1)),解決了大規(guī)模分布式訓練網(wǎng)絡中的數(shù)據(jù)交互需求和隱私問題,同時實現(xiàn)了計算資源和數(shù)據(jù)分散化[6]。
(1)
式中:n為參與訓練的客戶端總數(shù);f(ω)為全局目標函數(shù);fi(ω)=(xi,yi;ω)表示局部參數(shù)化模型的損失函數(shù)。
圖1 移動終端上的聯(lián)邦學習方法原理
為進一步適應不同系統(tǒng)和數(shù)據(jù)分布的異構性,Li等人改進的FedProx算法允許在不同的設備之間局部執(zhí)行不同數(shù)量的工作,并在局部子問題上添加一個近端項以限制變量局部更新的影響[7]。如式(2)所示:
式中:ωi為第i個客戶端的局部參數(shù)化模型;Fi(ωi)為對應的損失函數(shù)。
以上方法在模型更新上具有相似的原理,均采用了梯度平均的思想,通過聚合邊緣節(jié)點上傳的局部模型梯度實現(xiàn)全局模型的訓練,此類方法要求各局部模型完全同構,一定程度上限制了模型對于本地數(shù)據(jù)的適應性。為解決聯(lián)邦學習中跨設備數(shù)據(jù)集的非獨立同分布(Non-IID)問題,Jeong等[8]首次提出了聯(lián)邦蒸餾(federated distillation,FD)的思想,打破了基于更新梯度傳統(tǒng)方法,以模型輸出代替模型梯度進行交互。Seo等[9]設計了一種交換模型輸出的分布式框架,從局部模型中提取logit輸出向量的統(tǒng)計量,并以元數(shù)據(jù)形式進行共享,提取局部模型知識同時提高了模型的通信效率。
知識蒸餾(knowledge distillation,KD)可在神經(jīng)網(wǎng)絡模型之間傳遞知識[10-11]。區(qū)別于標準神經(jīng)網(wǎng)絡通過匹配樣本的預測與真實標簽進而優(yōu)化模型參數(shù),知識蒸餾利用轉移集,通過匹配教師模型與學生模型的軟間隔優(yōu)化模型,將教師模型中的規(guī)律傳遞到學生模型上來改善模型性能。該方法不強調(diào)教師模型和學生模型之間同構,將其與聯(lián)邦學習相結合可以在保障本地數(shù)據(jù)安全的同時滿足多源網(wǎng)絡的異構性[12-16]。
生成對抗網(wǎng)絡(generative adversarial network,GAN)是一種基于零和博弈理論的生成式模型,該模型由2個同時訓練的模型構成,即生成器G和鑒別器D,通過2個模型的動態(tài)博弈訓練網(wǎng)絡模型其達到納什均衡,具體結構見圖2。近年來這一技術不斷進化,在數(shù)據(jù)增廣、遷移學習等領域展現(xiàn)出了巨大的潛力,在軍事領域具有廣闊的應用前景[17]。
圖2 條件生成對抗網(wǎng)絡結構圖
條件生成對抗網(wǎng)絡(conditional generative adversarial network,CGAN)[18]在GAN基礎上添加了條件標簽y,其結構見圖2。生成器使用噪聲向量z和條件標簽y合成一個偽樣本x*,鑒別器接收帶標簽的真實樣本(x,y)及帶生成標簽的偽樣本(x*|y,y),利用真實樣本-標簽對訓練鑒別器完成識別配對,同時利用偽樣本-標簽對學習識別偽樣本并與真實樣本區(qū)分開來,其目標函數(shù)為:
Ez~p(z)[log(1-D(G(z|y)))]
(3)
CGAN用于樣本增強可以在不依賴先驗假設的情況下實現(xiàn)數(shù)據(jù)復雜分布特征的學習,生成與原始數(shù)據(jù)分布相似的高質(zhì)量樣本,通過擴充數(shù)據(jù)集提升模型在現(xiàn)有樣本上的識別率。Lee等[19]利用CGAN實現(xiàn)了虹膜圖像數(shù)據(jù)增強,并使用這種增強方法提高了識別性能,緩解了神經(jīng)網(wǎng)絡訓練中缺少標記樣本的問題,解決了生物特征隱私問題。Souibgui等[20]針對文檔退化導致的讀取困難問題,提出了一種有效的文檔增強生成對抗網(wǎng)絡(DE-GAN),使用CGANs來恢復嚴重退化的文檔圖像,生成高質(zhì)量的降級文檔。Yang等[21]對于噪聲魯棒語音識別問題,利用CGAN實現(xiàn)音頻數(shù)據(jù)增強,提高在噪聲環(huán)境下的語音識別能力。Roheda等[22]提出使用CGAN從傳感器數(shù)據(jù)中提取知識,并增強低分辨率的目標檢測。
信息化戰(zhàn)爭制勝的關鍵在于能否及時有效地對海量作戰(zhàn)數(shù)據(jù)進行整合,將信息優(yōu)勢轉化為作戰(zhàn)優(yōu)勢。在聯(lián)合作戰(zhàn)場景中,樣本數(shù)據(jù)來源廣泛、特征迥異且具有戰(zhàn)略特殊性,整合時需要重點考慮以下問題:
1)系統(tǒng)安全性。在進行信息融合的過程中通常涉及多個作戰(zhàn)域的信息交互,作戰(zhàn)數(shù)據(jù)中可能包含關鍵戰(zhàn)略信息,此類數(shù)據(jù)在使用時需全面考慮交互過程中存在的安全風險,在保證數(shù)據(jù)安全的情況下對數(shù)據(jù)資源進行合理、高效、充分的利用。
2)數(shù)據(jù)異構性。用于訓練的各單位數(shù)據(jù)往往普遍存在異構性。首先,全局數(shù)據(jù)與局部數(shù)據(jù)分布存在差異,即Pk≠Pjoint,用戶k的損失函數(shù)的期望可能不滿足EPk[Fk(ω)]=f(ω),導致直接全局共享模型可能比單獨訓練私有數(shù)據(jù)的本地模型表現(xiàn)差;其次,各單位數(shù)據(jù)規(guī)模存在不平衡問題,基于數(shù)據(jù)安全設定,系統(tǒng)中的各單位不直接進行數(shù)據(jù)交互,可能導致收斂緩慢、全局模型飄移等問題。
3)目標差異性。針對不同的本地數(shù)據(jù)表示、不同的硬件能力、不同的任務,各作戰(zhàn)域設計模型的目標和提取結構可能存在較大差異。其中服務器的目標是適合Pjoint(x,y)的廣義模型,而客戶端的目標是適合Pk(x,y)的個性化模型,可能存在更新對聯(lián)合模型訓練有害但對本地模型有益的情況,因此基于本地數(shù)據(jù)訓練單一可用的模型對各單位具體情況缺乏適用性。
為了解決以上問題,本文深入分析了聯(lián)邦學習系統(tǒng)框架及模型訓練流程,并從以下2個維度加以改進:
1)聯(lián)邦學習機制中的信息交互介質(zhì)?,F(xiàn)有方法大多基于模型梯度完成信息共享,通過數(shù)學運算完成對局部模型的聚合。本文通過加密共享本地服務器上訓練的完整網(wǎng)絡模型,同時限制聚合時對局部網(wǎng)絡結構的可知性。
2)聯(lián)邦學習的聚合方法。通過局部教師模型-全局模型的架構對局部模型知識進行提取,允許局部模型與全局模型之間的差異性,允許各單位針對性細化模型及訓練算法,獨立地訓練個性化模型,并利用局部模型的集成知識豐富全局模型,緩解局部模型中由異構性引起的模型漂移,細化全局模型。
本文考慮了典型的聯(lián)邦學習設置,即包括一個聚合服務器和N個持有本地數(shù)據(jù)集的私有域,這些本地數(shù)據(jù)集共享相同的特征空間且樣本不重疊。在不進行數(shù)據(jù)互通前提下協(xié)同訓練模型實現(xiàn)信息交互,基于聯(lián)邦學習系統(tǒng)模型見圖3。
圖3 總體框架
具體來說,為了保證數(shù)據(jù)的安全性,在進行模型訓練時通過設置一個私有特征提取器對原始數(shù)據(jù)進行特征提取,從而避免模型直接接觸原始數(shù)據(jù),保護源數(shù)據(jù)的隱私,進而保證了源數(shù)據(jù)在系統(tǒng)內(nèi)的安全性。通過特征提取減少數(shù)據(jù)的維度,去除冗余信息,同時保留數(shù)據(jù)的重要特征,從而提高模型的精度和效率。其次,通過聯(lián)合訓練一個輕量級生成器,以無數(shù)據(jù)的方式集成用戶信息,作為歸納偏差來調(diào)節(jié)局部數(shù)據(jù)并轉移知識,以獲得更好的收斂性能,緩解數(shù)據(jù)的異構性。最后利用知識蒸餾的方法進行模型聚合,將局部教師模型的知識轉移到全局模型中,允許多個教師模型之間異構,即不同類型的模型可以參與知識蒸餾,從而實現(xiàn)在保證模型準確性的同時提高模型的效率和對局部目標的適用性。
D為所有數(shù)據(jù)樣本的集合,X為數(shù)據(jù)集中所包含的特征集合,Y為樣本X對應的標簽集,Dk為本地客戶端數(shù)據(jù)子集,其中k∈K,K為參與訓練的客戶端集合。X?d表示數(shù)據(jù)集D中的樣本對應特征空間,Z?c表示潛在空間,其中c CGAN參數(shù)化模型(θG,θD),其中θG為生成器G(z,y)=x*|y,θD為判別器D(x*|y,x)。 在教師-學生架構中,ωk為教師模型,ω為學生模型,Dt為知識蒸餾轉移集。 本算法通過訓練CGAN網(wǎng)絡提取關于數(shù)據(jù)分布的全局視圖,向本地用戶傳達多方共識知識,指導局部模型的訓練,并從給定的教師網(wǎng)絡中生成圖像,通過局部教師模型-全局模型的框架對各單位異構網(wǎng)絡的知識進行遷移以訓練全局模型。具體的算法如表1所示。 表1 聯(lián)邦無數(shù)據(jù)蒸餾算法(FedND)流程 首先由中央服務器初始化并廣播CGAN參數(shù)化模型,并由各客戶端基于可用的本地數(shù)據(jù)訓練CGAN網(wǎng)絡使其達到納什平衡。其目標函數(shù): Ez~pk(z){log[1-D(G(z|y))]} (4) 中央服務器利用各單位學習到的生成器以聚合來自不同本地客戶端的信息,計算全局最小化損失擬合局部模型使模型的損失降到最低。并通過訓練生成網(wǎng)絡,利用其潛在空間恢復一個誘導分布G*:Y→Z(見式(5)以緩解訓練過程中的相關數(shù)據(jù)安全問題。 學習一個參數(shù)化條件生成器θG提取知識以優(yōu)化以下目標: 式中:g(·)和σ(·)是logit輸出和激活函數(shù)。給定任意的目標標簽y,生成器可以產(chǎn)生特征z~G(·|y)。從用戶模型的集合中誘導理想的預測,這與來自全局視圖的用戶數(shù)據(jù)是一致的。 局部設備利用生成器聚合知識識別出本地數(shù)據(jù)樣本中缺少的目標標簽,基于目標標簽生成與全局數(shù)據(jù)分布相似的高質(zhì)量樣本,以實現(xiàn)樣本增強直至滿足IID特性,使全局數(shù)據(jù)分布Pjoint與局部數(shù)據(jù)分布Pk滿足Pk=Pjoint(見圖4)。 圖4 數(shù)據(jù)增強 其次,通過局部教師模型-全局模型的框架,利用生成器生成轉移集Dt蒸餾細化全局模型(見圖5),最小化教師模型和學生模型softmax層對應輸出向量的差距,具體計算方式如下: σ(g((G(x*|y),ω)))]} (7) (8) 圖5 聯(lián)邦無數(shù)據(jù)蒸餾聚合 與現(xiàn)有方法相比,本文方法具有以下優(yōu)點: 1)將局部模型的訓練從全局中解耦出來,以便根據(jù)局部目標調(diào)整訓練算法與網(wǎng)絡模型結構,允許多個數(shù)據(jù)源針對性訓練局部模型; 2)利用教師-全局模型架構提取知識而不是直接對局部模型參數(shù)進項加權平均,允許對局部訓練算法和模型結構保持一定的不可知性; 3)利用CGAN實現(xiàn)數(shù)據(jù)增強,提高模型訓練效率和收斂速度,減小通信開銷。 4)使用無數(shù)據(jù)融合的方法,用生成數(shù)據(jù)代替本地小批量樣本作為轉移集,保證了本地數(shù)據(jù)源的安全性。 實驗選取了不同數(shù)據(jù)集用以驗證方法的有效性,包含廣泛用于機器學習任務研究和評估的MNIST、EMNIST、CELEBA數(shù)據(jù)集和真實FOQA數(shù)據(jù)集。其中,MNIST數(shù)據(jù)集包含了70 000個灰度圖像樣本,每個樣本的維度為28像素×28像素,對應10類樣本標簽;EMNIST數(shù)據(jù)集是基于MNIST數(shù)據(jù)集擴展而來的一個數(shù)據(jù)集,包含大寫字母、小寫字母、數(shù)字和符號等6類樣本;CELEBA數(shù)據(jù)集包含10 177個名人身份的202 599張圖片樣本,并且都做好了特征標記,每個圖像都附帶了40個不同的屬性標簽。FOQA數(shù)據(jù)集是NASA研究團隊開源的真實數(shù)據(jù)集,包括99 837個不同航線的樣本數(shù)據(jù),對應4類標簽,每個數(shù)據(jù)樣本為160×20維。 實驗基于中心化的系統(tǒng)架構開展,包括1個聚合服務器和20個邊緣訓練節(jié)點,將訓練集和測試集分成20組分發(fā)至不同的模擬邊緣訓練節(jié)點,以還原實際應用場景中不同節(jié)點間數(shù)據(jù)相互隔離的設定。實驗設置了200輪迭代,并對所有邊緣節(jié)點使用相同的超參進行設置,批處理大小epochs為32,學習率η為0.01,優(yōu)化器為Adam,蒸餾溫度參數(shù)為10。 為了驗證本方法的有效性及可用性,實驗結合卷積神經(jīng)網(wǎng)絡將本文的FedND算法與FedAvg算法[6]、FedProx算法[7]、FedDistill算法[8]性能進行對比,并采用如下指標對實驗結果進行評估:①準確率accuracy:分類正確的樣本占全部測試樣本的比例;②模型損失loss:衡量全局模型的預測結果與真實標簽之間的差異程度,記錄全局模型的損失函數(shù)變化趨勢。 首先驗證算法對于異構樣本的有效性。對于MNIST和EMNIST數(shù)據(jù)集,本文使用dirichlet函數(shù)將數(shù)據(jù)集劃分為20組,通過調(diào)整Dirichlet分布參數(shù)來控制生成的每組分配的樣本數(shù),使得每個數(shù)據(jù)子集的樣本分布不同,滿足數(shù)據(jù)異構性設定,并用于訓練本地模型;對于CELEBA數(shù)據(jù)集,隨機將屬于不同名人的圖片聚集成不相交的組來增加了數(shù)據(jù)的異構性;對于FOQA數(shù)據(jù)集,隨機劃分不同樣本數(shù)據(jù)來表現(xiàn)數(shù)據(jù)子集的異構性。 在4個數(shù)據(jù)集上不同算法下模型訓練收斂過程對比見圖6,實驗結果顯示,在迭代輪數(shù)小于200時本算法能夠更快地進行學習使全局模型收斂,且從模型精度上來看本方法略優(yōu)于其他3個對照組。圖中結果表明了在相同的條件下,本方法以更小的通信輪數(shù)達到更優(yōu)的訓練效果,減小了模型收斂所需的交互次數(shù),從而減少實際應用中的通信開銷和信息暴露面。 (a) MNIST (b) EMNIST (c) CELEBA (d) FOQA 圖7給出了不同算法下模型訓練過程的損失對比,可以看出,隨著迭代輪數(shù)的增加,FedND在實驗數(shù)據(jù)集上損失更低。 (a) MNIST (b) EMNIST (c) CELEBA 為進一步探討數(shù)據(jù)異構性對模型精度的影響,本文利用MNIST和EMNIST數(shù)據(jù)集開展進一步驗證。利用numpy庫中的Dirichlet分布函數(shù)對數(shù)據(jù)子集的異構性程度進行量化,通過設置超參數(shù)α的值控制分布的形狀,進而驗證本方法下數(shù)據(jù)分布的異構程度與模型精度之間的關系。實驗結果如表2所示,其中α值越大表示數(shù)據(jù)子集間的分布異構性越弱;α值越小則概率分布更分散,數(shù)據(jù)子集間的分布異構性越強。首先實驗結果表明,在同樣的超參數(shù)條件下本文所提出的方法在模型精度上略高于其他對照組。其次,實驗結果反映了數(shù)據(jù)異構性對模型性能的影響:FedND對不同量級的異構性具有魯棒性,特別是當數(shù)據(jù)分布高度異構時,本方法對全局模型的增益效果更為顯著。 本文提出了一種基于聯(lián)邦學習的多源異構網(wǎng)絡無數(shù)據(jù)融合方法,在傳統(tǒng)的聯(lián)邦優(yōu)化算法的基礎上加以改進,引入知識蒸餾用于解決各單位普遍存在的數(shù)據(jù)異構性問題,同時使用聚合知識細化服務器模型代替直接聚合的模型參數(shù),強化了聯(lián)邦學習系統(tǒng)的安全性,通過保持聚合服務器對局部模型的不可知性,減少安全風險保護代理數(shù)據(jù);利用CGAN網(wǎng)絡集成代理信息和數(shù)據(jù)成分布知識調(diào)節(jié)模型訓練,實現(xiàn)不依賴于任何外部數(shù)據(jù)模型知識蒸餾。通過基于MNIST數(shù)據(jù)集和CELEBA數(shù)據(jù)集驗證了方法的有效性,實驗結果表明,對比于其他3種聯(lián)邦學習算法,本文方法可以使用更少聚合輪數(shù)達到更好的效果,在收斂速度和模型精度上優(yōu)于現(xiàn)有的聯(lián)邦學習算法,可以有效減少邊緣服務器和中央服務器之間的通信。3.2 聯(lián)邦無數(shù)據(jù)蒸餾算法
4 實驗及分析
4.1 數(shù)據(jù)集及實驗設置
4.2 實驗結果及分析
5 結語