白樺,孫旭朋,黃文錚
(北京圣濤平試驗工程技術研究院有限責任公司,北京 100089)
在解決游戲和軍事等強對抗問題中,人工智能方法被寄予厚望[1]。人們迫切希望尋找一種建模方法能夠擊敗人類,相關的增強學習等強對抗建模技術得到關注。2016年AlphaGo圍棋人工智能的突破, 反映出最近興起的深度學習等人工智能技術解決圍棋這類完美信息博弈問題的優(yōu)異性能。圍棋屬于完全信息博弈問題,與軍事對抗相比有較大差距,近年來AI接連在多個對抗性即時戰(zhàn)略游戲中達到甚至戰(zhàn)勝人類最高水平選手。OpenAI訓練的5個AI組成的戰(zhàn)隊,通過在線戰(zhàn)斗游戲Dota2的訓練達到了人類無法比擬的指法操作熟練程度。DeepMind訓練的星際爭霸人工智能系統(tǒng)擊敗世界上最強大的職業(yè)星際爭霸玩家。
美軍2014 年提出的“第三次抵消戰(zhàn)略”,就是以人工智能技術為核心發(fā)展能夠 “改變未來戰(zhàn)局” 的顛覆性技術群,來形成相較于對手的絕對軍事優(yōu)勢。未來戰(zhàn)爭是由物理域、信息域、控制域等多重域交疊構成的具有跨域特性的作戰(zhàn)域。隨著人工智能技術的發(fā)展,應用于未來作戰(zhàn)的強對抗系統(tǒng)將是高度復雜的大系統(tǒng),具有可變的戰(zhàn)場環(huán)境、不確定的動態(tài)因素干擾、多目標的作戰(zhàn)任務??紤]真實物理世界,裝備在作戰(zhàn)時面臨可靠性、維修性和保障性(簡稱 RMS)等問題將有可能限制人工智能控制的性能。
當環(huán)境信息輸入增大,指控的智能體(Agent)數(shù)量增多時,強對抗智能神經網絡的參數(shù)增加結構變得復雜,此時網絡訓練存在難以收斂的問題。
GAN是由 Ian J.Goodfellow[2]等在2014年提出的一種基于深度神經網絡的生成式模型。GAN以其學習高維、復雜的真實數(shù)據(jù)分布的潛力而受到機器學習領域的廣泛關注。具體地說,它們不依賴于任何關于分布的假設,并且可以一種簡單的方式從隱藏空間生成類似真實的樣本。它們在復雜和高維數(shù)據(jù)的處理能力可用于處理復雜智能控制領域,并在強對抗建模領域與增強學習中的DQN[3,4]等方法相結合。GAN方法加快神經網絡訓練優(yōu)化速度示意圖如圖1。
本文介紹強對抗控制模型GAN建模的方法,并針對仿真實例,采集對抗回放數(shù)據(jù),分別設計鑒別器網絡和表演者網絡進行訓練,在對訓練好的表演者網絡按照DQN方法進一步的訓練優(yōu)化,得到優(yōu)化后的網絡后進行可靠性分析,建立RMS參數(shù)與強對抗控制模型勝率的定量關系。在此基礎上,分析了物理世界可靠性問題對控制網絡性能的影響,并且提出了針對RMS參數(shù)的性能。
為了快速建立基于深度神經網絡的強對抗控制模型,采用GAN技術,利用收集到的強對抗歷史數(shù)據(jù),對表演者神經網絡進行快速優(yōu)化使其能夠模仿這些歷史回放數(shù)據(jù)中采用的對抗策略,能夠生產歷史回放數(shù)據(jù)的策略。所需歷史回放數(shù)據(jù)可以人類玩家對局產生,或由編寫的已優(yōu)化的自動化對抗規(guī)則程序產生,無需額外的人工標記處理。
圖1 GAN加速神經網絡學習速度
GAN由判別網絡D和表演者網絡A組成。其中判別網絡D對輸入對抗數(shù)據(jù)進行分類,輸出0~1之間的標量值判定輸入數(shù)據(jù)是否符合演示對抗策略,0為完全符合,1為完全不符合,因此判別網絡D的優(yōu)化目標是盡可能對所有數(shù)據(jù)進行準確判別。表演者網絡A讀取對抗態(tài)勢(環(huán)境)數(shù)據(jù),產生在這種態(tài)勢下應采取的對抗命令,表演者網絡A的目標是盡可能準確地模仿演示對抗策略。判別網絡D和表演者網絡A形成對抗關系,對這兩個網絡的交替訓練,當這兩個網絡達到平衡時,判別網絡D以接近同等概率對演示對抗數(shù)據(jù)和表演者網絡產生的對抗數(shù)據(jù)進行判別,此時表演者網絡A學到了接近于演示玩家的對抗策略。
采集到回放數(shù)據(jù)以后即可采用生成對抗網絡技術對判別網絡D和表演者網絡A進行對輪交替訓練,其中判別網絡D的損失為演示樣本與模仿樣本的判別損失總和:
交叉熵BCELoss計算公式如下:
因此,判別網絡D損失計算函數(shù)為:
式中:
判別網絡D的優(yōu)化目標是最小化總體判別損失。判別網絡D是典型的二元分類神經網絡,輸入為聯(lián)合對抗態(tài)勢+對抗命令列表的張量編碼,輸出為0~1二元分類標量,其網絡結構和網絡規(guī)??梢钥紤]輸入數(shù)據(jù)特點進行選擇,通??梢圆捎美缇矸e網絡CNN或多層感知機MLP等,參數(shù)維度和網絡深度可以根據(jù)輸入數(shù)據(jù)屬性的數(shù)目和關聯(lián)關系復雜性進行調整選擇。
表演者網絡A的結構設計與強化學習中表演者網絡設計類似,輸入輸出維度以及網絡深度等參數(shù)需要考慮仿真數(shù)據(jù)特點進行選擇調整。表演者網絡A的回報計算見公式(5):
表演者網絡A的優(yōu)化目標是最大化回報。表演者網絡A的損失函數(shù)見公式(6),式中不同種類的Agent以下標i表示,同一種類的Agent不同的架次以下標j表示。
式中:
pd—由表演者網絡A輸出的參數(shù)構造的對抗命令參數(shù)概率分布,pd采用的概率分布類型可以根據(jù)參數(shù)特點進行選擇,對離散參數(shù)例如命令類型可以采用Categorical分布等,對連續(xù)參數(shù)例如坐標點x,y可以采用Normal分布等;
action—從構造的概率分布取樣獲得的命令參數(shù)取值;
log_prob—概率分布在action取值的樣本點的log概率密度;
entropy—概率分布的熵;
β—超參數(shù),控制最大熵目標在表演者網絡損失中的占比,在訓練時根據(jù)訓練狀況進行調整。
本文以中央軍委裝備發(fā)展部主辦的2020全國“謀略方寸,聯(lián)合智勝”聯(lián)合作戰(zhàn)智能博弈挑戰(zhàn)賽[5]提供的仿真環(huán)境為應用場景,在此基礎上,采用GAN方法建立了強對抗DQN模型。面對新的仿真環(huán)境缺少歷史回放數(shù)據(jù)的問題,采用規(guī)則編程驅動紅藍雙方對抗,并且記錄對抗結果。
紅藍雙方對抗的空間范圍設為350 km*350 km。雙方對抗地圖如圖2所示。藍方目標(防守方):依托地面、海面和空中立體防空火力,守衛(wèi)己方島嶼2個指揮所重點目標。紅方目標(進攻方):綜合運用??胀粨艉椭гU狭α浚黄扑{方防空體系,摧毀藍方2個指揮所重點目標。雙方對抗仿真時間為2.5 h。
在戰(zhàn)場可見性中采用戰(zhàn)爭迷霧設置,紅藍雙方在各自Agent的探測范圍內可見。雙方的攻擊手段為發(fā)射導彈,其中的戰(zhàn)斗機發(fā)射空空導彈,轟炸機發(fā)射空地導彈、驅逐艦發(fā)射艦空導彈、地導營發(fā)射地空導彈。紅藍雙方對抗兵力見表1。
各裝備底層控制律由仿真引擎操作,仿真環(huán)境接口僅提供高級命令語法包括命令種類和命令參數(shù)。例如戰(zhàn)斗機的攻擊指令,包括攻擊戰(zhàn)斗機的ID和被攻擊空中目標的ID;轟炸機的定點攻擊指令包括攻擊轟炸機的ID、被攻擊地面目標的ID、攻擊角度的攻擊距離。各Agent的控制律、攻擊毀傷概率等為黑盒。
圖2 紅藍雙方對抗地圖[5]
仿真環(huán)境提供Python語言開發(fā)的對戰(zhàn)流程控制,參與者負責開發(fā)的程序為圖中“決策并下發(fā)指令”,而作為制定決策的輸入為“獲取態(tài)勢”。獲取的態(tài)勢主要包括三個方面的信息,一為己方信息,包括各Agent的種類、空間位置和速度信息、載彈量和燃油量信息、毀傷狀態(tài)信息等;二為對方信息,僅提供戰(zhàn)爭迷霧可視范圍內的敵方Agent種類、空間位置和速度等信息;三為導彈信息,包括雙方發(fā)射導彈的種類、發(fā)射裝備、攻擊目標、速度等信息。
為簡單起見,主要介紹紅方模型的構建,編程語言框架為Pytorch。首先構建判別器D神經網絡模型,判別器D采用深度卷積網絡加深度多層感知網絡,輸入量為聯(lián)合態(tài)勢與聯(lián)合動作拼接成的向量,輸出為0~1之間的標量,表示Agent行為符合演示對戰(zhàn)策略的概率。聯(lián)合態(tài)勢由己方態(tài)勢、敵方態(tài)勢以及導彈態(tài)勢構成。單個對抗步驟的所有輸入數(shù)據(jù)拼接成一個1階向量,其維度為:
表1 紅藍雙方對抗兵力[5]
式中:
對輸入數(shù)據(jù)的預處理主要包括:
1)為了確保神經網絡在訓練時不發(fā)生崩潰,對于所有的網絡輸入數(shù)據(jù)均進行歸一化處理,并且對于取值為0的數(shù)據(jù)填充為ε小量。
2)每個對抗步驟輸入對己方和敵方Agent均按最大Agent數(shù)目進行編碼,對所有在機場待命以及補給狀態(tài)的飛機按照其位于機場位置待命的狀態(tài)作為相應類型的存活Agent進行編碼。
3)空中導彈信息均附加到被攻擊的目標Agent之后。
4)對動作命令,按照每個對抗步驟己方每個Agent一個動作指令進行編碼,Agent的動作命令編碼按照己方Agent順序進行排列。對于在當前對抗步驟實際未發(fā)出指令的Agent,采用之前發(fā)出的最后一條還在執(zhí)行過程中的指令進行填充。
判別器網絡結構示意圖如圖3所示。網絡損失函數(shù)的設置參照公式(4),優(yōu)化方法為Adam。
圖3 判別器網絡結構
圖4 表演者網絡結構
表演者網絡A同樣采用類似的深度卷積網絡加深度多層感知網絡,網絡輸入為聯(lián)合態(tài)勢,網絡輸出為動作命令,表演者網絡結構如圖4所示。網絡輸出根據(jù)動作命令類型進行隨機采樣,其中分立指令參數(shù)如攻擊ID號等的采樣器為Categorical,連續(xù)指令參數(shù)如攻擊距離等的采樣器為Normal。表演者網絡的損失函數(shù)如表達式(6)所示,優(yōu)化方法為Adam。
為進行GAN訓練,需要輸入演示者數(shù)據(jù)。在仿真平臺未提供相關對抗的歷史數(shù)據(jù)的情況下,通過編寫紅藍雙方的規(guī)則對抗模型,并進行多局對抗的方式來記錄數(shù)據(jù),記錄的數(shù)據(jù)即包括紅方聯(lián)合態(tài)勢數(shù)據(jù)也包括紅方動作命令數(shù)據(jù)。編寫的規(guī)則模型紅方勝率為0.53??紤]到規(guī)則模型中通常一個動作命令會控制Agent多步驟的行為直到Agent接受另一個動作命令,對命令轉換前的空白動作命令進行了填充。采集多輪次的演示者數(shù)據(jù)存入回放數(shù)據(jù)文件供GAN模型訓練。
表演者網絡模型訓練的時候,按照批樣本數(shù)量為200從回放數(shù)據(jù)文件中進行隨機取樣。根據(jù)采樣得到的聯(lián)合態(tài)勢數(shù)據(jù),運行表演者網絡,根據(jù)網絡輸出進行隨機采樣后,生成表演者動作列表,將該動作列表與輸入的聯(lián)合態(tài)勢進行組合,生成模仿樣本數(shù)據(jù),同時記錄抽樣概率 log_prob和 entropy。
判別器網絡模型訓練時,回放數(shù)據(jù)文件中的聯(lián)合態(tài)勢和相應的動作命令組合成為演示樣本數(shù)據(jù)輸入到判別器網絡,計算演示樣本的損失函數(shù);模仿樣本數(shù)據(jù)輸入到判別器網絡,計算模仿樣本的損失函數(shù),總損失函數(shù)如表達式(4)所示。
由于判別器網絡和表演者網絡均未對不同Agent共享神經網絡參數(shù),訓練需要明顯更多的輪次和更長的時間。第一次訓練后期發(fā)現(xiàn)表演者網絡的回報區(qū)域穩(wěn)定周期的振蕩,但表演者的損失仍然較高,顯示網絡進入過擬合階段,因此重新采用對抗仿真引擎采集新的一批樣本以提高多樣性進行第二次訓練,經過第二次訓練表演者網絡回報得到了進一步提高。
訓練網絡性能統(tǒng)計曲線如圖5所示,左上圖為判別器判別演示樣本的準確率,右上圖為判別器判別模仿樣本的準確率,左下圖為表演者網絡的損失函數(shù),右下圖為回報值,從圖中可以看出回報值在1 200步左右達到了極值之后處于平穩(wěn)狀態(tài),表明已經完成模型訓練。
訓練量得到的表演者網絡模型與產生回放數(shù)據(jù)的藍方規(guī)則模型進行對局,對局次數(shù)為200次。表演者網絡的作戰(zhàn)性能達到了所模仿的紅方規(guī)則模型,勝率達到了0.52。在完成GAN模型的訓練后,在此基礎上進行DQN網絡的訓練,之后再次對網絡進行測試,紅方網絡的勝率達到了0.63。
在采用GAN方法建立紅藍雙方的AI模型并通過模型訓練后,固化模型參數(shù)。以固化后的模型為基礎,進行相關的RMS仿真軟件開發(fā)。將RMS參數(shù)帶入功能模型,通過MC-MC方法以及多Agent方法仿真分析RMS指標參數(shù)對于作戰(zhàn)性能的影響。
圖5 網絡訓練性能統(tǒng)計曲線
在紅藍雙方博弈對抗的基礎上,以紅方的勝率作為紅方作戰(zhàn)性能的表征。對弈的藍方暫不考慮由于RMS造成的作戰(zhàn)性能下降問題,紅方的戰(zhàn)斗機集群和轟炸機集群考慮由于戰(zhàn)備完好率A、單機失效率λ和控制信號可用度C作為RMS核心參數(shù),進行MC-MC仿真,建立紅方集群無人機RMS指標與作戰(zhàn)性能的關系。為了簡化計算,我們設定戰(zhàn)斗機和轟炸機的戰(zhàn)備完好率、單機失效率和控制信號中斷率的設定值取為相同。RMS仿真建模的計算程序如圖6所示。
選取戰(zhàn)備完好率A、單機失效率λ和控制信號可用度C這三個RMS因素進行仿真計算,每個因素選擇不同水平進行組合后進行紅藍雙方對抗,每種組合對抗200局以上,記錄紅方勝率。戰(zhàn)備完好率A范圍[0.8,1],單機失效率λ范圍為[0,0.5h-1],控制信號可用度范圍為[0.9,1]。對紅方勝率進行三因素四階響應建模,得到RMS參數(shù)與勝率的定量關系如表2所示。
圖6 RMS仿真計算流程圖
表2 RMS參數(shù)與勝率4階響應面模型擬合結果
圖7 單因素RMS參數(shù)與勝率擬合曲線
從擬合結果分析,在理想情況下分別考慮單因素RMS參數(shù)對勝率的關系曲線如圖7所示。單因素下戰(zhàn)備完好率A范圍[0.8,1]時勝率為[0.5039088, 0.632325];單機失效率λ范圍為[0,0.5h-1]時勝率為[0.2568787,0.632325];控制信號可用度范圍為[0.9,1]時勝率為[0.616531, 0.632325]。
上一節(jié)分析結果表明,考慮真實物理世界軟硬件的RMS參數(shù)后,強對抗智能網絡的執(zhí)行性能比理想情況低。對于神經網絡參數(shù)訓練是一個逐步逼近最優(yōu)解的過程,理想情況下經過訓練得到的強對抗智能模型最優(yōu)解并非是非理想情況下考慮了RMS參數(shù)約束后的最優(yōu)解,示意圖如圖8所示。
需要在模型訓練的過程中將RMS參數(shù)作為約束條件帶入。在原先建立的GAN強對抗神經網絡模型的基礎上,考慮戰(zhàn)備完好率的影響。假設實際的戰(zhàn)備完好率在0.8左右,暫不考慮單機失效率和控制信號完好率的影響,我們以此為約束條件,對GAN建立的DQN模型訓練的每個episod中,通過抽樣隨機生成該episod可用的飛機數(shù),并使得多次抽樣戰(zhàn)備完好率期望值為0.8。經過這樣的設定后,經過訓練得到在戰(zhàn)備完好率0.8時得到性能優(yōu)化的強對抗神經網絡。對訓練得到的網絡進行性能測試,并與原網絡的性能進行對比,得到的性能曲線如圖9所示,圖中正方形點和三角形分別表示戰(zhàn)備完好率為1和0.8條件下得到的強對抗網絡性能。從圖中可以看出,戰(zhàn)備完好率為0.8條件下優(yōu)化的控制模型斜率更為平緩,表明其具有更好的魯棒特性,同時戰(zhàn)備完好率參數(shù)等于0.8時的紅方勝率相對提高了8.8 %。
圖8 神經網絡參數(shù)、性能及RMS參數(shù)關系示意
圖9 不同戰(zhàn)備完好率優(yōu)化條件下的強對抗網絡模型性能
本文基于GAN方法,探討建立強對抗網絡的方法,并根據(jù)歷史回放數(shù)據(jù)對網絡進行了訓練。對訓練得到的理想情況下的強對抗網絡,采用可靠性仿真計算方法,得到不同RMS參數(shù)下對應的強對抗網絡性能,并采用響應面模型建立RMS參數(shù)與強對抗網絡性能定量公式。通過可靠性仿真計算,可以分析各RMS參數(shù)對于網絡性能的影響情況,為人工智能強對抗網絡與真實物理世界的連接提供了可靠性分析的技術途徑。為提高物理世界條件下強對抗網絡的可靠性,進一步分析了在RMS參數(shù)造成強對抗網絡性能下降的原因,并提出在考慮RMS參數(shù)后進行網絡性能優(yōu)化的方法,提升強對抗神經網絡在面臨復雜環(huán)境下裝備發(fā)生物理失效的魯棒特性。