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