牟軒庭,張宏軍,廖湘琳,章樂(lè)貴
(陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京 210000)
現(xiàn)代戰(zhàn)爭(zhēng)的節(jié)奏不斷加快,復(fù)雜性不斷上升,人腦因其生理上的限制,難以快速、持續(xù)地對(duì)多維態(tài)勢(shì)做出準(zhǔn)確的分析判斷,在需要反復(fù)進(jìn)行的作戰(zhàn)實(shí)驗(yàn)中尤為明顯。而人工智能相繼在Atari[1]、圍棋[2]和星際爭(zhēng)霸[3]等復(fù)雜程度遞增的環(huán)境中取得了突破,表明人工智能有望解決具有實(shí)時(shí)性、不確定性的復(fù)雜戰(zhàn)場(chǎng)決策問(wèn)題。越來(lái)越多的研究人員開(kāi)始在作戰(zhàn)實(shí)驗(yàn)中使用智能技術(shù),特別是將以深度強(qiáng)化學(xué)習(xí)為代表的智能算法與特定的仿真環(huán)境相結(jié)合,利用其強(qiáng)大的學(xué)習(xí)探索能力從高維決策空間中發(fā)掘出可行的行動(dòng)決策序列,應(yīng)用于智能推演與指揮員輔助決策中。
然而單純使用深度強(qiáng)化學(xué)習(xí)進(jìn)行推演有其局限性,一是巨大的動(dòng)作空間與狀態(tài)空間增加了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練難度,智能體很容易陷入局部最優(yōu),二是推演中的復(fù)雜任務(wù)需要多步?jīng)Q策完成,只采用簡(jiǎn)單算法和網(wǎng)絡(luò)結(jié)構(gòu)的智能體可能無(wú)法進(jìn)行有效的探索。許多研究者從引入專家經(jīng)驗(yàn)的角度出發(fā)嘗試改進(jìn)算法的表現(xiàn),主要的思路包括學(xué)習(xí)高質(zhì)量復(fù)盤(pán)數(shù)據(jù),構(gòu)建基于專家經(jīng)驗(yàn)的獎(jiǎng)勵(lì)機(jī)制[4-6];或者將作戰(zhàn)條令、作戰(zhàn)規(guī)則、指揮員經(jīng)驗(yàn)等非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行建模,構(gòu)建基于專家經(jīng)驗(yàn)的規(guī)則庫(kù)支撐智能體決策[7-8];或者將兩者的優(yōu)點(diǎn)相結(jié)合,設(shè)計(jì)基于知識(shí)和數(shù)據(jù)驅(qū)動(dòng)的決策方法[9-10],在對(duì)應(yīng)的領(lǐng)域均取得了較好的效果。
從實(shí)際應(yīng)用的效果來(lái)看,專家經(jīng)驗(yàn)輔助智能體決策的效果受它對(duì)決策空間的約束程度的影響,過(guò)度約束可能導(dǎo)致模型完全擬合為某種固定的決策模式,缺乏探索和發(fā)現(xiàn)新方案的能力,約束過(guò)少或者錯(cuò)誤的約束又可能導(dǎo)致智能體重新面對(duì)巨大搜索空間的難題,增加求解難度。針對(duì)這個(gè)問(wèn)題,該文提出了一種規(guī)則引導(dǎo)的強(qiáng)化學(xué)習(xí)智能體決策方法,在智能體策略產(chǎn)生過(guò)程中,利用專家經(jīng)驗(yàn)對(duì)環(huán)境中的無(wú)效動(dòng)作進(jìn)行動(dòng)態(tài)過(guò)濾,并在星際爭(zhēng)霸II的小型任務(wù)場(chǎng)景中進(jìn)行了實(shí)驗(yàn)驗(yàn)證。結(jié)果表明,與單純使用強(qiáng)化學(xué)習(xí)的方法相比,規(guī)則引導(dǎo)機(jī)制在困難的任務(wù)中能夠降低智能體的探索難度,幫助模型盡快收斂,在高質(zhì)量樣本數(shù)據(jù)難以獲得或者計(jì)算資源不足等情況下,為強(qiáng)化學(xué)習(xí)算法在人不在回路的仿真、智能藍(lán)軍建設(shè)等軍事領(lǐng)域中的快速應(yīng)用提供了一個(gè)可行的解決方案。
為將智能決策算法與專家經(jīng)驗(yàn)知識(shí)更好地融合,該文提出規(guī)則引導(dǎo)的智能體決策框架,分為數(shù)據(jù)資源層、數(shù)據(jù)處理層、決策支持層和決策輸出層4個(gè)部分,整體結(jié)構(gòu)如圖1所示。
圖1 規(guī)則引導(dǎo)的智能體決策框架
數(shù)據(jù)資源層主要為智能體的決策提供基礎(chǔ)的數(shù)據(jù)和模型算法支撐。數(shù)據(jù)分為動(dòng)態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù),動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)智能體與仿真環(huán)境交互后產(chǎn)生的反饋信息,主要包含戰(zhàn)場(chǎng)態(tài)勢(shì)信息、智能體的歷史動(dòng)作以及當(dāng)前得分狀況,是決策模型自我迭代更新的數(shù)據(jù)基礎(chǔ);靜態(tài)數(shù)據(jù)包含作戰(zhàn)想定、作戰(zhàn)實(shí)驗(yàn)規(guī)則及專家知識(shí)等,為下一步的數(shù)據(jù)處理以及規(guī)則引導(dǎo)機(jī)制的生成提供數(shù)據(jù)支撐。決策模型庫(kù)存儲(chǔ)著深度強(qiáng)化學(xué)習(xí)等決策算法的基本神經(jīng)網(wǎng)絡(luò)模型和更新算法的實(shí)現(xiàn),方便模型具體實(shí)現(xiàn)時(shí)進(jìn)一步的調(diào)整。
數(shù)據(jù)處理層主要實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)的初步處理。數(shù)據(jù)預(yù)處理通過(guò)仿真環(huán)境的規(guī)則以及部分專家知識(shí)對(duì)態(tài)勢(shì)信息進(jìn)行篩選,留下必要的決策信息,同時(shí)根據(jù)仿真環(huán)境的規(guī)則初步確定智能體的合法動(dòng)作空間,之后將這些數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換、歸一化等處理,轉(zhuǎn)化為模型更易于利用的形式。規(guī)則處理一方面將仿真環(huán)境的規(guī)則通過(guò)解釋器進(jìn)行轉(zhuǎn)化,用于數(shù)據(jù)預(yù)處理,另一方面將專家知識(shí)進(jìn)行分類、抽象,并以特定的形式存儲(chǔ)于專家知識(shí)庫(kù)中,為模型應(yīng)用層提供輔助數(shù)據(jù)。
模型應(yīng)用層主要實(shí)現(xiàn)決策模型的具體部署與應(yīng)用。智能模型構(gòu)建完成智能體網(wǎng)絡(luò)模型與強(qiáng)化學(xué)習(xí)等智能算法的具體結(jié)合,以及關(guān)鍵參數(shù)的設(shè)置。輔助模塊構(gòu)建根據(jù)任務(wù)需求構(gòu)建特殊的數(shù)據(jù)處理模塊以輔助決策的產(chǎn)生,如規(guī)則引導(dǎo)機(jī)制、注意力機(jī)制等。上述兩項(xiàng)活動(dòng)由專家知識(shí)庫(kù)提供數(shù)據(jù)支撐,包括超參數(shù)設(shè)置、動(dòng)作函數(shù)、專家規(guī)則和范例數(shù)據(jù)等。超參數(shù)主要包含智能算法在不同想定情況下的模型參數(shù)設(shè)置,可根據(jù)后期結(jié)果進(jìn)行不斷調(diào)整;動(dòng)作函數(shù)包含仿真環(huán)境中所有可調(diào)用的原子動(dòng)作命令,及根據(jù)研究需要設(shè)計(jì)的多個(gè)動(dòng)作的組合命令;專家規(guī)則與范例數(shù)據(jù)分別以顯式和隱式的方式表達(dá)了人類的先驗(yàn)知識(shí),智能體決策既可通過(guò)專家規(guī)則在線指導(dǎo),又可通過(guò)范例數(shù)據(jù)離線學(xué)習(xí)。
決策輸出層主要根據(jù)決策流程完成最終動(dòng)作指令的輸出。由于不同的動(dòng)作類型具有不同的參數(shù)空間,動(dòng)作指令的輸出順序?yàn)椋菏紫仁褂脤<乙?guī)則約束動(dòng)作空間后進(jìn)行采樣或選擇最大概率的選項(xiàng)得到動(dòng)作類型值,然后根據(jù)選擇的動(dòng)作類型選擇對(duì)應(yīng)的參數(shù)空間,規(guī)則約束與注意力權(quán)重一同作用于參數(shù)空間后采樣得到動(dòng)作參數(shù)值,將兩者進(jìn)行封裝即可得到完整的動(dòng)作指令。根據(jù)輔助模塊的不同,動(dòng)作輸出方式可進(jìn)行相應(yīng)的調(diào)整。
該框架將專家經(jīng)驗(yàn)和智能算法進(jìn)行了有機(jī)結(jié)合,可靈活應(yīng)用不同的網(wǎng)絡(luò)結(jié)構(gòu)、決策算法和不同場(chǎng)景下的專家知識(shí)進(jìn)行決策,具備將專家知識(shí)規(guī)則化應(yīng)用的功能,便于軍事研究人員開(kāi)展實(shí)際研究。
在提出規(guī)則引導(dǎo)的智能體決策框架基礎(chǔ)上,本節(jié)從規(guī)則引導(dǎo)機(jī)制的思路、仿真環(huán)境建模、智能體決策流程以及網(wǎng)絡(luò)結(jié)構(gòu)四個(gè)方面介紹決策框架的實(shí)現(xiàn)細(xì)節(jié)。
深度強(qiáng)化學(xué)習(xí)智能體在訓(xùn)練過(guò)程中需要面對(duì)數(shù)據(jù)質(zhì)量低、數(shù)據(jù)利用率不高、稀疏獎(jiǎng)勵(lì)、探索與利用等難題,導(dǎo)致模型難以收斂或訓(xùn)練時(shí)間過(guò)長(zhǎng)。從數(shù)據(jù)來(lái)源分析,上述問(wèn)題產(chǎn)生的很大一個(gè)原因在于訓(xùn)練初期智能體普遍采用隨機(jī)探索策略。由于缺乏目的性,隨機(jī)策略在復(fù)雜任務(wù)的探索中難以頻繁地發(fā)現(xiàn)解決問(wèn)題的行動(dòng)序列,導(dǎo)致生成的數(shù)據(jù)利用價(jià)值較低,極大地影響了訓(xùn)練效果。針對(duì)這個(gè)問(wèn)題可采用輔助強(qiáng)化學(xué)習(xí)思想[11],引入外部信息指導(dǎo)智能體的訓(xùn)練過(guò)程,常見(jiàn)的指導(dǎo)方式如圖2所示。
圖2 外部信息輔助強(qiáng)化學(xué)習(xí)途徑
狀態(tài)和獎(jiǎng)勵(lì)是智能體進(jìn)行決策以及決策優(yōu)化最重要的依據(jù),根據(jù)需要對(duì)輸入的狀態(tài)進(jìn)行擴(kuò)充、簡(jiǎn)化或者在獎(jiǎng)勵(lì)中加入額外信號(hào),有助于幫助智能體快速收斂;中間過(guò)程調(diào)整主要通過(guò)調(diào)整智能體訓(xùn)練時(shí)的超參數(shù)來(lái)改變訓(xùn)練效果,如智能體因陷入局部最優(yōu)而反復(fù)嘗試同一個(gè)動(dòng)作時(shí),可增加學(xué)習(xí)率或貪婪系數(shù)等超參數(shù),鼓勵(lì)其嘗試更多的動(dòng)作;動(dòng)作調(diào)整影響的是智能體產(chǎn)生動(dòng)作的過(guò)程,如根據(jù)規(guī)則推理或模仿專家范例直接選擇動(dòng)作等,幫助智能體直接積累正確的經(jīng)驗(yàn);環(huán)境調(diào)整主要是對(duì)狀態(tài)空間、動(dòng)作空間、智能體的初始狀態(tài)等訓(xùn)練環(huán)境的相關(guān)設(shè)置進(jìn)行調(diào)整,通過(guò)改變?nèi)蝿?wù)的難易度來(lái)影響智能體的訓(xùn)練效果。
對(duì)狀態(tài)空間的充分探索有利于發(fā)現(xiàn)稀疏獎(jiǎng)勵(lì),避免陷入局部最優(yōu)。但從人類的角度來(lái)看,許多問(wèn)題中,動(dòng)作對(duì)于完成任務(wù)的必要性會(huì)根據(jù)不同的狀態(tài)發(fā)生變化。一些狀態(tài)下的可執(zhí)行動(dòng)作明顯與任務(wù)目標(biāo)無(wú)關(guān),它們時(shí)常使得智能體花費(fèi)時(shí)間進(jìn)行探索,甚至深陷其中。最直接的方法就是對(duì)這些無(wú)效的動(dòng)作施以懲罰(對(duì)應(yīng)圖2中的②),或者將多個(gè)低層次的動(dòng)作組合為高層次動(dòng)作(對(duì)應(yīng)圖2中的③),最近的一項(xiàng)研究[12]總結(jié)了常用的三種動(dòng)作空間簡(jiǎn)化的方法,包括離散空間組合、連續(xù)空間離散化、和移除無(wú)效動(dòng)作,并通過(guò)充分的實(shí)驗(yàn)發(fā)現(xiàn)移除無(wú)效動(dòng)作和連續(xù)空間離散化這兩項(xiàng)措施對(duì)改善智能體表現(xiàn)有明顯的效果。而另一項(xiàng)研究[13]表明,策略梯度算法在探索較大的動(dòng)作空間時(shí),對(duì)無(wú)效動(dòng)作進(jìn)行懲罰并不能改善智能體的訓(xùn)練效果,但使用掩碼將無(wú)效動(dòng)作進(jìn)行遮蔽后再進(jìn)行動(dòng)作采樣,模型更容易收斂,并且在去除遮蔽后仍然保持了一定的性能。
受以上研究啟發(fā),軍事領(lǐng)域的環(huán)境復(fù)雜,但基于仿真系統(tǒng)的作戰(zhàn)方案推演可以結(jié)合專家經(jīng)驗(yàn)將合法動(dòng)作以規(guī)則的形式進(jìn)行篩選,根據(jù)任務(wù)需求以及可能遇到的狀態(tài)對(duì)動(dòng)作空間進(jìn)行動(dòng)態(tài)過(guò)濾而不是簡(jiǎn)單地移除,在簡(jiǎn)化環(huán)境的同時(shí),能夠在一定程度上引導(dǎo)智能體進(jìn)行更加高效的探索,提高算法本身生成有效樣本的概率,促進(jìn)模型的快速收斂。雖然規(guī)則引導(dǎo)機(jī)制依賴專家經(jīng)驗(yàn)的形式化表示,但它容易在具有可調(diào)整環(huán)境和規(guī)則庫(kù)的仿真系統(tǒng)中實(shí)現(xiàn),并且與其他方法相比,規(guī)則引導(dǎo)機(jī)制直接作用于動(dòng)作空間,能夠與大部分強(qiáng)化學(xué)習(xí)算法有效結(jié)合,具有較強(qiáng)的實(shí)用性。
作戰(zhàn)仿真系統(tǒng)是人類對(duì)于特定軍事活動(dòng)建立的計(jì)算機(jī)模型,對(duì)系統(tǒng)中各個(gè)要素的描述必須遵循相關(guān)的作戰(zhàn)實(shí)驗(yàn)規(guī)則,不同的規(guī)則決定了描述對(duì)象的不同特點(diǎn)。圍繞實(shí)體、行為、交互這三類系統(tǒng)基本要素將作戰(zhàn)實(shí)驗(yàn)規(guī)則分為物理規(guī)則、行為規(guī)則和裁決規(guī)則[14]。物理規(guī)則是描述仿真實(shí)體物理結(jié)構(gòu)、功能、組合方式等固有屬性的規(guī)則,行為規(guī)則是描述仿真實(shí)體執(zhí)行作戰(zhàn)行動(dòng)時(shí)需滿足的主客觀條件的規(guī)則,裁決規(guī)則是描述仿真實(shí)體發(fā)生交互后產(chǎn)生效果的規(guī)則。強(qiáng)化學(xué)習(xí)智能體與仿真系統(tǒng)進(jìn)行交互時(shí),物理規(guī)則與裁決規(guī)則隱含于態(tài)勢(shì)信息中,為智能體決策所需的重要依據(jù),而行為規(guī)則直接影響動(dòng)作空間大小,決定了動(dòng)作搜索的難度。通過(guò)2.1節(jié)的描述可以知道,規(guī)則除了正確約束仿真系統(tǒng)的運(yùn)行外,還可以用于提高智能體的訓(xùn)練效率。為了更好地描述規(guī)則引導(dǎo)機(jī)制,需要先對(duì)仿真環(huán)境的關(guān)鍵要素進(jìn)行建模。
基于作戰(zhàn)仿真系統(tǒng)的推演屬于即時(shí)戰(zhàn)略博弈,具有實(shí)時(shí)性、不確定性、不完全信息等特點(diǎn),可以將推演活動(dòng)定義為元組G=(S,A,P,ρ,L,W)。其中,S、A、P分別指特定想定下的狀態(tài)空間、混合動(dòng)作空間和實(shí)體所屬方;ρ:St×A1×A2→St+1為狀態(tài)轉(zhuǎn)移函數(shù),規(guī)定了在時(shí)間t時(shí),對(duì)抗雙方(假設(shè)參加推演人數(shù)為兩人)分別執(zhí)行動(dòng)作A1和A2后狀態(tài)St向St+1轉(zhuǎn)移的方式,包含了對(duì)動(dòng)作執(zhí)行效果的裁決;L:S×A×P→{True,False}為合法動(dòng)作判別函數(shù),在當(dāng)前態(tài)勢(shì)下,根據(jù)仿真系統(tǒng)中定義的規(guī)則對(duì)指揮員執(zhí)行的動(dòng)作的合法性進(jìn)行判別;W:S→P∪{ongoing,draw}為態(tài)勢(shì)判別函數(shù),根據(jù)雙方態(tài)勢(shì)返回博弈的進(jìn)展情況,根據(jù)是否結(jié)束可輸出的對(duì)抗?fàn)顟B(tài)包括獲勝方、正在進(jìn)行和平局。按照上述描述,元組G中的L對(duì)應(yīng)行為規(guī)則,ρ和W對(duì)應(yīng)裁決規(guī)則。
與單純的離散動(dòng)作空間或連續(xù)動(dòng)作空間不同,推演決策問(wèn)題涉及混合動(dòng)作空間[15],這類動(dòng)作空間的特點(diǎn)是:完成動(dòng)作時(shí),在指定離散的動(dòng)作類型后還需要指定該動(dòng)作相關(guān)的連續(xù)動(dòng)作參數(shù),如完成實(shí)體機(jī)動(dòng)需要選擇執(zhí)行動(dòng)作的實(shí)體u,選擇對(duì)應(yīng)的動(dòng)作函數(shù)atype,并指定機(jī)動(dòng)目標(biāo)的坐標(biāo)aarg=(x,y),上述選擇構(gòu)成元組a=(u,atype,aarg),并最終封裝為系統(tǒng)可以調(diào)用的動(dòng)作函數(shù)。智能體在自動(dòng)推演過(guò)程中,不論最終的目標(biāo)如何,在每個(gè)時(shí)刻做出的決策必定能夠分解為選擇實(shí)體,選擇動(dòng)作類型和選擇動(dòng)作參數(shù)這三個(gè)微觀動(dòng)作,選擇實(shí)體視為特殊的動(dòng)作,因此動(dòng)作空間主要分為動(dòng)作類型空間和動(dòng)作參數(shù)空間,即A=(Atype,Aarg)。
規(guī)則引導(dǎo)的智能體決策流程從整體來(lái)看分為5個(gè)模塊,包括態(tài)勢(shì)感知模塊、策略生成模塊、強(qiáng)化學(xué)習(xí)模塊、數(shù)據(jù)存儲(chǔ)模塊以及輔助模塊,輔助模塊包括注意力層和規(guī)則引導(dǎo)層。各模塊間的交互情況如圖3所示。
圖3 規(guī)則引導(dǎo)的智能體決策流程
數(shù)據(jù)存儲(chǔ)模塊包含經(jīng)驗(yàn)存儲(chǔ)模塊和規(guī)則存儲(chǔ)模塊,前者采集環(huán)境和智能體在每個(gè)時(shí)間步產(chǎn)生的當(dāng)前狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)等交互信息,存儲(chǔ)為樣本數(shù)據(jù),在訓(xùn)練環(huán)節(jié)輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,后者存儲(chǔ)了專家經(jīng)驗(yàn)知識(shí),在訓(xùn)練開(kāi)始前轉(zhuǎn)化為形式化的規(guī)則構(gòu)建規(guī)則引導(dǎo)層以輔助智能體決策;態(tài)勢(shì)感知模塊接收環(huán)境輸入的實(shí)時(shí)態(tài)勢(shì)信息,包括反映地圖的特征層,以及各實(shí)體的狀態(tài)信息,數(shù)據(jù)輸入后經(jīng)過(guò)篩選、轉(zhuǎn)換、歸一化等預(yù)處理,輸入神經(jīng)網(wǎng)絡(luò);策略生成模塊輸出原始策略,由規(guī)則引導(dǎo)層進(jìn)行動(dòng)作空間的過(guò)濾后返回新的策略,各動(dòng)作參數(shù)經(jīng)過(guò)采樣后被封裝為環(huán)境可識(shí)別的指令輸出;強(qiáng)化學(xué)習(xí)模塊是整個(gè)框架的核心,可根據(jù)需求實(shí)現(xiàn)相應(yīng)的強(qiáng)化學(xué)習(xí)算法,提取經(jīng)驗(yàn)存儲(chǔ)模塊中的樣本數(shù)據(jù)進(jìn)行訓(xùn)練,并提供網(wǎng)絡(luò)的更新參數(shù),本流程中使用近端策略優(yōu)化算法[17]進(jìn)行策略梯度更新;輔助模塊是設(shè)計(jì)者為優(yōu)化智能體訓(xùn)練過(guò)程,提高智能體性能等目的而設(shè)計(jì)的數(shù)據(jù)處理模塊,在本流程設(shè)計(jì)中為注意力層和規(guī)則引導(dǎo)層,其中注意力層為態(tài)勢(shì)中不同的實(shí)體位置計(jì)算權(quán)重,具體實(shí)現(xiàn)參考文獻(xiàn)[16];規(guī)則引導(dǎo)層簡(jiǎn)化環(huán)境的動(dòng)作空間,引導(dǎo)智能體正確決策。
智能體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。為處理復(fù)雜的星際爭(zhēng)霸環(huán)境狀態(tài)輸入,使用多層卷積網(wǎng)絡(luò)接收連續(xù)5幀的屏幕信息和小地圖信息,網(wǎng)絡(luò)之間使用殘差鏈接;使用編碼層接收單位狀態(tài)和歷史動(dòng)作等非空間信息,生成一維向量。將兩者的輸出進(jìn)行維度調(diào)整、拼接后輸入注意力層。注意力層直接輸出的向量保留了空間特征,經(jīng)過(guò)上采樣層進(jìn)行逆卷積后與輸出動(dòng)作一起作為空間參數(shù)輸出層的特征輸入。另外一個(gè)輸出則采用平鋪層進(jìn)行拉伸,與非空間信息編碼拼接后一同作為動(dòng)作、輔助參數(shù)以及狀態(tài)價(jià)值的輸入。動(dòng)作輸出層、輔助參數(shù)輸出層及價(jià)值輸出層都是全連接層,輸出對(duì)應(yīng)參數(shù)概率分布和價(jià)值。
圖4 智能體網(wǎng)絡(luò)結(jié)構(gòu)
規(guī)則引導(dǎo)層根據(jù)知識(shí)庫(kù)中專家經(jīng)驗(yàn)的描述生成規(guī)則集R。規(guī)則集R使用產(chǎn)生式規(guī)則描述,其中約束動(dòng)作類型空間的規(guī)則表示如下:
ri:IFC1∧C2∧…∧CnTHEN {a1,a2,…,am} is invalid
(1)
選定動(dòng)作為aj后,約束對(duì)應(yīng)參數(shù)空間的規(guī)則表示如下:
(2)
(3)
(4)
因此綜合上述描述,該文采用近端策略優(yōu)化算法進(jìn)行訓(xùn)練的流程如算法1。根據(jù)演員-評(píng)論家(Actor-Critic)方法構(gòu)建了共享參數(shù)的智能體網(wǎng)絡(luò),目的是減少訓(xùn)練的開(kāi)銷;設(shè)置參照網(wǎng)絡(luò)θold,采用梯度裁剪的方法限制策略梯度更新的幅度,提高算法訓(xùn)練的穩(wěn)定性,具體實(shí)現(xiàn)可參考文獻(xiàn)[17]。
算法1:規(guī)則引導(dǎo)的近端策略優(yōu)化算法。
輸入:初始化網(wǎng)絡(luò)參數(shù)θ,經(jīng)驗(yàn)池容量,規(guī)則集R
輸出:最優(yōu)網(wǎng)絡(luò)參數(shù)θ*,最優(yōu)策略π*
1.載入規(guī)則集R,初始化規(guī)則引導(dǎo)層;
2.對(duì)于訓(xùn)練回合1,2,…,M:
3. 初始化環(huán)境狀態(tài)s0,
4. 對(duì)于回合中的第n步:
5. 獲取當(dāng)前環(huán)境狀態(tài)sn,輸入規(guī)則引導(dǎo)層,生成掩碼LR;
8. 將交互數(shù)據(jù)(sn,an,rn,sn+1)存入經(jīng)驗(yàn)池;
9. 執(zhí)行L步后,根據(jù)PPO算法更新網(wǎng)絡(luò)參數(shù)θ;
10.更新參數(shù)θold=θ;
11.單個(gè)訓(xùn)練回合結(jié)束;
12.M個(gè)訓(xùn)練回合結(jié)束。
該文基于python3.8和pytorch1.7.0工具包以及星際爭(zhēng)霸II機(jī)器學(xué)習(xí)接口pysc2[18]進(jìn)行決策方法的應(yīng)用與評(píng)估。
實(shí)驗(yàn)場(chǎng)景為星際爭(zhēng)霸II的戰(zhàn)勝蟑螂和訓(xùn)練陸戰(zhàn)隊(duì)員。戰(zhàn)勝蟑螂的初始狀態(tài)為9名陸戰(zhàn)隊(duì)員和4只蟑螂,擊敗一只蟑螂可以得到10分,一名陸戰(zhàn)隊(duì)員死亡扣1分,當(dāng)4只蟑螂全部被消滅后地圖會(huì)重置雙方的位置和數(shù)量,智能體要在有限的時(shí)間中控制陸戰(zhàn)隊(duì)員擊殺數(shù)量盡量多的蟑螂。蟑螂的生命力與攻擊力較高,陸戰(zhàn)隊(duì)員必須集中火力攻擊才能有效地取得較高的分?jǐn)?shù)。訓(xùn)練陸戰(zhàn)隊(duì)員的初始狀態(tài)為1個(gè)指揮中心和12個(gè)工人,通過(guò)訓(xùn)練工人、采集水晶礦、建造補(bǔ)給站、建造兵營(yíng)等步驟在有限的動(dòng)作步長(zhǎng)內(nèi)盡可能多地訓(xùn)練陸戰(zhàn)隊(duì)員,建造和訓(xùn)練動(dòng)作需要消耗水晶礦,工人和陸戰(zhàn)隊(duì)員需要占用補(bǔ)給,每訓(xùn)練一個(gè)陸戰(zhàn)隊(duì)員可以得到1分的獎(jiǎng)勵(lì)。此外,該任務(wù)還對(duì)智能體提出了規(guī)劃要求,完成任務(wù)的同時(shí)要統(tǒng)籌好資源和補(bǔ)給的平衡,各步驟關(guān)系如圖5所示。
圖5 訓(xùn)練陸戰(zhàn)隊(duì)員中關(guān)鍵動(dòng)作的關(guān)系
從總體上來(lái)看,雖然環(huán)境本身實(shí)時(shí)提供了合法動(dòng)作列表,但依然存在許多無(wú)效動(dòng)作,使得兩個(gè)任務(wù)面臨較大的動(dòng)作空間和稀疏獎(jiǎng)勵(lì)的挑戰(zhàn)。
戰(zhàn)勝蟑螂任務(wù)相對(duì)簡(jiǎn)單,只需要智能體控制陸戰(zhàn)隊(duì)員快速集火敵人即可,更多是考驗(yàn)智能體感知地圖上敵人位置的能力,該文將規(guī)則設(shè)置為只允許選擇單位與攻擊這兩個(gè)動(dòng)作。訓(xùn)練陸戰(zhàn)隊(duì)員的環(huán)境稍顯復(fù)雜,實(shí)驗(yàn)前對(duì)隨機(jī)策略與無(wú)規(guī)則引導(dǎo)的智能體行為進(jìn)行分析,發(fā)現(xiàn)無(wú)規(guī)則引導(dǎo)下,環(huán)境的合法動(dòng)作平均為10個(gè),最多可達(dá)15個(gè)。智能體初期探索的時(shí)候就容易花費(fèi)大量時(shí)間操作工人四處移動(dòng)而不是采集礦物,中期容易反復(fù)執(zhí)行建造命令,或者操作陸戰(zhàn)隊(duì)員進(jìn)行無(wú)意義移動(dòng)和攻擊等,這些動(dòng)作對(duì)完成任務(wù)沒(méi)有任何幫助。另外,任務(wù)設(shè)置中陸戰(zhàn)隊(duì)員被消滅后不會(huì)受到懲罰,還能節(jié)省補(bǔ)給數(shù)量,此條經(jīng)驗(yàn)可嵌入規(guī)則中幫助提高任務(wù)成績(jī)。因此制定以下規(guī)則對(duì)動(dòng)作空間進(jìn)行約束,主要規(guī)則簡(jiǎn)單描述如下:
(1)禁止小地圖動(dòng)作。
(2)禁止工人和陸戰(zhàn)隊(duì)員通過(guò)移動(dòng)指令進(jìn)行移動(dòng)。
(3)禁止建筑設(shè)置生產(chǎn)單位集結(jié)點(diǎn)。
(4)陸戰(zhàn)隊(duì)員的攻擊目標(biāo)限定為陸戰(zhàn)隊(duì)員。
(5)限定建造補(bǔ)給站和兵營(yíng)的地圖坐標(biāo)范圍。
(6)限制補(bǔ)給站個(gè)數(shù)。
為與人類操作速度相近,智能體每1秒執(zhí)行一個(gè)動(dòng)作。游戲環(huán)境的動(dòng)作接口涉及到動(dòng)作類型、輔助參數(shù)和空間參數(shù)三種,考慮到本任務(wù)中的輔助參數(shù)對(duì)任務(wù)影響不大,規(guī)則集中將特定動(dòng)作對(duì)應(yīng)的輔助參數(shù)設(shè)為定值。最終規(guī)則引導(dǎo)的智能體動(dòng)作集被限制為:選擇單位、訓(xùn)練工人、訓(xùn)練陸戰(zhàn)隊(duì)員、建造補(bǔ)給站、建造兵營(yíng)、采集水晶礦和陸戰(zhàn)隊(duì)員攻擊。
實(shí)驗(yàn)將有規(guī)則引導(dǎo)層的智能體(rule-guided-agent)、無(wú)規(guī)則引導(dǎo)層的智能體(attention-agent)以及無(wú)注意力層的智能體(no-attention-agent)進(jìn)行對(duì)比,無(wú)注意力智能體的注意力層被替換為相同層數(shù)的卷積層。智能體輸入狀態(tài)包括屏幕特征層中的單位類型、已選單位信息等空間信息,以及當(dāng)前礦物數(shù)量、當(dāng)前補(bǔ)給上限、當(dāng)前占用的補(bǔ)給上限、場(chǎng)上的建筑與單位數(shù)量等標(biāo)量信息。
將每30回合的平均得分經(jīng)過(guò)一定的平滑處理后進(jìn)行分析。圖6為戰(zhàn)勝蟑螂任務(wù)中三類智能體收斂后的訓(xùn)練得分情況。為了減少智能體在圖像認(rèn)知方面的訓(xùn)練時(shí)間,事先使用腳本產(chǎn)生的高質(zhì)量動(dòng)作狀態(tài)序列對(duì)智能體進(jìn)行了預(yù)訓(xùn)練??梢钥闯?,任務(wù)本身存在攻擊細(xì)節(jié)上的難度,因此得分波動(dòng)幅度較大;規(guī)則引導(dǎo)的智能體收斂于一個(gè)平均得分最高的策略,能夠做到按順序集火消滅蟑螂,并且更加容易產(chǎn)生高得分的行動(dòng)序列,相比之下,無(wú)規(guī)則引導(dǎo)的智能體和無(wú)注意力的智能體因?yàn)轭l繁執(zhí)行攻擊以外的動(dòng)作,導(dǎo)致陸戰(zhàn)隊(duì)員得分的效率降低,并經(jīng)常被蟑螂消滅,表現(xiàn)不穩(wěn)定,收斂到了次優(yōu)的策略。
圖6 戰(zhàn)勝蟑螂平均得分變化
訓(xùn)練陸戰(zhàn)隊(duì)員的平均成績(jī)對(duì)比如圖7所示。通過(guò)觀察智能體行為可以發(fā)現(xiàn),沒(méi)有規(guī)則引導(dǎo)層和注意力機(jī)制支撐的智能體存在巨大的探索困難,除了初始隨機(jī)探索獲得一些獎(jiǎng)勵(lì)以外,模型最終收斂到了一個(gè)無(wú)意義的動(dòng)作集中,導(dǎo)致無(wú)法有效地發(fā)現(xiàn)訓(xùn)練陸戰(zhàn)隊(duì)員的動(dòng)作序列。而擁有注意力層的智能體經(jīng)過(guò)初期探索后成功發(fā)現(xiàn)目標(biāo)動(dòng)作序列,但仍然存在操作陸戰(zhàn)隊(duì)員四處游走的現(xiàn)象;而且訓(xùn)練后期存在攻擊已經(jīng)建造完成的補(bǔ)給站和兵營(yíng)等行為,導(dǎo)致平均得分反而有所下降。規(guī)則引導(dǎo)的智能體因?yàn)閷<医?jīng)驗(yàn)的指導(dǎo),能夠快速找到目標(biāo)動(dòng)作序列,比只擁有注意力層的智能體更快逼近收斂,并且通過(guò)逐步調(diào)整資源與補(bǔ)給的平衡,得分在后期還能穩(wěn)步提升。
圖7 訓(xùn)練陸戰(zhàn)隊(duì)員平均成績(jī)對(duì)比
為進(jìn)一步評(píng)估智能體策略的穩(wěn)健性,在模型收斂后撤掉規(guī)則引導(dǎo)層,其他設(shè)置不變,繼續(xù)訓(xùn)練,得到的訓(xùn)練成績(jī)?nèi)鐖D8所示。由于失去了規(guī)則引導(dǎo)層的幫助,智能體的表現(xiàn)有所下降,但很快又恢復(fù)到原來(lái)的水平,這一結(jié)果證明規(guī)則引導(dǎo)機(jī)制能夠幫助智能體快速地收斂到行之有效的策略中,并且更好地發(fā)揮其原有的性能。
圖8 去掉規(guī)則引導(dǎo)層后平均得分變化
最后將本實(shí)驗(yàn)的結(jié)果與DeepMind的基準(zhǔn)AI[18]和同樣使用了注意力機(jī)制的關(guān)系強(qiáng)化學(xué)習(xí)模型[16]進(jìn)行對(duì)比,見(jiàn)表1??梢钥吹?,提出的兩種機(jī)制在簡(jiǎn)單任務(wù)上接近基準(zhǔn)AI,在規(guī)劃性強(qiáng)的復(fù)雜任務(wù)上甚至能超過(guò)基準(zhǔn)AI,并且和關(guān)系強(qiáng)化學(xué)習(xí)模型的得分相近。關(guān)系強(qiáng)化學(xué)習(xí)模型使用了大規(guī)模分布式強(qiáng)化學(xué)習(xí)算法IMPALA[19],在此任務(wù)上進(jìn)行了約一千萬(wàn)局的訓(xùn)練,對(duì)計(jì)算資源和時(shí)間的要求較高,因此擁有普通的網(wǎng)絡(luò)和小規(guī)模的訓(xùn)練難以達(dá)到的性能。相比之下,規(guī)則引導(dǎo)機(jī)制對(duì)算力的要求不高,并且在數(shù)據(jù)樣本和計(jì)算資源有限的情況下,使用合理的網(wǎng)絡(luò)結(jié)構(gòu)和相對(duì)簡(jiǎn)單的算法同樣能夠達(dá)到不錯(cuò)的效果。另外,作為對(duì)照,在隨機(jī)策略的智能體中應(yīng)用規(guī)則引導(dǎo)機(jī)制,平均得分也能夠接近基準(zhǔn)AI,進(jìn)一步說(shuō)明對(duì)動(dòng)作空間的合理約束能夠排除干擾,增強(qiáng)智能體的探索能力。
表1 最佳平均得分對(duì)比
該文提出了一種規(guī)則引導(dǎo)的智能體決策生成框架,利用專家經(jīng)驗(yàn)生成的掩碼對(duì)智能體的動(dòng)作空間進(jìn)行動(dòng)態(tài)過(guò)濾,起到了簡(jiǎn)化環(huán)境作用,在復(fù)雜環(huán)境中幫助智能體進(jìn)行更多的有效探索,加快了模型的收斂,并且在去掉規(guī)則引導(dǎo)層后仍然能夠保持對(duì)于環(huán)境的適應(yīng)性。結(jié)合課程學(xué)習(xí)的思想,規(guī)則引導(dǎo)機(jī)制還可以通過(guò)一步步減少規(guī)則約束來(lái)實(shí)現(xiàn)環(huán)境簡(jiǎn)單到復(fù)雜的變化,具有進(jìn)一步應(yīng)用的價(jià)值。它也存在一定的局限性,比如機(jī)制的實(shí)現(xiàn)依賴人工設(shè)計(jì),在沒(méi)有規(guī)則庫(kù)或無(wú)法調(diào)整環(huán)境的場(chǎng)景中應(yīng)用相對(duì)困難,復(fù)雜的專家經(jīng)驗(yàn)轉(zhuǎn)化為形式化規(guī)則存在描述困難問(wèn)題等。對(duì)于依靠仿真系統(tǒng)進(jìn)行的智能化作戰(zhàn)推演來(lái)說(shuō),如何從實(shí)際想定出發(fā),針對(duì)不同的態(tài)勢(shì)制定引導(dǎo)規(guī)則是下一步研究的方向。