李承興,高桂清,鞠金鑫,蔣 振
(火箭軍工程大學, 西安 710025)
隨著人工智能學習技術的日趨發展,以Alphago為首的圍棋AI掀起“人機大戰”的潮流。在兵棋推演系統中通過利用基于大量兵棋對抗數據的深度增強學習人工智能技術方法,提升計算機AI的學習與進化能力,模擬人的思維方式,實現對抗經驗的快速積累,同步提高對抗水準的同時,幫助裝備保障推演指揮員改善、提高指揮策略、謀略水平。
參與學習過程的機器稱為智能體,增強學習的本質是智能體通過嘗試與環境反饋而完善策略的過程。智能體的學習過程基于環境感知,通過付出行為動作得到反饋,并根據結果進行學習優化。深度增強學習的原理主要包括兩方面:馬爾科夫決策過程(MDP)與神經網絡。
1) 馬爾科夫決策過程(MDP)。一個完整的MDP是一系列狀態S與動作A的組合,智能體通過動作完成狀態轉變,而馬爾科夫過程的基本假設是每個狀態只與上一個狀態相關。一個MDP一般由五要素構成:{S,A,{Psa},γ,R},其中:
智能體在狀態s0的情況下采取動作a0,并按照Psa的轉移概率到s1,在這個過程中產生了回值r0,按照以上步驟完成的決策過程可以用圖1表示。
在MDP基本元素確定后由于增強學習過程之中很多行動并不能立刻得到回報,而是延遲到行動結果產生時,因而一步回報函數r(s,a)并不能具備表示策略好壞的能力。為了解決上述問題,需要定義值函數來體現整個策略π的回報(π定義了各種狀態對應的行動)。常用的值函數如下:
(1)
在狀態s下采用策略π時:考慮未來回報與即時回報擁有不同權重。增強學習最終的目標是最大化值函數,因而最優化的π可以定義為
π*=arg maxVπ(s),(?s)
(2)
即在每個狀態下均能取到最大值函數的動作集合π。
一般一個狀態下可以對應有多個動作,進而延伸出能夠清楚表示出不同動作下的回報動作效用函數Q函數,記為Q(s,a)。Q函數可以簡單地理解為一張表格,即記錄下每個狀態s下采用動作a對應的回報值。Q表的更新迭代規則為:
(3)
式(3)中表示在狀態s下采取動作a時,i+1輪參數等于第i輪的參數r與轉化后的狀態s′下能夠取得的最大回報之和。Q函數動態更新,最初初始化為0矩陣。
2) 神經網絡。對于裝備維修保障兵棋而言,上述最小化值函數的過程能夠很好地得到最優化的策略集π,但是當狀態集較大的情況,Vπ(s)對應的值空間將無比巨大,隨之而來的需要模擬的次數也將使得算法失去時間上的可行性。在這種情況下,需要采用相似的方法進行處理,即使用新的函數表示值函數。新函數在任意輸入的情況下均能給出近似輸出,即Vπ(s,W)≈Vπ(s),其中W為新函數的參數集。對于新的函數,需要通過更新參數W來逼近最優值函數,這個更新過程即優化過程。
對于海量狀態集且不確定函數形式的情況,基于神經網絡的監督學習是最優解法。監督學習是給定數據與結果,利用結果更新參數使得輸出盡可能逼近結果。神經網絡通過梯度下降法,根據損失函數更新網絡參數,從而實現函數逼近。神經網絡學習的最終結果是大量神經元的參數,即W。
對于推演狀態動作空間極大的過程,直接最優化Q函數時間限制無法滿足,因而采用神經網絡代替Q值的方法,即深度Q學習。深度Q學習的過程按照準備、訓練和應用3個層次遞進,其中準備階段包括狀態與行動空間的確定、回報的確定;訓練階段包括隨機模擬數據生成、神經網絡參數訓練;應用階段即采用貪心或最長路徑算法確定最優策略。
1.2.1 準備階段
1) 狀態空間。狀態空間是Q學習中的主線,各種狀態對應需要的動作收益即Q學習目標。在裝備維修保障兵棋系統中,其狀態空間包括推演過程中每個回合結束后可能出現所有局面情況,可能出現復雜度較高的場景,因而可以對狀態進行分類,如分離狀態、交戰狀態、受損狀態、維修狀態,其中分離狀態是指雙方并未接觸,各自執行任務;交戰狀態一般包含襲擾的過程;受損狀態即裝備受損且未被維修的狀態;維修狀態則是維修過程狀態,每個狀態空間包含多種狀態,但是具有極大的相似性。
2) 動作空間。動作空間是智能體在一定狀態下進行的操作行為統稱,分為全局和局部。全局動作是指整個過程中所有動作的集合,而局部動作則是針對特定狀態采用的動作,局部動作有助于減小動作空間,集中處理相應狀態。在裝備維修保障兵棋中,動作空間等同于命令數據。局部動作空間是在特定場景下的命令集,如修理狀態命令主要集中在修理命令上。
3) 回報。回報是Q學習的目標,是動作帶來的狀態轉變的收益。裝備維修保障兵棋中回報的確定主要包括裝備損傷、物資消耗與維修結果,并根據其重要程度分別復制不同的回報。紅方最終目的是取得損傷最小、消耗最少且維修成果最好的局面,而藍方則是在自己消耗最少的情況下盡可能使得紅方損傷最大。
1.2.2 訓練階段
1) 隨機模擬數據生成。在狀態與動作空間確定后,遍歷所有狀態與動作序列在時間上不現實,因而采用隨機初始化初始情況,并根據當前狀態空間下的可選動作,按照選定的概率分布,隨機選擇動作模擬。通過一系列模擬生成不同類型的數據資料,為神經網絡的學習提供數據參考。
在裝備維修保障兵棋中,確定想定場景之后的步驟均能夠根據相應的空間執行動作,模擬完成推演,推演的結束是維修任務的完成。在隨機模擬數據完成后,一套狀態動作序列的所有回報均能用于網絡訓練。
2) 網絡訓練。對神經網絡的訓練過程可以看作Q表的更新過程。第一步對網絡參數進行初始化,通過在網絡上做出相應的動作行為觸發神經元,最終由此得到相應的反饋輸出進行在線學習。每個狀態動作序列按順序投入訓練,不同的是每輪訓練完成時,需要保留本輪的網絡參數為W-,用于下一輪更新相應的Q值,其損失函數即兩輪之間Q值之差的平方,利用梯度下降法更新網絡。
由此可見,網絡訓練就是Q表的生成,利用網絡對多種不同狀態的規律提取能力節省了大量存儲空間。直觀上理解為:在一次機動任務完成過程中存在多個不同的狀態,這些狀態中采取襲擾而產生的結果可能是相似的。
1.2.3 應用階段
應用階段就是將訓練好的網絡用于實際策略選取的過程。在Q值完全精確的情況下,智能體只需要在每個狀態下選擇回報最高的動作進行操作,即能夠保證最優的最終結果,這種策略稱為貪心法。在實際操作過程中,智能體遍歷通過當前狀態下的動作空間實現貪心。為避免局部最優解的影響,通常還可以采用最長路徑算法優化貪心法,增加貪心的步驟而更加靠近全局最優解法。
通過裝備維修保障過程中的裝備受損和機動維修分隊抵達受損裝備位置點等具體內容,探討人工智能技術理論在推演中的狀態、動作量化,狀態轉移與回報值確定以及深度學習3個方面增強學習能力的應用方式方法。
機動分隊抵達受損位置后開始維修過程的模擬是對狀態的量化。在學習過程中采用一個狀態矩陣來表示當前狀態,設置當前受損裝備所在部隊番號為K,機動分隊代號為X,則針對當前維修過程的狀態進行量化,如表1所示。其中各型狀態取值如表2所示。

