朱寧龍 佟驍冶
(1.91404部隊(duì)92分隊(duì) 秦皇島 066000)(2.中國船舶集團(tuán)有限公司第七〇九研究所 武漢 430205)
目前,指控系統(tǒng)中的輔助決策知識(shí)主要通過人工制定,這種方法低效而又充滿主觀性。在大數(shù)據(jù)和智能化背景下,可以利用虛擬環(huán)境下的作戰(zhàn)數(shù)據(jù)輔助生成決策,利用CGF(Computer Generated Force,計(jì)算機(jī)生成兵力)幫助指揮員進(jìn)行決策訓(xùn)練與分析。傳統(tǒng)CGF的行為決策按照預(yù)設(shè)規(guī)則制定,基于“IF…THEN”指令形式的知識(shí),進(jìn)行產(chǎn)生式推理,智能化程度不夠高,而對于軍事領(lǐng)域來說,一般的機(jī)器學(xué)習(xí)方法又缺乏可靠性與可解釋性。同時(shí)具備嚴(yán)謹(jǐn)?shù)闹R(shí)結(jié)構(gòu)和高效的學(xué)習(xí)能力,是實(shí)現(xiàn)輔助決策智能化生成的關(guān)鍵。
考慮到軍事領(lǐng)域的特殊性,在學(xué)習(xí)方法的構(gòu)建中,既需要遵循專家領(lǐng)域知識(shí),體現(xiàn)規(guī)則的約束力,又要通過自學(xué)習(xí),自動(dòng)尋找最優(yōu)解。目前有很多研究將狀態(tài)機(jī)等知識(shí)表示工具與神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)工具相結(jié)合,訓(xùn)練出理想的行為決策[1]。而對于輔助決策場景來說,需要選擇具有嚴(yán)謹(jǐn)?shù)闹R(shí)表示形式的模型構(gòu)建方法,而不是通過純粹的概率計(jì)算或算法求解實(shí)現(xiàn)推理的方法。并且,學(xué)習(xí)的過程必須有可解釋性,才能有可信度,也方便指揮員等對模型的訓(xùn)練結(jié)果進(jìn)行信息提取,分析,得出想要的結(jié)論。
強(qiáng)化學(xué)習(xí)方法是目前規(guī)則學(xué)習(xí)的重要手段,通過不斷交互的方式獲取學(xué)習(xí)數(shù)據(jù),從而得出策略。同時(shí),強(qiáng)化學(xué)習(xí)屬于人工智能中的行為主義流派,其學(xué)習(xí)過程符合人類行為決策的生成過程,從基本原理上具備一定的可解釋性。強(qiáng)化學(xué)習(xí)的學(xué)習(xí)模式,即“狀態(tài)空間—行為空間—回報(bào)值”,也非常符合人類行為與認(rèn)知的規(guī)律。Rahul Dey和Chris Child的研究[2]使得智能體同時(shí)具備固定知識(shí)與學(xué)習(xí)能力,他們將行為樹與Q學(xué)習(xí)算法相結(jié)合,設(shè)計(jì)了可以自學(xué)習(xí)的行為樹結(jié)構(gòu),取得了不錯(cuò)的效果,體現(xiàn)了過程建模和強(qiáng)化學(xué)習(xí)相結(jié)合的思想。另外也有研究將此方法應(yīng)用于CGF行為優(yōu)化[3]。在此基礎(chǔ)上,本文提出了將CGF的行為決策知識(shí)以Pe?tri網(wǎng)的方式存儲(chǔ),并以Q學(xué)習(xí)更新Petri網(wǎng)結(jié)構(gòu)的方法,使知識(shí)模型具備自學(xué)習(xí)能力。
決策行為過程具有馬爾科夫特性,即當(dāng)前狀態(tài)向下一個(gè)狀態(tài)轉(zhuǎn)移的概率和后果只取決于當(dāng)前狀態(tài)和當(dāng)前發(fā)生的行為,與之前狀態(tài)無關(guān)。決策行為的自學(xué)習(xí)可以依據(jù)馬爾科夫過程分步實(shí)現(xiàn),對當(dāng)前狀態(tài)做出反應(yīng),然后獲取系統(tǒng)的反饋,再得出當(dāng)前步驟的學(xué)習(xí)結(jié)論。根據(jù)這一特性,鏈狀或者網(wǎng)狀模型最適合對此類過程進(jìn)行建模,并通過強(qiáng)化學(xué)習(xí)的方式進(jìn)行模型更新[4~5]。
為了解決行為樹的本身存在結(jié)構(gòu)不靈活,要素過多需要循環(huán)檢測機(jī)制驅(qū)動(dòng),造成重復(fù)遍歷的缺點(diǎn),本文采用Petri網(wǎng)表達(dá)模型結(jié)構(gòu),既解決了自動(dòng)機(jī)面對復(fù)雜環(huán)境時(shí)的狀態(tài)空間爆炸問題,并且具備了并行過程表達(dá)能力。Petri網(wǎng)對狀態(tài)機(jī)最重要的繼承是“狀態(tài)”這一概念,不需要循環(huán)檢測機(jī)制就可以觸發(fā)動(dòng)作,減少了重復(fù)遍歷。另外,Petri網(wǎng)中元素種類比較少,只有“庫所”、“變遷”兩種類型的節(jié)點(diǎn),“增刪改”相對行為樹更加靈活。比行為樹更具有優(yōu)勢的地方在于:Petri網(wǎng)是一種系統(tǒng)的數(shù)學(xué)和圖形分析工具,可以清楚地描述模型中各個(gè)元素的相互關(guān)系和動(dòng)態(tài)行為,既具有工作流[6]的特征,又有成熟的數(shù)學(xué)分析方法。
對于強(qiáng)化學(xué)習(xí)來說,狀態(tài)既可以來自于系統(tǒng)變量,也可以來自于模型本身。Petri網(wǎng)可以讀取狀態(tài),也可以改變狀態(tài)。環(huán)境狀態(tài)體現(xiàn)狀態(tài)空間中的元素,邏輯狀態(tài)體現(xiàn)決策進(jìn)行的階段,分別用兩種庫所表示。將動(dòng)作用變遷表示,當(dāng)前置庫所均滿足條件,即可觸發(fā)動(dòng)作[7~8]。形式如圖1所示。
圖1 決策行為表示
在傳統(tǒng)Petri網(wǎng)中,變遷的觸發(fā)取決于前置庫所中的托肯值和輸入弧的權(quán)重。為了訓(xùn)練網(wǎng)模型,對傳統(tǒng)網(wǎng)模型進(jìn)行結(jié)構(gòu)改造,賦予變遷額外的參數(shù)Q值,用來表示當(dāng)前動(dòng)作的優(yōu)先程度。根據(jù)Q值將平行變遷(擁有相同前置庫所的變遷)進(jìn)行排序,把每輪訓(xùn)練結(jié)果中Q值最大的變遷賦予最高優(yōu)先級,如圖2所示。
圖2 Petri網(wǎng)中引入Q值
同時(shí),將此最大Q值賦予上游變遷,即當(dāng)前輸入庫所的輸入變遷,使得上級平行變遷獲得排序,作為上級決策的執(zhí)行依據(jù),以此類推,層層傳遞。Q值傳遞方式如圖3所示。
圖3 Q值的傳遞
由此方式訓(xùn)練的結(jié)果是從初始狀態(tài)節(jié)點(diǎn)開始,根據(jù)當(dāng)前最大Q值選擇觸發(fā)候選動(dòng)作,并以同樣的方式選擇后續(xù)動(dòng)作節(jié)點(diǎn)。訓(xùn)練結(jié)束后,剔除低順位變遷以及相關(guān)庫所,最終決策方案得以確定。
在某型指控系統(tǒng)平臺(tái)中,建立虛擬環(huán)境,設(shè)置兩組智能體(A組、B組),對其行為分別以狀態(tài)機(jī)(A組)和Petri網(wǎng)(B組)的形式進(jìn)行建模,并在其中一組實(shí)驗(yàn)中,在對戰(zhàn)過程中對B組智能體進(jìn)行強(qiáng)化學(xué)習(xí)訓(xùn)練。
采用PNML標(biāo)準(zhǔn)制定Petri網(wǎng)模型標(biāo)記語言,pnml標(biāo)簽表示PNML文件,net標(biāo)簽表示網(wǎng)絡(luò),庫所、變遷和弧分別用place標(biāo)簽、transition標(biāo)簽和arc標(biāo)簽表示[9~10],其文件基本結(jié)構(gòu)如下所示。
其中,庫所的初始托肯值用“initialMarking”屬性表示,庫所名稱用“Pname”屬性表示,其結(jié)構(gòu)如下。
變遷的名稱用“Tname”屬性表示,其相應(yīng)的Q值用“Qvalue”屬性表示,其結(jié)構(gòu)如下。
Petri網(wǎng)中的弧分為兩種,即“庫所-變遷”和“變遷-庫所”,分別以兩種方式表示,結(jié)構(gòu)如下。
PNML表達(dá)了網(wǎng)絡(luò)中各個(gè)元素之間的關(guān)系,系統(tǒng)運(yùn)行時(shí),只需通過對PNML文件的讀取和操作,生成關(guān)聯(lián)矩陣臨時(shí)數(shù)據(jù)和元素實(shí)體,并在模型訓(xùn)練過程中修改PNML文件,表達(dá)為新的決策模型[11]。
確立了五個(gè)狀態(tài)元素,為了減小狀態(tài)空間,提升學(xué)習(xí)速度。對環(huán)境中的狀態(tài)數(shù)據(jù)進(jìn)行模糊化和離散化的預(yù)處理,選取相關(guān)的狀態(tài)和動(dòng)作。
1)健康狀態(tài)H(None,Low,Medium,High);
2)彈藥儲(chǔ)備A(None,Low,Medium,High);
3)敵人距離D(Near,Medium,F(xiàn)ar);
4)受到攻擊U(Yes,No)。
Agent的行為并不是單一動(dòng)作,而是一系列動(dòng)作組成的高層次行為組合。包括以下四種。
1)巡邏patrol;
2)防御defend;
3)攻擊attack;
4)逃避dodge。
由于仿真環(huán)境中,行為是持續(xù)性的,存在一個(gè)運(yùn)行周期,Petri網(wǎng)的并行特性允許各個(gè)行為同步發(fā)生,完成實(shí)時(shí)仿真和實(shí)時(shí)學(xué)習(xí)。
首先設(shè)置基本獎(jiǎng)勵(lì)函數(shù)機(jī)制,將戰(zhàn)損、被消滅的戰(zhàn)果給與懲罰,將重創(chuàng)、擊毀的戰(zhàn)果給與獎(jiǎng)勵(lì)。為了加快算法的收斂速度,防止從“零”開始學(xué)習(xí)引起的低效。將專家經(jīng)驗(yàn)作為先驗(yàn)知識(shí),與基本獎(jiǎng)勵(lì)機(jī)制加權(quán)后相結(jié)合,組成綜合獎(jiǎng)勵(lì)函數(shù),綜合獎(jiǎng)勵(lì)函數(shù)R表達(dá)式為
R=ω1R1+ω2R2
其中,ω1、ω2分別為先驗(yàn)知識(shí)權(quán)重和基本獎(jiǎng)勵(lì)函數(shù)權(quán)重,R1、R2分別為先驗(yàn)知識(shí)獎(jiǎng)勵(lì)函數(shù)和基本獎(jiǎng)勵(lì)函數(shù)。
本實(shí)驗(yàn)的先驗(yàn)知識(shí)獎(jiǎng)勵(lì)函數(shù)部分展示在表1中。
Q-Learning算法,是一種異策略控制(Off-poli?cy)的采用時(shí)序差分法的強(qiáng)化學(xué)習(xí)方法,使用兩個(gè)控制策略,一個(gè)用于選擇新的動(dòng)作,另一個(gè)用于更新價(jià)值函數(shù)。
使用bellman方程對馬爾科夫過程求最優(yōu)策略,其算法流程如下:1)初始化Q(s,a);2)根據(jù)當(dāng)前Q值,選擇當(dāng)前狀態(tài)s下的一個(gè)動(dòng)作a(可使用ε-greedy搜索策略),輸出動(dòng)作a后,觀察輸出的狀態(tài)s'和獎(jiǎng)勵(lì)r,依據(jù)公式更新Q值:Q(S,A)=Q(S,A)+α(R+γmaxaQ(S',a)?Q(S,A)),更新策略:π(a|s)=argmaxQa(s,a);3)重復(fù)“步驟2)”,直到Q值收斂。其中,π是當(dāng)前策略,γ是衰減因子。
為了避免陷入局部最優(yōu),兼顧當(dāng)前最優(yōu)解之外的可能性,也為了解決冷啟動(dòng)問題,采用ε-greedy算法為動(dòng)作選取策略。設(shè)置一個(gè)概率值ε、隨機(jī)數(shù)rand和參數(shù)t,算法每步都有一定的概率ε在可選動(dòng)作集A中選擇探索,也有一定的概率1-ε進(jìn)行采樣。搜索策略表示為[12~13]
學(xué)習(xí)后期,agent對Q值的學(xué)習(xí)方向越來越明朗,可以適當(dāng)減小ε值,直至取消搜索。
截取某一邏輯節(jié)點(diǎn)的情況下,對于特定狀態(tài)S2(健康狀態(tài):Low、彈藥儲(chǔ)備:Low、敵人距離:Medi?um、受到攻擊:Yes),其初始模型如圖4所示,此情況下智能體隨機(jī)采取四種策略。
圖4 初始模型
設(shè)置學(xué)習(xí)效率α=0.8,折扣因子γ=0.6,初始概率ε=0.25。經(jīng)學(xué)習(xí)收斂后4個(gè)動(dòng)作的Q值分別為Q(patrol)=1、Q(defend)=5、Q(attack)=9、Q(dodge)=15,經(jīng)過低順位動(dòng)作剔除,最終形成的決策模型如圖5所示。
圖5 訓(xùn)練后模型
對所有的邏輯節(jié)點(diǎn)下的狀態(tài)采取同樣方式訓(xùn)練,以圖3所示的方法進(jìn)行Q值傳遞,最終產(chǎn)生完整的決策網(wǎng)絡(luò)。
將A組和B組設(shè)為完全相同的簡單的初始決策。令兩組智能體進(jìn)行“5V5對抗”,記錄每一局的存活數(shù)。每次實(shí)驗(yàn)總局?jǐn)?shù)為50,每局時(shí)間限制在1min。
實(shí)驗(yàn)分為兩部分,首先:使未經(jīng)學(xué)習(xí)的B組與A組進(jìn)行對抗,此時(shí)A、B兩組具有相同的決策,A、B兩組的對抗實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 對戰(zhàn)存活單位數(shù)量對比圖(實(shí)驗(yàn)一)
其中,橫軸表示對抗次數(shù),豎軸表示存活數(shù)量。對抗實(shí)驗(yàn)結(jié)果表明同樣的行為決策下,擁有相同決策的兩組智能體的成績相似。
在第二次實(shí)驗(yàn)中,B組的Petri網(wǎng)模型加入Q學(xué)習(xí)更新機(jī)制,自第二輪對抗開始,B組每輪對抗中使用的策略都是上一輪學(xué)習(xí)后的結(jié)果。訓(xùn)練分為50個(gè)周期,截取每個(gè)周期的最后一局結(jié)果,實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 對戰(zhàn)存活單位數(shù)量對比圖(實(shí)驗(yàn)二)
從結(jié)果來看,兩次實(shí)驗(yàn)有明顯差異。在第二次實(shí)驗(yàn)中,在前期對戰(zhàn),由于A組和B組都按照相同或相似的策略行動(dòng),結(jié)果互有勝負(fù),勝負(fù)主要取決于隨機(jī)因素,雙方戰(zhàn)力比較均衡。前中期,因?yàn)殡S機(jī)搜索機(jī)制的影響,B組可能會(huì)選擇錯(cuò)誤的決策行為,戰(zhàn)績不太穩(wěn)定。但是隨著強(qiáng)化學(xué)習(xí)的進(jìn)程,搜索范圍逐步收窄,B組戰(zhàn)績開始提升,并且越來越穩(wěn)定。
實(shí)驗(yàn)結(jié)果表明,用Petri網(wǎng)建模方法的智能體具有與狀態(tài)機(jī)相似的決策能力,經(jīng)過強(qiáng)化學(xué)習(xí)的Petri網(wǎng)決策模型有一定的成長性,可以一定程度上規(guī)避局部最優(yōu)的困境,并且學(xué)習(xí)效率比較可觀。
本文提出的基于Petri網(wǎng)建模和強(qiáng)化學(xué)習(xí)的指控系統(tǒng)輔助決策生成方法,可以由計(jì)算機(jī)生成兵力訓(xùn)練決策方案,將最優(yōu)解提供給指揮員。在建模的便捷性、可解釋性和成長性方面都取得了不錯(cuò)的效果。使用此方法一定程度上彌補(bǔ)了人為設(shè)置決策模型的缺陷,可輔助決策行為知識(shí)建模。目前此方法還沒有將更復(fù)雜的狀態(tài)空間以及行為空間引入,如何更好地處理模糊類型的變量和連續(xù)變量,以及如何更加合理地動(dòng)態(tài)調(diào)節(jié)搜索力度,平衡算法運(yùn)行的速度和容錯(cuò)率,是下一步要研究的工作。