周佳煒,孫宇祥,薛宇凡,項 祺,吳 瑩,周獻中
(南京大學,江蘇 南京 210093)
目前,基于深度強化學習的機器學習方法受到越來越多的關(guān)注,更多的游戲通過訓練智能體的方式與人類進行人機對抗,典型代表有在圍棋領(lǐng)域獲得成功的AlphaGo以及在游戲《星際爭霸》人機對抗賽中獲得成功的AlphaStar等,越來越多的研究將深度強化學習方法融入RTS游戲領(lǐng)域[1-3]。如Ye D嘗試利用改進的PPO算法訓練王者榮耀游戲中的英雄AI,取得了較好的訓練效果[4]。Silver D設(shè)計了一種基于強化學習算法的訓練框架,不需要游戲規(guī)則以外的任何人類知識,可以讓AlphaGo自己訓練,同樣達到了很高的智能性[5]。Barriga N利用深度強化學習技術(shù)和監(jiān)督策略學習改善RTS游戲的AI性能,取得了擊敗游戲內(nèi)置AI的成果[6]。大數(shù)據(jù)和人工智能技術(shù)加速運用于戰(zhàn)略問題研究,戰(zhàn)略博弈推演的智能化特征凸顯[7-8]。研究表明,人工智能在智能博弈對抗與推演方面受到廣泛關(guān)注,并在近年成為研究熱點[9-11]。但是,對寬泛條件下的收斂問題以及收斂速度問題,仍然缺乏有效的解決方法,特別是在對抗方面,采用強化學習算法使其具有高水平的智能性仍是當前研究的難點。
本文分析了當前主流且成熟的多智能體強化學習算法,將先驗知識與強化學習算法相結(jié)合,解決了強化學習算法在多智能體對抗訓練初期效果一般且不能快速收斂的問題,提升了多智能體博弈對抗中的算子智能性,同時,在實驗平臺中進行仿真實驗,結(jié)果表明,PK-MADDPG在MaCA多智能體博弈平臺訓練效果與收斂速度方面均有提升。
強化學習屬于機器學習中的一類,是利用求解Bellman方程以解決交互問題[12],進而改善效果并最終達到預期效果的一種學習方式。強化學習使得智能體最終形成一種策略,在達成目的的同時使獲得的獎勵值最大化[13]。Littman在20世紀90年代提出了以馬爾科夫決策過程(Markov Decision Process, MDP)為框架的多智能體強化學習,將強化學習的思想和算法應(yīng)用到多智能體系統(tǒng)中,通常需考慮智能體間的競爭、合作等關(guān)系[14-15]。馬爾科夫過程是強化學習的基礎(chǔ)模型,通過狀態(tài)與動作建模,描述智能體與環(huán)境的交互過程[16]。一般地,MDP是由4個元素構(gòu)成的元組〈S,A,R,T〉表示[17]:
1)S為有限狀態(tài)空間(State Space),包含Agent在環(huán)境中所有的狀態(tài);
2)A為有限動作空間(Action Space),包含Agent在每個狀態(tài)下可采取的所有動作;
在MDP中,Agent與環(huán)境交互如圖1所示。
圖1 強化學習與環(huán)境交互示意圖Fig.1 Schematic diagram of interaction between reinforcement learning and environment
(1)
其中,Eπ表示策略下的期望值,γ∈[0,1)為折扣率(Discount Rate),k為后續(xù)時間周期,rt+k表示Agent在時間周期(t+k)上獲得的即時獎賞。
(2)
(3)
Multi-agent Deep Deterministic Policy Gradient (MADDPG)算法是一種應(yīng)用在多智能體強化學習中的訓練算法,由Open AI研究人員提出[19]。作為DDPG (Deep Deterministic Policy Gradient)的延伸,MADDPG算法基于Actor-Critic架構(gòu),可應(yīng)用于連續(xù)動作空間,有如下特征:
1)通過學習得到最優(yōu)策略,在應(yīng)用時,僅借助局部信息就能給出最優(yōu)動作;
2)無需構(gòu)建環(huán)境的動力學模型以及智能體間特殊通信需求;
3)該算法可用于合作關(guān)系多智能體,同時適用于競爭關(guān)系多智能體。
MADDPG算法采用集中式訓練,分布式執(zhí)行的方式。訓練時采用集中式學習訓練Critic與Actor,使用時Actor只需知道局部信息即可執(zhí)行[20]。同時,對每個智能體訓練多個策略,并基于所有策略的整體效果進行優(yōu)化,以提高算法的穩(wěn)定性和魯棒性。該算法網(wǎng)絡(luò)結(jié)構(gòu)與更新方式如圖2所示。
圖2 MADDPG算法網(wǎng)絡(luò)結(jié)構(gòu)與更新方式Fig.2 MADDPG algorithm network structure and update method
MADDPG算法采用了類似DQN的雙網(wǎng)絡(luò)結(jié)構(gòu),Actor和Critic都擁有target和eval兩個網(wǎng)絡(luò)組成[21],在訓練過
程中,只有Actor和Critic的eval網(wǎng)絡(luò)進行實際的參數(shù)訓練,而target網(wǎng)絡(luò)只需要在一定訓練迭代次數(shù)后,通過eval網(wǎng)絡(luò)進行參數(shù)拷貝即可,這種設(shè)計使得MADDPG算法能夠保持比較穩(wěn)定的參數(shù)更新效果。
為加快訓練收斂,提升訓練效果,本文對MADDPG進行改進,對其結(jié)構(gòu)進行優(yōu)化,形成基于先驗知識和強化學習的PK-MADDPG(Prior Knowledge-Multi-Agent Deep Deterministic Policy Gradient)。
在PK-MADDPG的獎賞函數(shù)設(shè)計上,本文考慮算子特征與全局目標問題,從個體回報與全局回報兩方面進行獎賞函數(shù)設(shè)置,根據(jù)每個回合的對抗結(jié)果設(shè)置獎賞函數(shù)。若訓練過程中每一步未獲得獎勵,容易導致稀疏獎勵,影響算法收斂,本文根據(jù)不同個體類型在對抗過程中的動作選擇給予獎勵,優(yōu)化訓練的收斂。為防止智能體在探索過程中陷入局部最優(yōu),在全局回報中加入智能體推演回合消耗,獲勝前,每多一個回合都會接收懲罰。具體獎勵回報如表1、2所示。
表1 個體回報定義Tab.1 Individual reward definition
針對強化學習訓練收斂問題,本文融入先驗知識進行經(jīng)驗優(yōu)先回放。對于先驗知識和強化學習的融合,本文對領(lǐng)域?qū)<医?jīng)驗數(shù)據(jù)和強化學習行動序列數(shù)據(jù)分別進行構(gòu)建。把領(lǐng)域?qū)<医?jīng)驗數(shù)據(jù)轉(zhuǎn)化為對應(yīng)的狀態(tài)-行動序列存儲到經(jīng)驗池中,并計算得出先驗知識QF值。針對領(lǐng)域?qū)<医?jīng)驗數(shù)據(jù)從歷史勝率、敵我雙方相對實力、我方兵力三個因素考慮,進行加權(quán)求和,并定義了獲勝回合數(shù)、總回合數(shù)、相對實力和兵力構(gòu)成(偵察機數(shù)量、戰(zhàn)斗機數(shù)量、導彈數(shù)量與敵方單位數(shù)量),以此來計算領(lǐng)域?qū)<医?jīng)驗數(shù)據(jù)的Q值。具體計算公式如下:
其中,k(·),g(·),h(·)分別表示歷史勝率、敵我雙方相對實力與我方兵力構(gòu)成,roundswin,roundsall表示獲勝回合數(shù)與比賽總合數(shù)?;贛ADDPG算法的狀態(tài)-行動序列也存儲到經(jīng)驗池中,同樣可以擬合出QP值。在推演過程中,每個固定step對QF和QP值進行比較,選擇較大的Q值所對應(yīng)的動作進行執(zhí)行。
除此之外,本文也對經(jīng)驗提取機制進行優(yōu)化。在實現(xiàn)經(jīng)驗回放過程中,將先驗知識存入經(jīng)驗池,根據(jù)隨機優(yōu)先級和重要性采樣原理等進行經(jīng)驗抽樣,以此計算優(yōu)先值。利用隨機優(yōu)先級進行經(jīng)驗抽取可解決數(shù)據(jù)間的強相關(guān)性以及丟棄將來可能有用的經(jīng)驗等問題,同時,通過重要性采樣的修正作用抑制由非均勻采樣帶來的誤差。隨機優(yōu)先級與重要性采樣系數(shù)如下:
(5)
(6)
其中,P(i)表示隨機優(yōu)先采樣的概率,pi>0表示優(yōu)先級,指數(shù)α決定使用多少優(yōu)先級,α=0時對應(yīng)均勻分布;wi表示重要性采樣權(quán)重。根據(jù)求出的優(yōu)先值生成最小batch,傳入MADDPG算法進行動作選擇。通過與環(huán)境交互生成訓練數(shù)據(jù),并將數(shù)據(jù)存入經(jīng)驗池中進行知識更新。經(jīng)驗池劃分到部分內(nèi)存空間,設(shè)定內(nèi)存空間的大小,把分配的數(shù)組數(shù)據(jù)依次傳入并存儲。當存儲空間大于內(nèi)存空間時,剔除之前的數(shù)據(jù),同時不斷提取batch size大小的數(shù)據(jù)傳入學習模塊進行策略網(wǎng)絡(luò)更新,從而降低loss函數(shù)。通過上述方式,實現(xiàn)先驗知識的融入與經(jīng)驗回放,提高MADDPG算法的訓練效果。具體流程如圖3所示。
圖3 先驗知識優(yōu)先回放過程Fig.3 Prior knowledge priority playback process
針對結(jié)構(gòu)調(diào)整,本文構(gòu)建了雙重Critic框架的MADDPG,同時最大化Global Reward和Local Reward,使得策略選擇向著使全局和局部Critic最大化的方向進行。在此基礎(chǔ)上,使用雙延遲深度確定性策略梯度更新Local Critic網(wǎng)絡(luò),并使用經(jīng)驗優(yōu)先回放來優(yōu)化先驗知識提取,以此解決動作價值函數(shù)過擬合問題。如圖4所示,整個流程中,每個Agent均構(gòu)建一個Actor和Local Critic,每個Agent的Actor進行動作輸出和狀態(tài)輸出,存入Replay Buffer中。Critic網(wǎng)絡(luò)從各自的Replay Buffer中提取對應(yīng)的先驗知識,反向更新各自的Actor。通過構(gòu)建整體的Global Replay Buffer提取信息用以訓練Global Critic,再反向指導各Actor提高訓練效果。PK-MADDPG訓練優(yōu)化使目標沿著全局和局部均最大化的方向,避免可能出現(xiàn)的局部最優(yōu)問題,同時可以利用TD3等方式進一步優(yōu)化先驗知識提取,解決過擬合等問題。
圖4 MADDPG模型改進Fig.4 MADDPG model improvement
基于Tensorflow和Gym兩個框架對改進的PK-MADDPG算法進行訓練時,在與環(huán)境交互中,可利用MaCA環(huán)境獲取回報值。訓練基于對抗進行,將改進的PK-MADDPG智能體作為紅方,規(guī)則智能體作為藍方,具體對抗流程如下:
1)初始化藍方規(guī)則智能體,初始化并獲取地圖尺度、探測單元和攻擊單元數(shù)量,實例化狀態(tài)信息重構(gòu)對象obs_convert,設(shè)定網(wǎng)絡(luò)輸出動作空間維度為6(每個探測單元2個動作,每個攻擊單元4個動作),構(gòu)造動作空間結(jié)構(gòu)action_space_n和狀態(tài)空間結(jié)構(gòu)obs_shape_n。
2)根據(jù)action_space_n(動作空間)、obs_shape_n (狀態(tài)空間)以及各類單元數(shù)量,實例化訓練器trainers,并調(diào)用U.initialize()初始化網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)。
3)實例化Tensorflow存儲器對象saver,用于保存和讀取網(wǎng)絡(luò)參數(shù)。
4)初始化total_reward用于存放各類單元回報值,初始化勝利計數(shù)常量,用于記錄訓練過程中紅藍雙方各自勝利次數(shù)。
5)對于每一個episode:
②對于每一個step:
c)判斷各個智能體是否存活,是否到達邊界以及是否航向角度發(fā)生變化,并根據(jù)這些因素對相應(yīng)智能體的回報值進行修改。
d)判斷環(huán)境是否終止,由于一輪推演結(jié)束后才會輸出雙方round_reward,若終止,則判斷雙方round_reward高低,并將低的一方各單元reward減去round_reward,高的一方單元reward加上round_reward。
f)對本次step產(chǎn)生的雙方的reward進行匯總,便于后續(xù)輸出reward均值。
g)對每一個Agent調(diào)用preupdate()函數(shù)和update()函數(shù),根據(jù)從經(jīng)驗池中取得的樣本對其神經(jīng)網(wǎng)絡(luò)進行參數(shù)更新。
h)判斷是否滿足step終止條件,如果滿足,那么結(jié)束本次訓練,并轉(zhuǎn)5)開始新一輪訓練,同時更新紅藍雙方勝利次數(shù)。
i)判斷是否滿足保存模型條件,如果滿足,則進行模型保存操作,同時輸出截至當前回合中紅藍雙方勝利次數(shù)信息、各Agent的信息、reward均值信息以及所用時間。
作戰(zhàn)單元決策是基于綜合規(guī)則和多智能體強化學習算法制定的。在實際對抗中,根據(jù)當前狀態(tài)信息,首先使用基于規(guī)則的算法進行決策,如果規(guī)則算法決策無效,則切換到強化學習算法進行決策,Agent行為根據(jù)每次所選的決策采取適用于當前對抗態(tài)勢的行動。整體思路如圖5所示。
圖5 決策生成機制Fig.5 Decision generation mechanism
MaCA(Multi-agent Combat Arena)是由國內(nèi)某重點實驗室發(fā)布的多智能體對抗算法研究、訓練、測試和評估環(huán)境,可支持作戰(zhàn)場景和規(guī)模自定義,智能體數(shù)量和種類自定義,智能體特征和屬性自定義,支持智能體行為回報規(guī)則和回報值自定義等[23]。MaCA提供了一個電磁空間對抗的多智能體實驗環(huán)境,環(huán)境中預設(shè)了兩種智能體類型:探測單元和攻擊單元。探測單元可模擬L、S波段雷達進行全向探測,支持多頻點切換[23];攻擊單元具備偵察、探測、干擾、打擊等功能,可模擬X波段雷達進行指向性探測,模擬L、S、X頻段干擾設(shè)備進行阻塞式和瞄準式電子干擾,支持多頻點切換,攻擊單元還可對對方智能體進行導彈攻擊,同時具有無源偵測能力,可模擬多站無源協(xié)同定位和輻射源特征識別。
MaCA環(huán)境為研究利用人工智能方法解決大規(guī)模多智能體分布式對抗問題提供了很好的支撐,專門面向多智能體深度強化學習開放了RL-API接口[23]。環(huán)境支持使用Python語言進行算法實現(xiàn),并可調(diào)用Tensorflow、Pytorch等常用深度學習框架。
MaCA環(huán)境支持紅藍雙方智能算法在設(shè)定地圖場景中進行對抗博弈,最終進行對抗的算法可以是基于規(guī)則直接實現(xiàn)的,也可以是基于強化學習等方法訓練后得到的模型,環(huán)境中預先制定了簡單的基于規(guī)則實現(xiàn)的對抗算法。設(shè)計MaCA環(huán)境的主要目的是促進多智能體強化學習方法在智能對抗領(lǐng)域的研究與應(yīng)用。強化學習算法與環(huán)境交互過程可以分為兩個階段:一是訓練階段,通過收集算法與環(huán)境交互的實時數(shù)據(jù)更新模型參數(shù);二是訓練完成之后通過調(diào)用訓練好的模型與其他對手進行對抗。
本文結(jié)合MaCA對抗的任務(wù)特點,參照專業(yè)選手采取的行動策略,設(shè)計規(guī)則算法,同時將其作為先驗知識的補充和完善。規(guī)則算法中針對不同作戰(zhàn)動作的策略設(shè)計詳見攻擊策略、干擾頻點設(shè)置策略及躲避策略。為提高算法訓練的適應(yīng)性,本文重構(gòu)了從仿真對抗環(huán)境獲取的原始態(tài)勢。
4.1.1 攻擊策略
對于處在我方任何攻擊單元攻擊范圍以外的敵方單元,我方將比較戰(zhàn)機間的相對距離,由距敵最近的我方空閑攻擊單元進行追蹤。同時,限制追蹤同一敵方的我方攻擊單元數(shù)量,以保證追蹤的有效性和剩余攻擊資源的充足性。
對于處在攻擊范圍內(nèi)的敵方單元,統(tǒng)籌分配我方空閑的作戰(zhàn)單元,具體原則如下:
1)盡可能地攻擊在我方攻擊范圍之內(nèi)的所有敵方單元;
2)攻擊任務(wù)分配采用基于優(yōu)化的貪心算法實現(xiàn);
3)為節(jié)約彈藥,對同一敵方單元進行攻擊時,限定我方攻擊單元的數(shù)量;
4)為提高導彈命中率,擴大偵察單元雷達照射范圍,指引在途任務(wù)的單元完成相關(guān)動作任務(wù);
5)為提高命中率,在發(fā)動攻擊時調(diào)整我方攻擊航向,保持正面接敵。
4.1.2 干擾頻點設(shè)置策略
考慮敵方雷達頻點具有周期性變化規(guī)律,干擾頻點策略主要采用在線學習預測方式,包括學習過程與預測過程兩部分。
學習過程從進入推演開始貫穿整個推演過程。其具體過程如下:
1)獲取某敵機雷達頻點的變化,以三個連續(xù)時間點內(nèi)的變化情況作為樣本;
2)按時序組合前兩個頻點作為特征,預測并存儲第三個頻點的概率分布[22]。
預測過程是從推演的第二輪起,直至整個推演過程結(jié)束。在預測過程中,統(tǒng)計每次預測結(jié)果與實際結(jié)果的相同次數(shù),從而得出預測過程中的算法成功率。預先設(shè)定成功率閾值(默認0.95),通過比較成功率來判斷預測模塊的結(jié)果是否有效[22],然后決定后續(xù)對抗中是否使用獲得的預測結(jié)果。具體判斷方式如下:
1)若預測成功率高于閾值,則表明學習過程和預測過程的結(jié)果與敵方雷達頻點的變化具有相同規(guī)律,可使用預測的結(jié)果;
2)若低于閾值,則表明學習過程和預測過程的結(jié)果與敵方雷達頻點變化的規(guī)律不同,故不可使用預測的結(jié)果,且將干擾模式設(shè)置為阻塞式干擾。
4.1.3 躲避策略
我方算子偵察獲取敵方算子在連續(xù)兩個step的態(tài)勢信息,計算出敵方算子可能機動的航向,結(jié)合上一個step中我方算子的信息,推算敵方算子追蹤我方算子時可能采取的航向等信息。根據(jù)推測結(jié)果,調(diào)度我方相應(yīng)的偵察單元與無攻擊能力的攻擊單元做出躲避動作。
為了更好地適應(yīng)訓練,本文對仿真對抗環(huán)境獲取的原始態(tài)勢進行重構(gòu),包括探測單元態(tài)勢重構(gòu)與攻擊單元態(tài)勢重構(gòu)。
4.2.1 探測單元態(tài)勢重構(gòu)
本文分別對異構(gòu)環(huán)境中我方所具有的2個探測單元進行狀態(tài)信息組織,具體如下。
1)我方基本屬性:該算子存活狀態(tài)、X坐標、Y坐標、航向、雷達狀態(tài)以及雷達頻點;
2)友方基本信息:與友方另一探測單元的距離、與友方所有攻擊單元的距離;
3)敵方基本信息:與雷達發(fā)現(xiàn)的所有敵方單元的距離。
4.2.2 攻擊單元態(tài)勢重構(gòu)
異構(gòu)環(huán)境中我方10個攻擊單元的狀態(tài)信息組織如下。
1)我方基本屬性:算子存活狀態(tài)、X坐標、Y坐標、航向、雷達狀態(tài)、雷達頻點、干擾雷達狀態(tài)、干擾雷達頻點、遠程導彈數(shù)量以及中程導彈數(shù)量;
2)友方基本信息:與友方所有探測單元的距離、與友方其他存活攻擊單元的距離;
3)敵方基本信息:與雷達主動觀測到的敵方單元的距離、與干擾雷達被動觀測到的敵方單元的距離、敵方單元的方向以及敵方單元的雷達頻點。
MaCA環(huán)境適用于Linux 64-bit 、Mac OS及windows10 x64操作系統(tǒng),通過Pycharm進行Python環(huán)境配置,使用Tensorflow強化學習框架。在MaCA根目錄中運行相關(guān)py文件,將其“Work Directory”均設(shè)置為MaCA根目錄。
強化學習的actor與critic神經(jīng)網(wǎng)絡(luò)均使用兩個隱藏層,每個隱藏層包含64個全連接神經(jīng)元。訓練過程中使用的超參數(shù)如表3所示。
表3 超參數(shù)設(shè)置Tab.3 Hyperparameter setting
5.3.1 異構(gòu)多智能體環(huán)境設(shè)置
本文基于MaCA環(huán)境開展實驗仿真,分析融合規(guī)則算法的深度強化學習MADDPG算法在多智能體博弈對抗中的實際使用效果。MaCA支持紅藍雙方多智能體在設(shè)定的地圖場景中進行博弈對抗,在異構(gòu)地圖中對戰(zhàn)雙方各擁有12個不同屬性的攻擊單元和探測單元,探測單元具備偵察和探測功能,攻擊單元具備偵察、探測、干擾和打擊等功能,具體信息如表4所示。紅藍雙方作戰(zhàn)單元接敵開始對抗,當一輪對戰(zhàn)符合結(jié)束規(guī)則時,本輪結(jié)束并進行勝負判定。若一方被全部擊毀,判定另一方完勝;若雙方導彈存量為0或達到最大step,判定剩余作戰(zhàn)單元數(shù)量多的一方獲勝;若雙方作戰(zhàn)單元全部被擊毀,判定為平局。當雙方導彈存量為0或達到最大step時,雙方存活作戰(zhàn)單元數(shù)量相同的情況下,也判定為平局。MaCA異構(gòu)多智能體環(huán)境中紅藍雙方作戰(zhàn)單元與偵察單元初始配置情況如圖6所示。
表4 MaCA異構(gòu)多智能體單元屬性Tab.4 Properties of MaCA heterogeneous multi-agent unit
圖6 MaCA異構(gòu)多智能體地圖Fig.6 MaCA heterogeneous multi-agent map
5.3.2 實驗結(jié)果與分析
本文利用基于先驗知識和強化學習的PK-MADDPG算法與MADDPG算法、基準規(guī)則算法進行勝率比較分析。首先,對基準規(guī)則算法進行實驗,將紅藍雙方智能體均基于規(guī)則算法進行博弈對抗;將MADDPG算法用于紅方,基準規(guī)則算法用于藍方算法,獲取強化學習算法在異構(gòu)多智能體環(huán)境中的效果;然后,將PK-MADDPG作用于紅方智能體,將基準規(guī)則算法作用于藍方智能體,驗證本文算法在實驗中的實際效果。比較3類實驗在博弈對抗500局中的勝率,實驗勝率結(jié)果如圖7~10所示,紅藍雙方對抗獲勝次數(shù)如表5~8所示。從實驗結(jié)果中發(fā)現(xiàn),MADDPG算法較傳統(tǒng)規(guī)則算法能提高博弈對抗勝率,但在實驗初期收斂較慢;而PK-MADDPG算法的Agent勝率提高效果明顯,在利用先驗知識的情況下能夠使訓練收斂較快,紅方使用PK-MADDPG算法對抗藍方規(guī)則算法時,勝率維持在90%以上。同時,在實驗中,將PK-MADDPG與MADDPG算法進行對比可知:1)在同樣對抗基準規(guī)則AI下,曲線在100回合左右時,PK-MADDPG算法勝率經(jīng)平穩(wěn)增長逐步達到收斂,MADDPG算法仍存在較明顯波動,收斂速度和效果均有欠缺;2)在PK-MADDPG與MADDPG直接對抗時,PK-MADDPG的勝率優(yōu)于MADDPG。這表明本文設(shè)計的融合規(guī)則算法的MADDPG算法能有效提高多智能體對抗博弈的智能性。
表5 base rule與base rule獲勝次數(shù)比較Tab.5 The compare of winning times between base rule and base rule
圖7 base rule (red)與base rule (blue)對抗勝率圖Fig.7 The winning rate of base rule (red) and base rule (blue)
表6 MADDPG與base rule獲勝次數(shù)比較Tab.6 The compare of winning times between MADDPG and base rule
圖8 MADDPG(red)與base rule(blue)對抗勝率圖Fig.8 The winning rate of MADDPG (red) and base rule (blue)
表7 PK-MADDPG與base rule獲勝次數(shù)比較Tab.7 The compare of winning times between PK-MADDPG and base rule
圖9 PK-MADDPG (red)與base rule (blue) 對抗勝率圖Fig.9 The winning rate of PK-MADDPG (red) and base rule (blue)
表8 PK-MADDPG與MADDPG獲勝次數(shù)比較Tab.8 The compare of winning times between PK-MADDPG and MADDPG
圖10 PK-MADDPG(red)與base rule(blue)對抗勝率圖Fig.10 The winning rate of PK-MADDPG (red) and base rule (blue)
本文針對強化學習算法在多智能體對抗博弈中訓練收斂過慢,以及智能體對抗特定規(guī)則下智能體勝率較低的問題,提出了一種先驗知識與強化學習結(jié)合的多智能體博弈對抗算法PK-MADDPG,并在MaCA異構(gòu)多智能體環(huán)境中對該算法進行實驗,驗證了算法的智能性。其中,引入規(guī)則算法解決了強化學習算法在多智能體對抗初期收斂速度較慢且博弈效果較差的問題,同時保留了強化學習自我探索能力,使得智能體在現(xiàn)有規(guī)則策略的基礎(chǔ)上進一步優(yōu)化對抗過程,提高了整體獎勵值。在該領(lǐng)域中,我們嘗試和探索了多智能體博弈對抗,在傳統(tǒng)規(guī)則算法的基礎(chǔ)上,利用先驗知識融合強化學習算法,降低了異構(gòu)多智能體復雜度高狀態(tài)多變情況下規(guī)則算法設(shè)計的難度,進一步提高了推演對抗過程的智能性。
強化學習算法MADDPG在星際爭霸、Atari等多個游戲平臺上實現(xiàn)應(yīng)用,充分體現(xiàn)了MADDPG算法較強的可適用性,具有一定的泛化性。本文基于先驗知識和強化學習算法提出的PK-MADDPG在MaCA平臺得到實驗驗證,較傳統(tǒng)強化學習算法和一般規(guī)則算法具有優(yōu)越性。