表1 機動維修分隊維修狀態類型量化

表2 機動維修分隊維修狀態類型取值
狀態的改變即為狀態矩陣中對應屬性值的改變。馬爾科夫決策過程中的動作,可以狹義地理解為兵棋系統中的指令。維修過程中的指令只針對維修處置。同樣采用當前受損裝備所在部隊番號為K,機動分隊番號為L,則動作可以用指令向量描述如表3所示。

表3 維修指令向量描述
注:指令源棋子指執行命令棋子,指令目標棋子指命令所影響棋子,如受損單位
狀態的轉移主要包含兩方面因素,狀態轉移的概率以及轉移后新的狀態。在MDP中每個狀態轉移的過程即是變化的過程,狀態轉移的概率即引發狀態變化的多種裁決過程的概率集合,而轉移后的概率即裁決的最終結果。在維修過程中,維修指令下達后開始維修過程,每次維修都有成功的概率,即狀態轉移概率,而利用隨機數判定的維修結果即是新的狀態。具體應用中設置當前的狀態為St,此時的行動集為A(其中動作集包括a1與a2,分別代指維修與放棄維修)。當前狀態中詳細描述了受損裝備的受損等級、維修棋子的維修等級與維修能力值。采取不同動作的狀態轉移概率描述如下:
1) 采取動作a2。在采取動作a2,即放棄維修的情況下,當前狀態St向下一個狀態轉移的概率為0,即狀態不會改變。
2) 采取動作a1。采取動作a1,即立刻維修的情況下,當前狀態的下一個狀態St+1共有兩種可能:
第1種情況下,在St+1中裝備維修成功,則受損裝備k等級將為0,同時維修棋子l的維修能力值減去相應消耗值,此時的P(St,St+1)即為裁決表中維修成功的概率p;
第2種情況下,在St+1中裝備維修失敗,則受損裝備k等級保持不變,同時維修棋子l的維修能力值減去相應消耗值,此時的P(St,St+1)為1減去裁決表中維修成功的概率p,即1-p;
如上所述,兵棋中狀態轉移概率依照相應的動作由裁決表決定。
在確定狀態轉移概率后,動作的回報值由狀態之間的差異確定。狀態矩陣表示方法的優點在于一步或多步回報均可采用矩陣差值的方式求得,針對維修過程的回報值考慮維修成果以及維修過程中的消耗,回報函數表示為
回報=Ea(α1×裝備受損等級之差+
α2×維修能力值消耗)
(4)
式(4)中,α1,α2為兩種屬性的回報權重,滿足等級差越大回報越大,維修能力值消耗越大,回報越小的原則。而Ea表示采取動作a時的回報期望。
確定了狀態轉移概率與回報值函數,即可通過馬爾科夫決策過程模擬動作過程,獲取最佳行動策略。
兵棋的狀態空間包括了整個棋局所有單位的狀態信息,而每個狀態下對應的動作集差異巨大。在不同狀態下動作集基礎上,狀態空間疊乘動作空間范圍過大帶來存儲空間與查詢時間過大的問題。通過狀態轉移概率與回報函數,利用深度神經網絡進行監督學習的方式能夠有效模擬整個狀態行為空間。
維修過程中,每個狀態可以由二維的狀態矩陣表征,相應的動作由一維的指令向量表征,將狀態矩陣展開成一維,并拼接動作向量形成的長向量Vec為神經網絡的輸入,相應計算得到的回報值為神經網絡的輸出,整體流程如圖2所示。
假設狀態矩陣為M*N維,動作向量為1*K維,展開拼接所得的輸入向量為1*(M*N+K)維,通過給定的回報期望來訓練深度神經網絡。在狀態矩陣的動作向量大量變化過程中,神經網絡記錄其回報特征,模擬每種狀態與動作情況下的期望回報,從而解決Q值表過大的問題。
當前部隊在使用各型訓練系統的過程中存在效能發揮不佳、資源分配不均等一系列問題,兵棋系統在汲取部隊應用訓練系統過程中的實際情況和短板問題基礎上,通過對人工智能技術理論領域的認識和分析,以技術展望的角度探究融合MDP和神經網絡技術,從而增強裝備維修保障兵棋系統的深度策略學習能力,為更好發揮系統潛能,提高應用的質量效益提供了方法思路。
1) 提高訓練對抗水準。策略學習的過程主要有兩部分:線下學習與在線增強學習。線下學習是建立在多次對弈的數據基礎上,通過數據訓練神經網絡作為增強學習的近似值函數,在對弈時利用在線增強學習達到最優化策略的目的。以往經驗的積累只能夠通過汲取歷史資料或實踐演習任務和平時訓練而來,且經驗的傳遞具有極大的限制性。機器學習的過程是經驗積累的過程,通過大量數據抽象出最直接有效的策略,機器學習具備一次性與進化性,一次性是指通過一波訓練得到的結果將能夠永久保存,而進化性則是表示訓練完成的網絡參數能夠根據推演活動任務的區別、時代的變化而進行遷移訓練,在已有的經驗基礎上學習新的策略。
2) 挖掘資源利用效率。充分發掘兵棋系統的潛力,除了通過棋局復盤積累經驗以外,充分的訓練過程必不可少。裝備維修保障兵棋的推演對抗活動需要導調員和紅藍方推演者,這意味著每次訓練需要一定的人力資源。此外,與類型、崗位的推演者進行對弈有助于受訓指揮員應對不同思想和指揮風格的對抗者,這是有效提升訓練質量對人力提出的功能需求,而經由學習產生的AI具有多樣性與復用性,多樣性是指AI能夠通過改變訓練數據而模擬不同風格的對弈者,為指揮員提供多樣的訓練效果。復用性是計算機帶有的特性,即一個AI能夠同時參與多人對弈,不同于一對一的真人對弈,利用有效的資源充分發揮了計算機系統的潛能效益。
3) 有效充當多重角色。推演過程中,增強訓練產生的策略除了用作AI以外,還能夠為推演者提供最優化的指揮策略建議及驗證完善任務方案。通過確定模型,AI計算出的策略在一定的概率范圍內浮動,不因推演者心理情緒的波動而產生偏差,體現出計算機的絕對理性,并且通過強大的計算能力,AI能夠根據戰場態勢情況模擬出多種策略方案并選取最優解。雖然計算機在創造性上存在短板,但是在多數情況下,由大量數據累計的計算及先驗知識得出的結論對推演指揮員還是具有一定的參考意義。
:
[1] 石崇林.基于數據挖掘的兵棋推演數據分析方法研究[D].北京:國防科學技術大學,2014.
[2] 杜羨.基于分布式徑向基網絡的板形識別模型研究[D].秦皇島:燕山大學,2013.
[3] 楊宇航,李志忠,傅焜,等.基于虛擬現實的導彈維修訓練系統[J].兵工學報,2006(2):107-110.
[4] 劉平,高崎,黃照協,等.維修分隊戰時裝備維修能力評估方法研究[J].裝備環境工程,2012(5):130-134.
[5] 鐘劍輝,傅調平,鄧超.基于人工智能的兵棋推演作戰分析研究與設計[J].艦船電子工程,2015(1):32-33.
[6] 吳偉,吳琳.基于兵棋推演的作戰效能評估方法研究[J].軍事運籌與系統工程,2013(6):16-19.
[7] 劉紀紅,徐曉東.計算機兵棋人機交互平臺的研究[J].東北大學學報,2008(5):23-26.
[8] 楊南征.虛擬演兵—兵棋、作戰模擬與仿真[M].北京:解放軍出版社,2007.