田 佩,臧兆祥,張 震,郭鴻村
(1. 三峽大學水電工程智能視覺監(jiān)測湖北省重點實驗室,湖北 宜昌 443002;2. 三峽大學計算機與信息學院,湖北 宜昌 443002;3. 重慶對外經貿學院大數(shù)據(jù)與智能工程學院,重慶 401520)
RTS游戲[1],[2]是一種即時的、非回合制的游戲,需要agent在游戲中承擔偵察獲取敵方信息、更新己方當前兵力資源信息、實施作戰(zhàn)策略等任務。星際爭霸作為一種典型的RTS游戲,DeepMind團隊運用深度強化學習算法訓練AlphaStar[3],訓練完成后,AlphaStar在Battle.net上的排名超過了99.8%的活躍玩家。不僅是游戲領域,作戰(zhàn)模擬領域中也廣泛運用人工智能技術[4]。利用數(shù)據(jù)、知識和規(guī)則等,結合機器學習方法[5],建立和優(yōu)化推演過程中各類行動實體的決策模型,為作戰(zhàn)方案分析,戰(zhàn)法試驗分析等提供數(shù)據(jù)支撐,并使分析結果更具有說服力,學習結果更具高置信度。2017年美國提出“算法戰(zhàn)”,啟動了認知智能在軍事領域中的探索和應用,并于2020 年2月發(fā)表研究報告[6],進一步明確智能化戰(zhàn)爭的核心技術路線,即人工智能技術和自主化系統(tǒng)。其中人工智能主要是用于開發(fā)決策輔助工具,用來協(xié)助指揮官管理快速而復雜的作戰(zhàn)行動,提升決策優(yōu)勢,進而取得競爭優(yōu)勢。
尋求作戰(zhàn)單位行動指令的最優(yōu)參數(shù)配置,總體而言是一個抽象化的最優(yōu)化問題[7],但是傳統(tǒng)的優(yōu)化算法例如梯度下降算法[8]等,有明確的目標函數(shù)要求,智能優(yōu)化算法例如遺傳算法[9]等,局部搜索能力較差,且收斂速度慢。強化學習[10]作為機器學習[11]的一個重要方向,主要用于描述和解決智能體在與環(huán)境的交互過程中,通過學習策略達成最大獎賞值或者實現(xiàn)特定目標的問題。強化學習算法[12]不僅可以學習優(yōu)化參數(shù)配置,還能實現(xiàn)在線更新。因此,針對傳統(tǒng)算法的不足之處,提出了使用強化學習中的Q-Learning算法[13],并借助游戲仿真平臺,對游戲中作戰(zhàn)單位的行動指令參數(shù)配置進行優(yōu)化,尋求使其自身行動結果和效果最好的參數(shù)配置。
強化學習[10],其思想是智能體處在一個無人指導的環(huán)境中,通過自身的不斷試錯和與環(huán)境所提供的反饋,來糾正自己執(zhí)行的動作,以期最大化目標收益?;灸P蛨D如圖1所示。
圖1 強化學習基本原理圖
圖2 游戲平臺戰(zhàn)場地圖
Agent在與環(huán)境的交互過程中,每一時刻會發(fā)生以下事件:
1)Agent在t時刻從環(huán)境中獲取一個狀態(tài)st;
2)根據(jù)當前狀態(tài)和即時獎勵或懲罰rt,選擇一個動作at;
3)當Agent選擇的環(huán)境作用于環(huán)境時,會從狀態(tài)st,轉移至下一個狀態(tài)st+1,并且獲得一個即時的獎勵或懲罰rt;
4)rt反饋給Agent,t←t+1;
5)返回第2)步,如果新的狀態(tài)是結束狀態(tài),結束循環(huán)。
其中A是一組動作集,動作a∈A,rt由st和at決定。
強化學習中Agent與環(huán)境的交互過程,如果Agent下一時刻的狀態(tài)只與當前狀態(tài)有關,而與其之前狀態(tài)均無關,稱該過程具備馬爾科夫特性,則可以將該過程建模成Markov決策問題[11]。
具體過程為:先考慮一個有限的隨機過程,狀態(tài)集合S,動作集合A,at表示Agent在t時刻采取的動作,psi sj(at)表示Agent在t時刻由于采取動作at而使環(huán)境從狀態(tài)si轉移到狀態(tài)sj的概率,其中at∈A,si,sj∈S。則轉移概率為
psisj(at)=p(st+1=sj|st=si,at)
(1)
Markov決策問題的目的是尋找一個最優(yōu)策略,對于每一個時刻的狀態(tài),Agent都會根據(jù)最優(yōu)策略選取最合適的動作。
Q-Learning算法最早用于求解具有延遲獎勵或懲罰的序貫優(yōu)化決策過程問題,迭代計算公式[13]如式(2)所示
Q(st,at)=Q(st,at)+α[rt+
(2)
其中Q(st,at)是t時刻狀態(tài)-動作對的值函數(shù),α是學習率,γ是折扣因子且0<γ<1,rt是在狀態(tài)st下采取動作at到達st+1狀態(tài)后獲得的獎勵或懲罰。
Q-Learning算法具體描述如下
給定離散的狀態(tài)空間和動作空間,學習率和折扣因子,以表格的形式存儲值函數(shù)Q(st,at),并選擇動作。
1)初始化值函數(shù)、學習率和折扣因子,令時刻t=0;并觀測下一時刻的狀態(tài)st+1;
2)循環(huán),直至滿足終止條件:
a)對當前狀態(tài)st,選取動作at,并觀測下一時刻的狀態(tài)st+1;
b)根據(jù)迭代式(2)更新當前狀態(tài)-動作對的值函數(shù)Q(st,at);
與Q-Learning算法相比,單步Q-Learning算法[14]只考慮一步操作,其目標是最大化單步獎勵值,因此在更新值函數(shù)過程中,不存在折扣因子γ,迭代計算式(3)所示
Q(st,at)=Q(st,at)+α[rt-Q(st,at)]
(3)
其中Q(st,at)是t時刻狀態(tài)-動作對的值函數(shù),α是學習率,rt是在狀態(tài)st下采取動作at獲得的即時獎勵或懲罰。
本實驗借助一個作戰(zhàn)模擬的游戲仿真平臺[15]。游戲設置背景和規(guī)則:紅方作為攻擊方,綜合運用??胀粨艉椭гU狭α?突破藍方防空體系,摧毀藍方兩個指揮所;藍方作為防守方,依托地面、海面和空中立體防空火力,守衛(wèi)己方島嶼兩個指揮所。若在一場游戲時間(150min)內,兩個指揮所均被摧毀,判紅方勝利;兩個指揮所均未被摧毀,判藍方勝;達到一場游戲時間時,若只摧毀一個指揮所,則統(tǒng)計紅藍雙方的戰(zhàn)損比和非軍事目標誤傷比,判優(yōu)者勝。紅藍雙方的兵力設置如表1、2所示,游戲平臺戰(zhàn)場地圖如圖1所示。
表1 紅方兵力設置
表2 藍方兵力設置
實驗中涉及的作戰(zhàn)單位為紅方轟炸機、預警機和藍方防空驅逐艦。實驗場景是:紅方轟炸機執(zhí)行起飛目標突擊指令突擊藍方艦船,通過實驗獲取轟炸機突擊效率最高的指令參數(shù)配置。轟炸機執(zhí)行起飛目標突擊的相關參數(shù):起飛機場編號,起飛數(shù)量,敵方平臺編號,突擊方向([0,360]),武器發(fā)射距離與最大射程的百分比([1,100]),突擊速度(單位:千米/小時,[600,800])。
初始部分設置轟炸機的起飛數(shù)量為2,每架飛機配置2枚彈藥,護衛(wèi)艦配置36枚彈藥,飛機被擊中一次即視為被擊毀,護衛(wèi)艦船被擊中3次則視為被擊毀。護衛(wèi)艦船的火力范圍100公里,自動攻擊距離為最大攻擊距離的60%。轟炸機的攻擊范圍是80公里。因此,實驗中對指令的相關參數(shù)進行了預處理。
突擊方向(direction),將360度離散化成18個點;武器發(fā)射距離與最大射程的百分比(range):根據(jù)艦船的自動攻擊范圍和轟炸機的攻擊范圍限定,武器發(fā)射距離與最大射程的百分比從60開始取值,離散化成6個點;突擊速度(speed),將單位換算成米/秒,速度范圍為166~216,同樣離散化成6個點。
根據(jù)預處理的結果,初始化一個初始均為0的Q表。Q-Learning算法直接訓練的收斂速度比較慢,本文預計使用ε-greedy策略、輪盤賭策略以及Boltzmann Exploration策略來優(yōu)化動作選擇策略,以加快Q-Learning算法的收斂速度。
3.3.1 ε-greedy策略
ε-greedy策略[16]以概率ε隨機選擇一組參數(shù)配置,否則選擇具有最大Q值的參數(shù)配置,這種方法可以有效地提升Q-Learning算法的收斂速度。
具體描述為:在進入正式迭代之后,在[0,1]之間生成一個隨機數(shù),并將生成的隨機數(shù)與初始設置的探索率epsilon進行比較,根據(jù)比較結果的大小關系決定是進入探索階段,還是進入利用階段。如果隨機數(shù)小于初始設置的探索率epsilon,則進入探索階段,隨機選擇一組參數(shù)配置進行仿真推演,更新該組參數(shù)配置對應的Q值;如果隨機數(shù)大于初始設置的探索率epsilon,則進入利用階段,即選擇Q值最大的一組參數(shù)配置進行仿真推演,并更新Q表。
(4)
3.3.2 輪盤賭策略
輪盤賭策略[17]也被稱為比例選擇方法,基本思想是每一組參數(shù)配置被選擇的概率與其Q值的大小成正比。計算每一組參數(shù)配置被選中的概率:利用每組參數(shù)配置所對應的Q值大小Qi(i=1,2,…,M,M是參數(shù)配置組數(shù)),計算其在所有參數(shù)配置Q值之和中的概率p:
(5)
3.3.3 Boltzmann Exploration策略
Boltzmann Exploration策略[18]的思想與輪盤賭策略的思想類似,都是通過概率大小選擇動作。不同的是,Boltzmann Exploration策略選擇動作的概率是與Q值的指數(shù)成正比,即Q值較大的動作更有可能被選擇到,而Q值較小的動作被選擇到的概率也比較小,但仍然有可能被選擇到。
(6)
3.3.4 獎勵函數(shù)
依據(jù)初始設定的轟炸機起飛數(shù)量,可知飛機所載彈藥數(shù)為4??稍O置獎勵函數(shù):一輪推演中,若飛機沒有命中艦船,設置獎勵值為0,否則按照每命中一次,獎勵值依次加5。
根據(jù)上述實驗設計,使用強化學習算法進行訓練,對實驗結果進行分析討論,以及驗證Q-Learning算法的收斂性。下面將對實驗結果結合可視化圖表進行研究分析。
首先檢驗Q-Learning算法在本實驗中的收斂性,然后觀測實驗結果的準確性。折線圖展示了Q-Learning算法的訓練過程,根據(jù)縱坐標Q值的變化情況,驗證了Q-Learning算法的收斂性。
圖3是完全隨機探索策略的Q-Learning算法Q值變化曲線圖。
圖3 完全隨機探索策略下的Q值變化曲線圖
圖4是使用ε-greedy動作選擇策略的Q-Learning算法Q值變化曲線圖。
圖4 ε-greedy策略下Q值變化曲線圖
圖5是使用輪盤賭動作選擇策略的Q-Learning算法Q值變化曲線圖。
圖5 輪盤賭策略下Q值變化曲線圖
圖6是使用Boltzmann Exploration策略時的Q-Learning算法Q值變化曲線圖。
圖6 Boltzmann Exploration策略下Q值變化曲線圖
不同的動作選擇策略對算法收斂速度的影響也不一樣。對比四幅實驗結果圖,完全隨機探索策略的收斂速度最為緩慢,ε-greedy策略只對一組參數(shù)的收斂速度進行了優(yōu)化,但是可以十分迅速地學習到一組最優(yōu)的行動指令參數(shù)配置;輪盤賭策略和Boltzmann Exploration策略的收斂速度比較相近,區(qū)別在于,Boltzmann Exploration策略計算概率時對Q值進行了指數(shù)放大,也即所有參數(shù)配置被選擇的概率相比較輪盤賭策略的概率也被放大了,因此Boltzmann Exploration策略對Q值較小的參數(shù)配置的選擇概率較輪盤賭策略的更為均勻,而輪盤賭策略在選擇過程中幾乎不會選擇Q值較小的參數(shù)配置。
三種不同動作選擇策略的使用,可以看出訓練后期各參數(shù)配置的命中次數(shù)有明顯的區(qū)分,經過統(tǒng)計,命中3次的曲線有14條,命中2次的曲線有87條,命中1次的曲線103條,命中0次的曲線有444條,因此最優(yōu)的參數(shù)配置并非一組,觀察Q值較大的參數(shù)配置的特征,突擊方向的范圍在[220,300]之間,武器發(fā)射距離與最大射程百分比的范圍在[81,88]之間,而突擊速度的范圍總體還在[166,216]之間,由此可知突擊方向、武器發(fā)射距離與最大射程百分比更能影響作戰(zhàn)單位的行動指令效果,而突擊速度則對作戰(zhàn)單位行動指令效果的影響比較小。
本文利用Q-Learning算法,在RTS游戲中實現(xiàn)了作戰(zhàn)單位行動指令參數(shù)配置的在線優(yōu)化。考慮到行動指令中不同參數(shù)配置組合成的狀態(tài)空間過大,對數(shù)據(jù)進行了預處理,剔除了一些明顯不適用的數(shù)據(jù),降低了狀態(tài)空間的維度,同時減少了算法運行的時間??紤]到Q-Learning算法自身收斂速度緩慢的特點,引入了幾種不同的動作選擇策略,使得算法可以更快的收斂,學習效果更加地明顯。實驗對比發(fā)現(xiàn),ε-greedy策略可以在訓練輪數(shù)較少的情況下,就能學習到其中一組行動指令效果最優(yōu)的參數(shù)配置。在實際問題中,往往希望Agent在訓練的過程中就能比較快速地學習到最優(yōu)策略;在本文中,Agent不僅在訓練階段中就能學習到最優(yōu)的行動指令參數(shù)配置,而且在實用測試過程中,如果環(huán)境發(fā)生變化,也能實時地在線更新優(yōu)化參數(shù)配置。本文雖然剔除了部分數(shù)據(jù)來降低Q表維度,但對剩下數(shù)據(jù)的離散化處理仍然不夠細化,而Q-Learning算法在處理龐大狀態(tài)空間問題上,存在Q表維度過大導致的收斂速度緩慢甚至難以收斂的不足,因此如何在平臺中使用強化算法并快速學習到更為精確的數(shù)據(jù)結果,將會是下一步的主要研究內容。