李 健 劉海濱 胡 笛
(中國航天系統(tǒng)科學(xué)與工程研究院 北京 100048)
武器系統(tǒng)的效能通常指的是在特定環(huán)境下武器完成任務(wù)的能力,是規(guī)劃、研發(fā)武器系統(tǒng)的基本依據(jù),也是評價(jià)武器系統(tǒng)極其重要的指標(biāo),是軍事運(yùn)籌研究的出發(fā)點(diǎn)和歸宿[1]。
由于武器系統(tǒng)的復(fù)雜性,導(dǎo)致其效能的評估變得尤其困難。武器系統(tǒng)的評估,必須要綜合考慮影響其效能的所有重要指標(biāo)?,F(xiàn)階段評價(jià)武器系統(tǒng)的方法主要有神經(jīng)網(wǎng)絡(luò)[2-3]、支持向量機(jī)[4]和模糊綜合評估[5]等方法,每種方法都各有優(yōu)劣[6]。
基于神經(jīng)網(wǎng)絡(luò)的評估方法簡單易行,但最終效果對于訓(xùn)練集的大小有一定的依賴性。若訓(xùn)練集太小,容易造成欠擬合,模型找到的規(guī)律不能很好地表現(xiàn)數(shù)據(jù)特征,進(jìn)而不能準(zhǔn)確地?cái)M合預(yù)測結(jié)果。
基于支持向量機(jī)的評估方法對于小樣本數(shù)據(jù)有比較好的預(yù)測效果,但支持向量機(jī)對缺失數(shù)據(jù)敏感,同時(shí)對于非線性問題核函數(shù)的選擇沒有通用的解決方案。
基于模糊綜合評估法的模型,能夠?qū)⒂绊懸蛩厝考{入考量范圍,準(zhǔn)確率較高,但其中的隸屬度函數(shù)和權(quán)值的選擇目前還存在不確定,需要人工進(jìn)行選取。
本文主要是針對神經(jīng)網(wǎng)絡(luò)評估的劣勢問題,提出了“生成對抗網(wǎng)絡(luò)+深度神經(jīng)網(wǎng)絡(luò)”的解決方案。探索研究生成對抗網(wǎng)絡(luò)在樣本擴(kuò)增方面的應(yīng)用,結(jié)合深度神經(jīng)網(wǎng)絡(luò)建立評估模型,并對其效果和性能進(jìn)行了對比分析。
生成對抗網(wǎng)絡(luò)(GAN,Generative Adversarial Nets)是一種深度學(xué)習(xí)模型,最早由Goodfellow等[7]于2014年10月提出。GAN的優(yōu)化過程是一個(gè)極小極大博弈問題,其優(yōu)化目標(biāo)是達(dá)到納什均衡[8]。
生成對抗網(wǎng)絡(luò)如圖1所示,包括兩部分,生成模型G和判別模型D。生成模型G用于獲取數(shù)據(jù)的分布,判別模型D用于估算數(shù)據(jù)來自于訓(xùn)練樣本還是生成模型G的概率。G的訓(xùn)練是為了使得D最大化犯錯(cuò)誤的可能性。該模型類似于一個(gè)雙人博弈游戲,在G和D的函數(shù)解空間中存在著唯一解。伴隨著G得到訓(xùn)練數(shù)據(jù)的分布,D輸出的概率逐漸趨于1/2。當(dāng)G和D定義為多層感知器的情況下,整個(gè)系統(tǒng)可以通過反向傳播進(jìn)行訓(xùn)練。在訓(xùn)練和產(chǎn)生樣本的過程中,不需要任何的馬爾可夫鏈或者近似推理網(wǎng)絡(luò)。
圖1 GAN算法的基本結(jié)構(gòu)
生成模型G:一個(gè)生成網(wǎng)絡(luò),通過接收噪聲z,產(chǎn)生偽數(shù)據(jù)G(z);
判別模型D:一個(gè)判別網(wǎng)絡(luò),通過接收輸入樣本數(shù)據(jù)x,輸出數(shù)據(jù)是真數(shù)據(jù)還是G(z)的概率D(x)。
對于判別模型D,其目的是區(qū)分?jǐn)?shù)據(jù)的真假,即來自于原樣本數(shù)據(jù)x的D(x)的輸出越接近于1越好,而對于D(G(z))越接近于0越好。對于生成模型G,其目的是使該模型產(chǎn)生的偽數(shù)據(jù)G(z)盡可能地騙過判別模型D,即D(G(z))越大越好[9]。因此,GAN中D與G的訓(xùn)練便成為使用函數(shù)V(G,D)的二者博弈極小極大值問題:
minGmaxDV(D,G)=
Ex~pdata(x)[logD(x)]+Ez~pz(z)[log(1-D(G(z)))]
(1)
對應(yīng)生成模型G和判別模型D的代價(jià)函數(shù)為:
minGV(D,G)=-Ez~pz(z)[log(1-D(G(z)))]
(2)
maxDV(D,G)=-Ex~pdata(x)[logD(x)]-
Ez~pz(z)[log(1-D(G(z)))]
(3)
深度神經(jīng)網(wǎng)絡(luò)[10-11]如圖2所示,其內(nèi)部結(jié)構(gòu)可以分為三層:輸入層、多層隱藏層和輸出層。深度神經(jīng)網(wǎng)絡(luò)是一種有效的多層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,其主要特點(diǎn)是信號前向傳遞,而誤差后向傳播,通過不斷調(diào)節(jié)網(wǎng)絡(luò)權(quán)重值,使得網(wǎng)絡(luò)的最終輸出與期望輸出盡可能接近,以達(dá)到訓(xùn)練的目的。
圖2 深度神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)
假設(shè)有m個(gè)訓(xùn)練樣本,其中tk為對于輸入xk的期望輸出。其一般代價(jià)代價(jià)函數(shù)Ep為:
(4)
利用得到的誤差值進(jìn)行逆向傳播,利用求導(dǎo)等方式得到神經(jīng)元權(quán)值ω、偏執(zhí)量b的修正:
(5)
(6)
(7)
(8)
可以看出,神經(jīng)元權(quán)值和偏執(zhí)量的變化取決于誤差,與激活函數(shù)無關(guān)。
支持向量回歸(Support Vector Regression,SVR)是Vapnik等在1996年提出的應(yīng)用在數(shù)據(jù)擬合問題的向量機(jī)算法。與傳統(tǒng)的SVM(Support Vector Machine)相比,SVR的目的也是尋找最優(yōu)超平面,但是SVR能找到更準(zhǔn)確預(yù)測數(shù)據(jù)分布的平面[12]。目前,SVR算法在數(shù)據(jù)的擬合、預(yù)測等方面有著非常良好的效果。
SVR模型表示為:
(9)
(10)
經(jīng)過拉格朗日函數(shù)及其求偏導(dǎo)數(shù)一系列變化之后可得到最終需要優(yōu)化的目標(biāo)W為:
(11)
由此可知,SVR的性能主要取決于參數(shù)C、ε、核函數(shù)類型以及核參數(shù)。常用的核函數(shù)包括:線性核、多項(xiàng)式核、徑向基核函數(shù)等。
本文運(yùn)用GAN算法進(jìn)行數(shù)據(jù)生成,同時(shí)利用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測,實(shí)現(xiàn)諸多影響因素與最終結(jié)果之間的映射關(guān)系。其詳細(xì)過程如圖3所示。
圖3 模型構(gòu)建流程圖
由于影響電子對抗的因素種類較多,且不同因素之間的量綱不同,不具有可比性。因此,在實(shí)驗(yàn)過程中,首先對原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,將其統(tǒng)一轉(zhuǎn)化到[-1,1]區(qū)間。每組影響因素之間的轉(zhuǎn)化公式為:
(12)
將標(biāo)準(zhǔn)化后的數(shù)據(jù)進(jìn)行生成對抗網(wǎng)絡(luò)訓(xùn)練,其中,主要是生成模型G和判別模型D的博弈。使用隨機(jī)噪聲和真實(shí)樣本數(shù)據(jù)訓(xùn)練生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò),使得兩者達(dá)到納什均衡,最終獲得功能強(qiáng)大的判別網(wǎng)絡(luò)和可模擬原數(shù)據(jù)的生成網(wǎng)絡(luò)。
生成模型G是一個(gè)生成網(wǎng)絡(luò),通過接收隨機(jī)高斯噪聲z,產(chǎn)生偽數(shù)據(jù)G(z)。假設(shè)已知訓(xùn)練樣本的分布p(x),那么就可以在分布中隨機(jī)抽樣得到新樣本。生成模型就是在不斷循環(huán)和訓(xùn)練中得到噪聲z和訓(xùn)練樣本x之間的關(guān)系。在實(shí)驗(yàn)中,隨機(jī)噪聲服從均值為0,標(biāo)準(zhǔn)差為1的高斯分布N(0,1)。
判別模型D是一個(gè)判別網(wǎng)絡(luò),通過接收輸入x,輸出數(shù)據(jù)是真數(shù)據(jù)還是G(z)的概率D(x)。對于判別模型D,其目的是區(qū)分?jǐn)?shù)據(jù)的真假,即來自于原樣本數(shù)據(jù)x的D(x)的輸出越接近于1越好,而D(G(z))越接近于0越好;對于生成模型G,其目的是使該模型產(chǎn)生的偽數(shù)據(jù)G(z)盡可能地騙過判別模型D,即D(G(z))越大越好。通過生成模型G和判別模型D的相互博弈和訓(xùn)練,使得G和D的性能在迭代過程中不斷提升,最終達(dá)到納什均衡狀態(tài)。
GAN模型采用隨機(jī)梯度上升更新判別模型,同時(shí)采用隨機(jī)梯度下降更新生成模型,設(shè)置最大迭代次數(shù)T=500,判別模型的訓(xùn)練步數(shù)k是一個(gè)超參數(shù),實(shí)驗(yàn)中k=Round(N/batch),Ronud(*)表示取整函數(shù),N表示樣本量,batch表示每次取出樣本的數(shù)量。
從分布pz(z)、pdata(x)的m個(gè)樣本{z1,z2,…,zm}、{x1,x2,…,xm}中分別選取batch個(gè)樣本,利用式(3)計(jì)算其代價(jià)函數(shù),通過隨機(jī)梯度上升更新判別模型:
(13)
待k次訓(xùn)練更新判別模型之后,從分布pz(z)的m個(gè)樣本{z1,z2,…,zm}中選取batch個(gè)樣本,利用式(2)計(jì)算其代價(jià)函數(shù),通過隨機(jī)梯度下降更新生成模型:
(14)
假設(shè)有真實(shí)數(shù)據(jù)data,可以看作一組向量,pdata(x)為真實(shí)數(shù)據(jù)對應(yīng)分布。在整個(gè)訓(xùn)練過程中,pz(z)逐漸地收斂于pdata(x)。對應(yīng)有如下理論:
定理1固定G,得到最優(yōu)的判別模型D:
(15)
證明:固定G,原最優(yōu)函數(shù)轉(zhuǎn)化為求maxDV(D,G)。將原公式中的數(shù)學(xué)期望展開為積分形式。
V(G,D)=Ex~pdata(x)[logD(x)]+Ez~pz(z)[log(1-D(G(z)))]=
(16)
求積分的最大值可以轉(zhuǎn)化為求被積函數(shù)的最大值。上式中不涉及判別模型D的項(xiàng)都可以看作常數(shù)項(xiàng)。因此,被積函數(shù)可以表示為f(D)=alogD+blog(1-D)。當(dāng)被積函數(shù)導(dǎo)數(shù)為0時(shí),D可以取到最大值。
(17)
計(jì)算可得:
(18)
定理2如果G和D有足夠的性能,對于上述定理1中的每一步,給定G,判別模型能夠達(dá)到最優(yōu),并且通過更新pz(x)來提高判別準(zhǔn)則:
(19)
要使得上式值達(dá)到最優(yōu),則D*(x)=1/2,即pz(x)=pdata(x)。
證明:將定理1中的結(jié)果代入目標(biāo)函數(shù)中:
C(G)=V(G,D*)=
(20)
(21)
從JS距離的定義可知,當(dāng)且僅當(dāng)KL(a‖b)中的a=b時(shí),等號成立。所以當(dāng)pz(x)=pdata(x)時(shí):
C(G)=-log4+2JSD(pdata‖pg)≥-log4
(22)
當(dāng)且僅當(dāng)D*(x)=1/2,即pz(x)=pdata(x)時(shí),該不等式取到等號,C(G)取到最小值。
由定理1和定理2可得,整個(gè)模型達(dá)到納什均衡后,生成模型已經(jīng)得到原數(shù)據(jù)分布的良好的估計(jì)分布,即pz(z)=pdata(x)。
待對抗網(wǎng)絡(luò)訓(xùn)練結(jié)束后,使用訓(xùn)練后的生成模型生成一定量的偽數(shù)據(jù)F,與原始樣本數(shù)據(jù)R組成擴(kuò)增樣本K。較原始數(shù)據(jù)相比,擴(kuò)增樣本分布與其基本一致,但數(shù)據(jù)量有明顯提升。
使用擴(kuò)增樣本K訓(xùn)練基于BP神經(jīng)網(wǎng)絡(luò)的深度網(wǎng)絡(luò),深度網(wǎng)絡(luò)共11個(gè)輸入節(jié)點(diǎn),中間多層隱藏層,一個(gè)輸出節(jié)點(diǎn)。通過誤差的反向傳播理論,利用式(4)-式(8)逐層反向傳播,修正偏執(zhí)量和神經(jīng)元權(quán)值。最終得到一個(gè)完整的生成對抗網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)的模型。
本文以電子對抗的效能評估為例進(jìn)行說明。由于影響電子對抗的因素太多,這里選取干擾強(qiáng)度、干擾時(shí)間、檢索速率、干擾頻率、距離檢索范圍、距離追蹤范圍、距離追蹤精度、角度跟蹤精度、速度追蹤范圍和速度追蹤精度等作為影響因子[13-15]。
本文采用均方根誤差(Root Mean Square Error,RMSE)作為模型的評價(jià)指標(biāo)。RMSE是預(yù)測值與實(shí)際值之差的平方和與數(shù)據(jù)總量比值的平方根。與標(biāo)準(zhǔn)差對比,均方根誤差用來衡量預(yù)測值和實(shí)際值之間的偏差,標(biāo)準(zhǔn)差則衡量一組數(shù)據(jù)自身的離散程度。
(23)
實(shí)驗(yàn)使用226個(gè)測試數(shù)據(jù)作為原始樣本數(shù)據(jù),利用生成模型生成偽數(shù)據(jù)的擴(kuò)增樣本為1 800個(gè)。歸一化后的數(shù)據(jù)樣本如表1所示。
表1 歸一化之后的數(shù)據(jù)樣本
實(shí)驗(yàn)中我們采用結(jié)果對比來驗(yàn)證模型的優(yōu)劣,對比的模型為:
? 遺傳算法得到最優(yōu)參數(shù)的SVR。
? 原始數(shù)據(jù)訓(xùn)練的深度BP神經(jīng)網(wǎng)絡(luò)。
每次實(shí)驗(yàn)從原始樣本中隨機(jī)取出10個(gè)作為預(yù)測值,剩余的數(shù)據(jù)作為訓(xùn)練集分別對遺傳算法改進(jìn)SVR、深度BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后使用除去預(yù)測值的擴(kuò)增樣本訓(xùn)練擴(kuò)增深度神經(jīng)網(wǎng)絡(luò)。
實(shí)驗(yàn)總共進(jìn)行了7組預(yù)測,表2為不同組別不同模型下的RMSE值。
表2 隨機(jī)測試數(shù)據(jù)在不同模型下的RMSE
從表2可以看出,原始數(shù)據(jù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的擬合效果除了第3組和第7組優(yōu)于SVR之外,其他5組擬合效果均不如SVR。這說明大多數(shù)情況下小樣本的擬合SVR是普遍優(yōu)于神經(jīng)網(wǎng)絡(luò)的,也一定程度上說明傳統(tǒng)的武器效能評估模型的不穩(wěn)定性,使得在效能評估的時(shí)候難以抉擇合適的模型。但是,擴(kuò)增樣本訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)的RMSE值均小于原數(shù)據(jù)訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)和SVR,說明該模型的擬合效果要優(yōu)于SVR和小樣本訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)。另外,從第1組、第2組和第6組數(shù)據(jù)結(jié)果可以看出,本文提出的的模型要優(yōu)于兩個(gè)對比的傳統(tǒng)模型,這種差異在圖4中表現(xiàn)得更加直觀。圖4為7組隨機(jī)測試數(shù)據(jù)在不同模型下的RMSE柱狀圖。
圖4 7組隨機(jī)測試數(shù)據(jù)在不同模型下的RMSE
為了更好地展示各模型的綜合優(yōu)劣性,對7組RMSE求均值,如圖5所示。
圖5 7組隨機(jī)測試數(shù)據(jù)在不同模型下的RMSE均值
擴(kuò)增樣本訓(xùn)練的模型平均RMSE為0.046 5,原數(shù)據(jù)使用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的模型平均RMSE為0.072 1,原數(shù)據(jù)使用SVR訓(xùn)練的模型平均RMSE為0.067 6,較原數(shù)據(jù)神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果小0.005左右,可見在武器系統(tǒng)的小樣本數(shù)據(jù)的效能評估方面,SVR要優(yōu)于深度BP神經(jīng)網(wǎng)絡(luò),但優(yōu)勢不是非常明顯。通過本文模型訓(xùn)練得到的平均RMSE最小,比其他兩種模型分別小0.025 6和0.021 1,差值明顯。由此可得,從綜合效果來看,擴(kuò)增樣本訓(xùn)練得到的深度網(wǎng)絡(luò)模型要遠(yuǎn)優(yōu)于傳統(tǒng)的兩種對比模型。
選取其中一組的結(jié)果進(jìn)行展示,圖6為第7組對應(yīng)的實(shí)際值和預(yù)測結(jié)果。
圖6 模型預(yù)測結(jié)果和真實(shí)值對比
從圖6可以看出,原數(shù)據(jù)訓(xùn)練的深度BP神經(jīng)網(wǎng)絡(luò)和SVR擬合的效果各有優(yōu)劣,但是擴(kuò)增樣本訓(xùn)練的深度網(wǎng)絡(luò)模型的擬合曲線明顯更契合原始數(shù)據(jù)點(diǎn)。從單組擬合效果來看,本文的模型優(yōu)于傳統(tǒng)的兩種模型。
從上述所有結(jié)果中可以看出,無論從單組的誤差還是均誤差亦或是擬合效果,擴(kuò)增樣本訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)都明顯優(yōu)于其他兩個(gè)算法。這是由于擴(kuò)增樣本通過擴(kuò)充深度神經(jīng)網(wǎng)絡(luò)中的訓(xùn)練數(shù)據(jù),使得其模型預(yù)測效果更佳。
在實(shí)驗(yàn)過程中發(fā)現(xiàn),對于某些異常值(如第4組實(shí)驗(yàn)結(jié)果中的標(biāo)記點(diǎn)),三個(gè)模型預(yù)測效果均比較差,如圖7所示。
圖7 模型預(yù)測結(jié)果和真實(shí)值對比(含異常值)
圖7中的標(biāo)記點(diǎn)及其圖6中的第2個(gè)點(diǎn),對應(yīng)三種模型預(yù)測的結(jié)果都比較差,因此可以假設(shè)原專家給分或測試可能有誤,或其不是來自于統(tǒng)一標(biāo)準(zhǔn)。以往在專家或測試給出評測之后,無法得知此次評估是否與先前的經(jīng)驗(yàn)有較大的差別,而現(xiàn)在可將該系統(tǒng)的評估結(jié)果輸入到判別網(wǎng)絡(luò)對其進(jìn)行打分,驗(yàn)證其與先前的評估是否存在較大差異,進(jìn)而決定專家是否需要再一次的進(jìn)行討論評估或測試。
本文探索性地將生成對抗網(wǎng)絡(luò)與深度BP神經(jīng)網(wǎng)絡(luò)結(jié)合建立模型,并將其應(yīng)用于武器系統(tǒng)評估。利用對抗網(wǎng)絡(luò)可以產(chǎn)生更加清晰且接近真實(shí)的樣本,用以解決武器系統(tǒng)評估或測試中樣本量較少、無法滿足訓(xùn)練深度網(wǎng)絡(luò)要求的問題。同時(shí),判別網(wǎng)絡(luò)還對評估或者測試的結(jié)果是否存在問題為專家提供了一定參考。此外,模型中擴(kuò)展樣本訓(xùn)練的深度網(wǎng)絡(luò),還為以往需要大量專家工作或者專業(yè)人員測試的評估問題提供了一種簡潔高效的解決方法。通過對比實(shí)驗(yàn),驗(yàn)證了本文模型的可行性及其優(yōu)越性,探索性地將深度學(xué)習(xí)方法融入到軍工方面。
雖然GAN模型崩潰和訓(xùn)練不收斂的問題已經(jīng)基本被解決,但是對GAN模型還存在一定的影響,同時(shí)GAN模型不適合處理離散形式的數(shù)據(jù),例如文本數(shù)據(jù)等。這一系列的問題都使得GAN模型的應(yīng)用受到了限制,因此其應(yīng)用領(lǐng)域還需要不斷擴(kuò)大與發(fā)展。本文的實(shí)驗(yàn)?zāi)P碗m然一定程度上解決了武器系統(tǒng)效能評估中少樣本的問題,但是對于幾十個(gè)甚至更少樣本量的武器系統(tǒng)的評估仍然無法達(dá)到令人滿意的效果,這一方向?qū)⑹俏磥硌芯康闹攸c(diǎn)。