白 樺,孫旭朋,黃文錚
(北京圣濤平試驗(yàn)工程技術(shù)研究院有限責(zé)任公司,北京 100089)
無(wú)人化與智能化是當(dāng)今武器裝備體系發(fā)展的一個(gè)重大技術(shù)趨勢(shì),各種無(wú)人裝備如無(wú)人飛機(jī)、無(wú)人車輛、無(wú)人艦船等陸續(xù)投入戰(zhàn)場(chǎng),以更好地建立未來(lái)的海底、海洋、陸地、空間優(yōu)勢(shì)[1-4]。無(wú)人化與智能化武器裝備通常以集群的方式參與軍事行動(dòng),通過(guò)裝備間的協(xié)同合作,發(fā)揮“倍增”的作戰(zhàn)效能。在武器裝備無(wú)人化與智能化發(fā)展過(guò)程中,人工智能相關(guān)的研究成果也不斷地應(yīng)用于體系仿真建模中。國(guó)內(nèi)外研究表明,傳統(tǒng)的建模方法(諸如還原論方法、歸納推理方法等)已經(jīng)不能很好地刻畫復(fù)雜系統(tǒng),而基于多智能體的建模則是最具活力、最有影響的方法之一。其基本思想是通過(guò)模擬現(xiàn)實(shí)世界,將復(fù)雜系統(tǒng)劃分為與之相應(yīng)的智能體,從研究個(gè)體微觀行為著手,進(jìn)而獲得系統(tǒng)宏觀行為[5]。
在人工智能領(lǐng)域,強(qiáng)化學(xué)習(xí)為一類特定的機(jī)器學(xué)習(xí)框架,已在電動(dòng)游戲、棋盤游戲、自動(dòng)駕駛等領(lǐng)域進(jìn)行應(yīng)用[6-7],與深度神經(jīng)網(wǎng)絡(luò)結(jié)合的DQN 是其中經(jīng)常采用的建模方法。在一個(gè)強(qiáng)化學(xué)習(xí)系統(tǒng)中,決策者通過(guò)與環(huán)境的交互來(lái)學(xué)習(xí)如何得到最大化回報(bào)。強(qiáng)化學(xué)習(xí)的特點(diǎn)是在學(xué)習(xí)過(guò)程中沒(méi)有正確答案,而是通過(guò)回報(bào)信號(hào)來(lái)激勵(lì)學(xué)習(xí)。因此,在特定領(lǐng)域內(nèi),一個(gè)設(shè)計(jì)良好的強(qiáng)化學(xué)習(xí)模型經(jīng)過(guò)訓(xùn)練可以超過(guò)人類的水平,在Deepmind 的AI AlphaGo和星際爭(zhēng)霸II 的人機(jī)對(duì)抗中得到體現(xiàn)。這一特性也意味著強(qiáng)化學(xué)習(xí)具有極大的軍事應(yīng)用價(jià)值,引起美國(guó)國(guó)防部高級(jí)研究計(jì)劃局(簡(jiǎn)稱DARPA)的高度關(guān)注,設(shè)置了多個(gè)項(xiàng)目進(jìn)行技術(shù)攻關(guān),近期“Alpha dog fight”競(jìng)賽中,深度強(qiáng)化學(xué)習(xí)模型擊敗了人類戰(zhàn)斗機(jī)駕駛員。
GAN[8]由Ian Goodfellow 等人在2014 年提出。GAN 的核心思想是對(duì)抗性學(xué)習(xí),即同時(shí)訓(xùn)練兩個(gè)互相對(duì)抗的模型,其中,生成器G 從一個(gè)指定的隨機(jī)分布中生成樣本,而判別器D 用來(lái)分辨樣本的真實(shí)性。對(duì)抗指的是生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的互相對(duì)抗。生成網(wǎng)絡(luò)盡可能生成逼真樣本,判別網(wǎng)絡(luò)則盡可能去判別該樣本是真實(shí)樣本,還是生成的假樣本?;谶@種學(xué)習(xí)框架,GAN 不需要馬爾可夫鏈或其他復(fù)雜的概率近似推理,這對(duì)提高訓(xùn)練學(xué)習(xí)效率具有顯著作用。它使得在多智能體對(duì)抗仿真建模技術(shù)領(lǐng)域,GAN 可以在不依賴于任何關(guān)于分布假設(shè)的情況下,以一種簡(jiǎn)單的方式學(xué)習(xí)高維、復(fù)雜的真實(shí)數(shù)據(jù)分布。
現(xiàn)代軍事對(duì)抗仿真需要模擬越來(lái)越復(fù)雜的對(duì)抗場(chǎng)景,通常需要經(jīng)過(guò)極為復(fù)雜的對(duì)抗動(dòng)作序列之后才能得出一個(gè)對(duì)抗結(jié)果。而以DQN 為代表的強(qiáng)化學(xué)習(xí)技術(shù)依賴回報(bào)信號(hào)作為反饋進(jìn)行模型訓(xùn)練。這意味著一個(gè)極高維度的神經(jīng)網(wǎng)絡(luò)模型只能依賴于極度稀疏的反饋進(jìn)行訓(xùn)練。這一特點(diǎn)與現(xiàn)代軍事對(duì)抗仿真本身具有的極高維度的狀態(tài)空間和動(dòng)作,以及動(dòng)作參數(shù)空間的疊加使得模型的訓(xùn)練效率和收斂速度成為一個(gè)極大的挑戰(zhàn)。
在GAN 框架下,針對(duì)強(qiáng)化學(xué)習(xí)取得了進(jìn)一步發(fā)展[9-10],考慮從專家行為數(shù)據(jù)中學(xué)習(xí)策略,提出了一種新的生成對(duì)抗模仿學(xué)習(xí)通用框架,用于直接從數(shù)據(jù)中提取策略,并證明了該框架的某些實(shí)例化將模仿學(xué)習(xí)與GAN 進(jìn)行了類比,由此導(dǎo)出了一種無(wú)模型的模仿學(xué)習(xí)算法,該算法在模擬大型、高維環(huán)境中的復(fù)雜行為方面比現(xiàn)有的無(wú)模型方法獲得了顯著的性能提升。
借鑒這一思路,可以采用GAN 作為通用框架,結(jié)合DQN 強(qiáng)化學(xué)習(xí)模型,對(duì)多智能體軍事對(duì)抗仿真模型進(jìn)行初始模仿訓(xùn)練,從專家行為回放數(shù)據(jù)中直接學(xué)習(xí)智能體行動(dòng)策略。其中,GAN 作為通用框架,其判別器網(wǎng)絡(luò)對(duì)多智能體仿真模型以及專家回放產(chǎn)生的行動(dòng)策略相似性進(jìn)行判別,這一判別結(jié)果作為多智能體強(qiáng)化學(xué)習(xí)模型的反饋信號(hào)對(duì)其進(jìn)行訓(xùn)練。由于GAN 的對(duì)抗訓(xùn)練技術(shù),且解決了強(qiáng)化學(xué)習(xí)的稀疏回報(bào)問(wèn)題,仿真模型的訓(xùn)練效率可以得到顯著提升。此外,采用這種方法得到的多智能體模型可以進(jìn)一步使用強(qiáng)化學(xué)習(xí)技術(shù),利用更高水平的人機(jī)對(duì)抗或自對(duì)弈等方式得到的數(shù)據(jù)進(jìn)行優(yōu)化訓(xùn)練,達(dá)到更高的智能水平。
本文探討采用GAN 通用框架,構(gòu)建紅軍事對(duì)抗的多智能體模型,并進(jìn)行了仿真計(jì)算,驗(yàn)證了GAN 方法在多智能體軍事對(duì)抗仿真建模的可行性。
為了快速建立具有高度智能的神經(jīng)網(wǎng)絡(luò)對(duì)抗策略,首先采用生成對(duì)抗網(wǎng)絡(luò)技術(shù),利用已有的高水平對(duì)抗回放數(shù)據(jù),對(duì)策略神經(jīng)網(wǎng)絡(luò)進(jìn)行快速優(yōu)化,使其能夠模仿這些回放中采用的對(duì)抗策略,達(dá)到同等智能水平。所需回放數(shù)據(jù)可以由高水平人類玩家手動(dòng)操作產(chǎn)生,或由專業(yè)技術(shù)人員編寫的已經(jīng)經(jīng)過(guò)高度優(yōu)化的自動(dòng)化對(duì)抗規(guī)則程序產(chǎn)生,只需要通過(guò)仿真引擎保存對(duì)抗回放記錄即可,無(wú)需額外的人工標(biāo)記處理。所產(chǎn)生的表演者神經(jīng)網(wǎng)絡(luò)可以直接用于智能對(duì)抗仿真,也可以通過(guò)強(qiáng)化學(xué)習(xí)技術(shù)進(jìn)行進(jìn)一步優(yōu)化改進(jìn)達(dá)到更高的智能水平,多智能體GAN 建??傮w技術(shù)框架如下頁(yè)圖1 所示。
圖1 多智能體GAN 建模總體框架
生成對(duì)抗網(wǎng)絡(luò)由判別網(wǎng)絡(luò)D和表演者網(wǎng)絡(luò)A組成。其中,判別網(wǎng)絡(luò)D對(duì)輸入對(duì)抗數(shù)據(jù)進(jìn)行分類,輸出0~1 之間的標(biāo)量值判定輸入數(shù)據(jù)是否符合演示對(duì)抗策略,0 為完全符合,1 為完全不符合,因此,判別網(wǎng)絡(luò)D的優(yōu)化目標(biāo)是盡可能對(duì)所有數(shù)據(jù)進(jìn)行準(zhǔn)確判別。表演者網(wǎng)絡(luò)A讀取對(duì)抗態(tài)勢(shì)(環(huán)境)數(shù)據(jù),產(chǎn)生在這種態(tài)勢(shì)下應(yīng)采取的對(duì)抗命令,表演者網(wǎng)絡(luò)A的目標(biāo)是盡可能準(zhǔn)確地模仿演示對(duì)抗策略,也意味著盡可能欺騙判別網(wǎng)絡(luò)D使其無(wú)法區(qū)分對(duì)抗數(shù)據(jù)是來(lái)由演示玩家產(chǎn)生還是由表演者網(wǎng)絡(luò)產(chǎn)生。因此,判別網(wǎng)絡(luò)D和表演者網(wǎng)絡(luò)A形成對(duì)抗關(guān)系,對(duì)這兩個(gè)網(wǎng)絡(luò)的交替訓(xùn)練,當(dāng)這兩個(gè)網(wǎng)絡(luò)達(dá)到平衡時(shí),判別網(wǎng)絡(luò)D以接近同等概率對(duì)演示對(duì)抗數(shù)據(jù)和表演者網(wǎng)絡(luò)產(chǎn)生的對(duì)抗數(shù)據(jù)進(jìn)行判別(即無(wú)法有效分辨二者的差別,理想情況下期望該值為0.5,意味著判別網(wǎng)絡(luò)完全無(wú)法分辨),此時(shí)表演者網(wǎng)絡(luò)A學(xué)到了接近于演示玩家的對(duì)抗策略。
首先需要從仿真引擎獲取多輪演示對(duì)抗回放數(shù)據(jù)保存在回放緩存中。回放緩存中的每個(gè)樣本點(diǎn)為一個(gè)對(duì)抗步驟數(shù)據(jù),包括聯(lián)合對(duì)抗態(tài)勢(shì)S和演示者對(duì)抗命令列表a,演示對(duì)抗回放采集及數(shù)據(jù)結(jié)構(gòu)如圖2 所示。
圖2 演示對(duì)抗回放采集及數(shù)據(jù)結(jié)構(gòu)
采集到回放數(shù)據(jù)以后即可采用生成對(duì)抗網(wǎng)絡(luò)技術(shù)對(duì)判別網(wǎng)絡(luò)D和表演者網(wǎng)絡(luò)A進(jìn)行對(duì)輪交替訓(xùn)練,使表演者網(wǎng)絡(luò)A學(xué)習(xí)到演示者采用的對(duì)抗策略。訓(xùn)練過(guò)程如下頁(yè)圖3 所示。
圖3 GAN 對(duì)抗訓(xùn)練算法流程
其中,判別網(wǎng)絡(luò)D的損失為演示樣本與模仿樣本的判別損失總和:
演示樣本判別損失Dloss-expert和Dloss-learner分別為判別網(wǎng)絡(luò)D對(duì)演示樣本和模仿樣本的實(shí)際輸出與預(yù)期輸出的交叉熵。演示樣本應(yīng)被判別為完全符合演示對(duì)抗策略,因此,預(yù)期輸出應(yīng)為0;模仿樣本應(yīng)被判別為完全不符合演示對(duì)抗策略,因此,預(yù)期輸出應(yīng)為1。
交叉熵BCELoss[10]計(jì)算公式如下:
因此,判別網(wǎng)絡(luò)D損失計(jì)算函數(shù)為:
其中,∏E為演示樣本,∏L為模仿樣本。
判別網(wǎng)絡(luò)D的優(yōu)化目標(biāo)是最小化總體判別損失。判別網(wǎng)絡(luò)D是典型的二元分類神經(jīng)網(wǎng)絡(luò),輸入為聯(lián)合對(duì)抗態(tài)勢(shì)+對(duì)抗命令列表的張量編碼,輸出為0~1 二元分類標(biāo)量,其網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)規(guī)??梢钥紤]輸入數(shù)據(jù)特點(diǎn)進(jìn)行選擇,通??梢圆捎美缇矸e網(wǎng)絡(luò)CNN 或多層感知機(jī)MLP 等,參數(shù)維度和網(wǎng)絡(luò)深度可以根據(jù)輸入數(shù)據(jù)屬性的數(shù)目和關(guān)聯(lián)關(guān)系復(fù)雜性進(jìn)行調(diào)整選擇。
表演者網(wǎng)絡(luò)A的結(jié)構(gòu)設(shè)計(jì)與強(qiáng)化學(xué)習(xí)中表演者網(wǎng)絡(luò)設(shè)計(jì)類似,可以根據(jù)輸入輸出特點(diǎn)選擇卷積網(wǎng)絡(luò)CNN 或多層感知機(jī)MLP 等進(jìn)行構(gòu)造,輸入輸出維度以及網(wǎng)絡(luò)深度等參數(shù)需要考慮仿真數(shù)據(jù)特點(diǎn)進(jìn)行選擇調(diào)整。不同種類的Agent,以下標(biāo)i表示,同一種類的Agent 有不同的數(shù)量,以下標(biāo)j表示。
表演者網(wǎng)絡(luò)A的回報(bào)計(jì)算公式:
表演者網(wǎng)絡(luò)A的優(yōu)化目標(biāo)是最大化回報(bào)。
表演者網(wǎng)絡(luò)A的損失計(jì)算函數(shù):
其中,pd為由表演者網(wǎng)絡(luò)A輸出的參數(shù)構(gòu)造的對(duì)抗命令參數(shù)概率分布,pd采用的概率分布類型可以根據(jù)參數(shù)特點(diǎn)進(jìn)行選擇,對(duì)離散參數(shù)例如命令類型可以采用Categorical[11]分布等,對(duì)連續(xù)參數(shù)例如坐標(biāo)點(diǎn)x,y可以采用Normal 分布等。action 為從構(gòu)造的概率分布取樣獲得的命令參數(shù)取值。log_prob 為概率分布在action 取值的樣本點(diǎn)的log 概率密度,entropy[11]為概率分布的熵。β為超參數(shù),控制最大熵目標(biāo)在表演者網(wǎng)絡(luò)損失中的占比,在訓(xùn)練時(shí)根據(jù)訓(xùn)練狀況進(jìn)行調(diào)整。
表演者網(wǎng)絡(luò)A類似強(qiáng)化學(xué)習(xí)中的表演者網(wǎng)絡(luò),其輸入為聯(lián)合對(duì)抗態(tài)勢(shì)的張量編碼,輸出為可用于構(gòu)造對(duì)抗命令列表的概率分布參數(shù)。自動(dòng)化對(duì)抗程序?qū)⒏鶕?jù)表演者網(wǎng)絡(luò)A的輸出構(gòu)造對(duì)抗命令參數(shù)概率分布pd,從pd取樣獲取對(duì)抗命令參數(shù),最后按照對(duì)抗仿真引擎所需的接口格式,轉(zhuǎn)換為對(duì)抗命令列表輸入到對(duì)抗仿真引擎。
本文以中央軍委裝備發(fā)展部主辦的2020 全國(guó)“謀略方寸,聯(lián)合智勝”聯(lián)合作戰(zhàn)智能博弈挑戰(zhàn)賽[12]提供的仿真環(huán)境為應(yīng)用場(chǎng)景,在此基礎(chǔ)上,基于生成對(duì)抗網(wǎng)絡(luò)建立多智能體對(duì)抗仿真模型,并對(duì)模型進(jìn)行訓(xùn)練和測(cè)試。
藍(lán)方目標(biāo)(防守方):依托地面、海面和空中立體防空火力,守衛(wèi)己方島嶼2 個(gè)指揮所重點(diǎn)目標(biāo)。紅方目標(biāo)(進(jìn)攻方):綜合運(yùn)用海空突擊和支援保障力量,突破藍(lán)方防空體系,摧毀藍(lán)方2 個(gè)指揮所重點(diǎn)目標(biāo)。雙方對(duì)抗單局仿真時(shí)間為2.5 h,實(shí)現(xiàn)目標(biāo)的一方得分。如果紅方在仿真時(shí)長(zhǎng)內(nèi)僅摧毀藍(lán)方的1 個(gè)指揮所,則有相應(yīng)的計(jì)分方法計(jì)算各自的剩余兵力,多者勝。
仿真引擎以容器的形式運(yùn)行,通過(guò)容器的虛擬端口進(jìn)行調(diào)用。各裝備底層控制律由仿真引擎操作,仿真環(huán)境接口僅提供高級(jí)命令語(yǔ)法包括命令種類和命令參數(shù)。例如戰(zhàn)斗機(jī)的攻擊指令,包括攻擊戰(zhàn)斗機(jī)的ID和被攻擊空中目標(biāo)的ID;轟炸機(jī)的定點(diǎn)攻擊指令包括攻擊轟炸機(jī)的ID、被攻擊地面目標(biāo)的ID、攻擊角度的攻擊距離。各Agent 的控制律、攻擊毀傷概率等為黑盒。
仿真環(huán)境的對(duì)戰(zhàn)調(diào)度程序[11]如下頁(yè)圖4 所示,仿真環(huán)境提供Python 語(yǔ)言開(kāi)發(fā)的對(duì)戰(zhàn)流程控制,參與者負(fù)責(zé)開(kāi)發(fā)的程序?yàn)閳D中“決策并下發(fā)指令”,而作為制定決策的輸入為“獲取態(tài)勢(shì)”。獲取的態(tài)勢(shì)主要包括3 個(gè)方面的信息,一為己方信息,包括各agent 的種類、空間位置和速度信息、載彈量和燃油量信息、毀傷狀態(tài)信息等;二為對(duì)方信息,僅提供戰(zhàn)爭(zhēng)迷霧可視范圍內(nèi)的敵方Agent 種類、空間位置和速度等信息;三為導(dǎo)彈信息,包括雙方發(fā)射導(dǎo)彈的種類、發(fā)射裝備、攻擊目標(biāo)、速度等信息。
圖4 仿真環(huán)境對(duì)戰(zhàn)調(diào)度程序
本文以仿真平臺(tái)提供的Python 語(yǔ)言開(kāi)發(fā)框架為基礎(chǔ)開(kāi)發(fā)仿真模型。仿真模型中戰(zhàn)場(chǎng)環(huán)境模型,對(duì)戰(zhàn)參與方數(shù)量,每個(gè)參與方的Agent 組成,每個(gè)Agent 的行為能力,Agent 的探測(cè)、通信、攻擊和毀傷效果計(jì)算均由仿真引擎控制,并通過(guò)Python 語(yǔ)言仿真調(diào)度框架進(jìn)行調(diào)度,調(diào)度框架在每個(gè)時(shí)間步驟向參與者提供的智能體決策程序提供態(tài)勢(shì)數(shù)據(jù)并獲取決策程序返回的對(duì)戰(zhàn)指令列表作為輸入。
仿真模型的戰(zhàn)場(chǎng)環(huán)境為350 km×350 km 的對(duì)抗空間。戰(zhàn)場(chǎng)中心為坐標(biāo)原點(diǎn),向右為x軸正軸,向上為y軸正軸,紅方島嶼機(jī)場(chǎng)坐標(biāo)為(146 700 m,-3 000 m),藍(lán)方北部島嶼指揮所坐標(biāo)為(-129 532m,87 667m),藍(lán)方南部島嶼指揮所坐標(biāo)為(-131 154m,-87 888m),對(duì)抗地圖[12]如圖5 所示。
圖5 紅藍(lán)雙方對(duì)抗地圖
仿真模型中對(duì)抗雙方的Agent 組成即雙方對(duì)抗兵力組成如表1 所示。
表1 紅藍(lán)雙方對(duì)抗兵力
對(duì)抗雙方相同類型的Agent 具有完全相同的行為模型。每種類型的Agent 能夠接受的指令及每個(gè)指令的參數(shù)可以參考仿真平臺(tái)提供的開(kāi)發(fā)白皮書。
探測(cè)模型采用戰(zhàn)爭(zhēng)迷霧設(shè)置,即每種類型的Agent 具有一定的發(fā)現(xiàn)和識(shí)別范圍,只有進(jìn)入Agent發(fā)現(xiàn)范圍的敵方Agent 才會(huì)出現(xiàn)在己方情報(bào)信息列表中,標(biāo)記為“未知”狀態(tài);只有進(jìn)入Agent 識(shí)別范圍的敵方Agent 才會(huì)在己方情報(bào)列表中具有明確識(shí)別的軍別和詳細(xì)狀態(tài)信息。其中,電子戰(zhàn)飛機(jī)對(duì)探測(cè)模型具有特殊影響,仿真模型中的電子戰(zhàn)飛機(jī)設(shè)定為阻塞模式,即當(dāng)電子戰(zhàn)飛機(jī)開(kāi)啟干擾時(shí)其干擾范圍內(nèi)的Agent 對(duì)對(duì)抗雙方均處于不可見(jiàn)狀態(tài)。探測(cè)狀態(tài)由仿真引擎根據(jù)Agent 狀態(tài)進(jìn)行自動(dòng)計(jì)算,決策程序不需要顯示發(fā)送探測(cè)或識(shí)別指令。
仿真模型中Agent 之間的通信為己方完全通信模式,即己方所有Agent 之間的信息完全自動(dòng)共享。
雙方的攻擊手段為發(fā)射導(dǎo)彈,其中的戰(zhàn)斗機(jī)發(fā)射空空導(dǎo)彈、轟炸機(jī)發(fā)射空地導(dǎo)彈、驅(qū)逐艦發(fā)射艦空導(dǎo)彈、地導(dǎo)營(yíng)發(fā)射地空導(dǎo)彈。仿真模型中每個(gè)Agent 的攻擊指令發(fā)出后攻擊成功的概率由仿真引擎控制,對(duì)參與者不可見(jiàn),參與者無(wú)法干預(yù)。每種類型的Agent 攜帶的攻擊武器類型,武器數(shù)量和攻擊能力各不相同,其模型由仿真引擎控制。每種類型的Agent 受到攻擊后的毀傷程度,對(duì)Agent 作戰(zhàn)能力的影響各不相同,由仿真引擎控制。
為簡(jiǎn)單起見(jiàn),主要介紹紅方模型的構(gòu)建,編程語(yǔ)言框架為Pytorch。首先構(gòu)建判別器D神經(jīng)網(wǎng)絡(luò)模型,采用全連接線性模型,輸入量為聯(lián)合態(tài)勢(shì)與聯(lián)合動(dòng)作拼接成的向量,輸出為0~1 之間的標(biāo)量,表示Agent 行為符合演示對(duì)戰(zhàn)策略的概率,0 表示完全符合,1 表示完全不符合,中間層由全連接線性網(wǎng)絡(luò)和雙線性網(wǎng)絡(luò)組合后構(gòu)成。聯(lián)合態(tài)勢(shì)由己方態(tài)勢(shì)、敵方態(tài)勢(shì)以及導(dǎo)彈態(tài)勢(shì)構(gòu)成,判別器網(wǎng)絡(luò)的輸入數(shù)據(jù)結(jié)構(gòu)如表2 所示,表中的Nb為批樣本數(shù)量、Ns為己方Agent 數(shù)量、Nt為敵方Agent 數(shù)量、Nm為發(fā)射的導(dǎo)彈數(shù)量、Nc為己方Agent 動(dòng)作命令數(shù)量。為了確保神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)不發(fā)生崩潰,對(duì)于所有的網(wǎng)絡(luò)輸入數(shù)據(jù)均進(jìn)行歸一化處理,并且對(duì)于取值為0 的數(shù)據(jù)填充為ε小量。
表2 判別器網(wǎng)絡(luò)輸入數(shù)據(jù)結(jié)構(gòu)
判別器網(wǎng)絡(luò)主要有兩路通道,其中一路是將多Agent 的己方態(tài)勢(shì)和導(dǎo)彈態(tài)勢(shì)數(shù)據(jù)拼接后輸入一個(gè)雙線性網(wǎng)絡(luò),敵方態(tài)勢(shì)數(shù)據(jù)輸入另一個(gè)雙線性網(wǎng)絡(luò),兩者的輸出經(jīng)過(guò)拼接后再經(jīng)過(guò)一個(gè)雙線性網(wǎng)絡(luò);另一路是動(dòng)作命令信息經(jīng)過(guò)全連接線性網(wǎng)絡(luò)輸出后與第1 路輸出拼接,在經(jīng)過(guò)一個(gè)全連接線性網(wǎng)絡(luò)最后輸出為1 維。判別器網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示。網(wǎng)絡(luò)損失函數(shù)的設(shè)置參照式(4),優(yōu)化方法為Adam。
圖6 判別器網(wǎng)絡(luò)結(jié)構(gòu)
在表演者網(wǎng)絡(luò)的構(gòu)造中,同一類型的Agent 共享相同的神經(jīng)網(wǎng)絡(luò)參數(shù),采用全連接線性網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)輸入為聯(lián)合態(tài)勢(shì),網(wǎng)絡(luò)輸出為動(dòng)作命令,表演者網(wǎng)絡(luò)結(jié)構(gòu)如圖7 所示。網(wǎng)絡(luò)輸出根據(jù)動(dòng)作命令類型進(jìn)行隨機(jī)采樣,其中,分類指令參數(shù)如攻擊ID號(hào)等的采樣器為Categorical,連續(xù)指令參數(shù)如攻擊距離等的采樣器為Normal。表演者網(wǎng)絡(luò)的損失函數(shù)如式(6)所示,優(yōu)化方法為Adam。
圖7 表演者網(wǎng)絡(luò)結(jié)構(gòu)
為進(jìn)行GAN 訓(xùn)練,需要輸入演示者數(shù)據(jù)。在仿真平臺(tái)未提供相關(guān)對(duì)抗的歷史數(shù)據(jù)的情況下,通過(guò)編寫紅藍(lán)雙方的規(guī)則對(duì)抗模型,并進(jìn)行多局對(duì)抗的方式來(lái)記錄數(shù)據(jù),記錄的數(shù)據(jù)即包括紅方聯(lián)合態(tài)勢(shì)數(shù)據(jù)也包括紅方動(dòng)作命令數(shù)據(jù)。共選取紅藍(lán)對(duì)抗的50 輪次對(duì)戰(zhàn)樣本,平均輪次約300 個(gè)采樣點(diǎn)數(shù)據(jù)。統(tǒng)計(jì)規(guī)則模型紅方勝率為0.84。規(guī)則對(duì)抗模型的主要設(shè)計(jì)規(guī)則為:
紅方Agent 規(guī)則:
1)兩艘防空驅(qū)逐艦分別初始化在紅方島嶼與藍(lán)方兩個(gè)島連線與中軸線交點(diǎn)處,對(duì)進(jìn)入艦載防空導(dǎo)彈射程(100 km)內(nèi)的藍(lán)方目標(biāo)進(jìn)行無(wú)差別攻擊;
2)戰(zhàn)斗機(jī)以密集隊(duì)形在初始3 min 內(nèi)起飛,在藍(lán)方島嶼附近對(duì)空中目標(biāo)進(jìn)行跟蹤,并派遣距離最近的戰(zhàn)斗機(jī)進(jìn)行一對(duì)一攔截;
3)預(yù)警機(jī)以自我保全為優(yōu)先任務(wù),在敵方射程之外前提下并盡可能靠近敵方島嶼偵查;
4)轟炸機(jī)編隊(duì)以南島指揮所至北島指揮所的順序進(jìn)行攻擊,攻擊距離80 km,根據(jù)與目標(biāo)相對(duì)位置計(jì)算攻擊角度;
5)電子戰(zhàn)飛機(jī)跟隨轟炸機(jī)編隊(duì)進(jìn)行干擾;
6)一旦探測(cè)到攻擊的導(dǎo)彈后,被攻擊飛機(jī)暫時(shí)中斷任務(wù)進(jìn)行規(guī)避操作直到威脅解除,規(guī)避方向?yàn)榫嚯x最近的攻擊導(dǎo)彈的反方向。
藍(lán)方Agent 規(guī)則:
1)防空驅(qū)逐艦隨機(jī)初始化在己方兩個(gè)島附近,對(duì)進(jìn)入艦載防空導(dǎo)彈射程(100 km)內(nèi)的藍(lán)方目標(biāo)進(jìn)行無(wú)差別攻擊;
2)戰(zhàn)斗機(jī)以密集隊(duì)形在初始3 min 內(nèi)起飛,在南島和北島之間的預(yù)設(shè)空域進(jìn)行巡航,對(duì)發(fā)現(xiàn)的空中目標(biāo)派遣距離最近的戰(zhàn)斗機(jī)進(jìn)行一對(duì)一攔截;
3)預(yù)警機(jī)以自我保全為優(yōu)先任務(wù),在敵方射程之外前提下擴(kuò)大偵查范圍;
4)轟炸機(jī)編隊(duì)以最近的紅方驅(qū)逐艦為目標(biāo)進(jìn)行攻擊,攻擊距離80 km,根據(jù)與目標(biāo)相對(duì)位置計(jì)算攻擊角度;
5)飛機(jī)的導(dǎo)彈規(guī)避算法與紅方相同。
按上節(jié)的規(guī)則模型,產(chǎn)生演示者數(shù)據(jù)。考慮到規(guī)則模型中通常一個(gè)動(dòng)作命令會(huì)控制Agent 多步驟的行為直到Agent 接受另一個(gè)動(dòng)作命令,對(duì)命令轉(zhuǎn)換前的空白動(dòng)作命令進(jìn)行了填充。將處理好的演示者數(shù)據(jù)存入回放數(shù)據(jù)文件供GAN 模型訓(xùn)練。
表演者網(wǎng)絡(luò)模型訓(xùn)練的時(shí)候,按照批樣本數(shù)量為500 從回放數(shù)據(jù)文件中進(jìn)行隨機(jī)取樣。根據(jù)采樣得到的聯(lián)合態(tài)勢(shì)數(shù)據(jù),運(yùn)行表演者網(wǎng)絡(luò),根據(jù)網(wǎng)絡(luò)輸出進(jìn)行隨機(jī)采樣后,生成表演者動(dòng)作列表,將該動(dòng)作列表與輸入的聯(lián)合態(tài)勢(shì)進(jìn)行組合,生成模仿樣本數(shù)據(jù),同時(shí)記錄抽樣概率log_prob和entropy。
判別器網(wǎng)絡(luò)模型訓(xùn)練時(shí),回放數(shù)據(jù)文件中的聯(lián)合態(tài)勢(shì)和相應(yīng)的動(dòng)作命令,組合成為演示樣本數(shù)據(jù)輸入到判別器網(wǎng)絡(luò),計(jì)算演示樣本的損失函數(shù);模仿樣本數(shù)據(jù)輸入到判別器網(wǎng)絡(luò),計(jì)算模仿樣本的損失函數(shù),總損失函數(shù)如式(4)所示。訓(xùn)練進(jìn)行了256 輪次,得到的網(wǎng)絡(luò)性能統(tǒng)計(jì)曲線如圖8 所示。從圖中可以看出,在80 輪次左右,回報(bào)值達(dá)到極值,此時(shí)表演者網(wǎng)絡(luò)的損失函數(shù)達(dá)到極小值,而演示樣本和模仿樣本的鑒別率達(dá)到穩(wěn)定值。訓(xùn)練過(guò)了80 輪次之后,回報(bào)值開(kāi)始下降而表演者網(wǎng)絡(luò)的損失函數(shù)進(jìn)入震蕩區(qū)間,顯示網(wǎng)絡(luò)進(jìn)入了過(guò)擬合階段,分析原因主要是用于訓(xùn)練的回放數(shù)據(jù)只選用固定的一組規(guī)則模型進(jìn)行對(duì)抗的原因,在對(duì)抗模式上缺少多樣性。
圖8 網(wǎng)絡(luò)訓(xùn)練性能統(tǒng)計(jì)曲線
選取80 輪次訓(xùn)練量得到的表演者網(wǎng)絡(luò)模型與產(chǎn)生回放數(shù)據(jù)的藍(lán)方規(guī)則模型進(jìn)行對(duì)局,得到紅方勝率為0.86,表演者網(wǎng)絡(luò)的作戰(zhàn)效能達(dá)到了所模仿的紅方規(guī)則模型。
另外,為了測(cè)試GAN 建模學(xué)習(xí)效率,紅方建立圖7 所示的神經(jīng)模型,并隨機(jī)初始化網(wǎng)絡(luò)參數(shù),按照DQN 的框架與藍(lán)方的規(guī)則模型進(jìn)行訓(xùn)練。由于狀態(tài)空間和動(dòng)作空間數(shù)量巨大,模型難以快速收斂,在5 000 輪次學(xué)習(xí)后,紅方DQN 模型的勝率約為0.5,學(xué)習(xí)速率已變得平緩。主要表現(xiàn)在紅方轟炸機(jī)的攻擊距離和攻擊角度等參數(shù)未得到好的優(yōu)化,攻擊效率較差。
本文借鑒GAN 建模方法,在2020 全國(guó)“謀略方寸,聯(lián)合智勝”聯(lián)合作戰(zhàn)仿真環(huán)境上進(jìn)行了多智能體強(qiáng)對(duì)抗神經(jīng)網(wǎng)絡(luò)建模。利用規(guī)則模型產(chǎn)生的回放數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)模型的訓(xùn)練,對(duì)網(wǎng)絡(luò)模型的學(xué)習(xí)特性進(jìn)行了分析。通過(guò)模型的測(cè)試,顯示出基于生成對(duì)抗網(wǎng)絡(luò)的多智能體對(duì)抗仿真建模方法具有較高的學(xué)習(xí)效率,未來(lái)在體系對(duì)抗快速建模和建立假想敵仿真模型方面具有實(shí)用價(jià)值。