紀(jì) 龍,苗國(guó)英,李 濤,張靜怡
(南京信息工程大學(xué)自動(dòng)化學(xué)院,江蘇 南京 210044)
協(xié)作式多智能體強(qiáng)化學(xué)習(xí)(c-MARL)隨著深度學(xué)習(xí)技術(shù)的成熟而得到快速發(fā)展,目前已應(yīng)用于多個(gè)現(xiàn)實(shí)領(lǐng)域,如:競(jìng)技體育,訓(xùn)練出的智能體不斷做出顛覆人類認(rèn)知的精彩決策[1,3]。軍事推演,DeepMind的AlphaStar[4]在實(shí)時(shí)戰(zhàn)略上的成功吸引了美國(guó)軍方的注意,其被視為AI用于作戰(zhàn)規(guī)劃的案例。
IDQN[5]允許任意一個(gè)智能體將其它智能體視作環(huán)境的一部分,因此從某個(gè)智能體的角度看,整個(gè)環(huán)境是不斷動(dòng)態(tài)變化的,非常不穩(wěn)定;此時(shí),馬爾科夫假設(shè)不再成立,即使智能體在無限貪婪探索的情況下也不能保證收斂性。VDN[6]直接假設(shè)聯(lián)合動(dòng)作值函數(shù)Qtot可以被相加性地分解為N個(gè)智能體的N個(gè)局部動(dòng)作價(jià)值函數(shù),其中每個(gè)局部動(dòng)作價(jià)值函數(shù)僅以其自身的局部動(dòng)作觀測(cè)歷史為條件。QMIX[7]在VDN的基礎(chǔ)上做了改進(jìn),引入了一個(gè)混合網(wǎng)絡(luò),保證聯(lián)合動(dòng)作價(jià)值與局部動(dòng)作價(jià)值的單調(diào)性始終一致。QTRAN[8]將原始的聯(lián)合動(dòng)作價(jià)值轉(zhuǎn)換為一個(gè)新的聯(lián)合動(dòng)作價(jià)值,試圖避免QMIX的限制,但是使用的約束過于松散。
上述文獻(xiàn)皆假設(shè)智能體僅以自身接收到的動(dòng)作觀測(cè)歷史為條件來獲得局部動(dòng)作價(jià)值函數(shù),導(dǎo)致在訓(xùn)練開始前的樣本數(shù)據(jù)質(zhì)量不佳,但是智能體全盤接收其它智能體動(dòng)作觀測(cè)歷史會(huì)出現(xiàn)信息過載,不可靠且在執(zhí)行過程中會(huì)消耗大量資源的問題。另外,c-MARL與單智能體強(qiáng)化學(xué)習(xí)的一點(diǎn)不同在于,多智能體在初期的很多探索是無效且沒有意義的,盲目探索嚴(yán)重影響著算法的收斂速度,上述文獻(xiàn)亦沒有考慮該點(diǎn)。故在足球運(yùn)動(dòng)中球員需要注意隊(duì)友狀態(tài)的啟發(fā)下,提出一種基于注意力機(jī)制的改進(jìn)算法UA-QMIX(Utility Functions Attention-QMIX),通過引入注意力機(jī)制,使得每個(gè)智能體開始關(guān)注其它智能體的動(dòng)作對(duì)自身的影響,降低資源消耗并實(shí)現(xiàn)更好的協(xié)調(diào)。然后在經(jīng)典的ε-貪婪策略上做了改進(jìn),設(shè)計(jì)出理性ε-貪婪策略,所有智能體理性選擇動(dòng)作,降低起始階段隨機(jī)選擇動(dòng)作帶來的盲目性,減少無效探索的次數(shù),增加經(jīng)驗(yàn)回放池中有效樣本的數(shù)量,有助于訓(xùn)練效率的提升,加速收斂速度。
考慮到在集中式訓(xùn)練過程中易于分解的序列決策任務(wù),使用獨(dú)立局部最大化IGM這一定義[6]。
定義1:IGM(Individual-Global-Max)
(1)
IGM使所有智能體的聯(lián)合最優(yōu)動(dòng)作等價(jià)于每個(gè)智能體單個(gè)最優(yōu)動(dòng)作的集合。這樣的好處在于,只需對(duì)Qtot一個(gè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
UA-QMIX在QMIX算法的基礎(chǔ)上做了兩點(diǎn)改進(jìn)來優(yōu)化多個(gè)智能體之間的協(xié)調(diào)問題,整體框架如圖1所示。
圖1 UA-QMIX框架
圖2 智能體效用網(wǎng)絡(luò)
圖2是第i個(gè)智能體的效用網(wǎng)絡(luò)函數(shù)(Utility Function),用來表征局部動(dòng)作價(jià)值函數(shù)。
加入注意力機(jī)制是讓多個(gè)協(xié)作智能體避免受外部信息轟炸,更快的完成任務(wù),智能體可以根據(jù)其它智能體對(duì)自身的貢獻(xiàn)程度來達(dá)成協(xié)調(diào),如圖3所示。
圖3 注意力機(jī)制
整個(gè)效用網(wǎng)絡(luò)的流程可分為如下幾步:
步驟一:獲得動(dòng)作觀測(cè)歷史及上一時(shí)刻的動(dòng)作
對(duì)于任意第i個(gè)智能體,通過一個(gè)前饋神經(jīng)網(wǎng)絡(luò)f對(duì)其接收到的觀測(cè)進(jìn)行編碼;由于所有智能體只能接收到局部的環(huán)境觀測(cè)信息,因此為了獲得更多的狀態(tài)信息,利用GRU得到第i個(gè)智能體的動(dòng)作觀測(cè)歷史
(2)
步驟二:得到貢獻(xiàn)值ci。
第i個(gè)智能體通過注意力機(jī)制可以確定其它智能體對(duì)自身的貢獻(xiàn)ci,具體表示為式(3)
(3)
lj=tanh(Vτj)
(4)
其中αj為注意力分布權(quán)重,表示在給定任務(wù)相關(guān)的查詢向量時(shí),第j個(gè)智能體輸入向量受到第i個(gè)智能體的關(guān)注程度,計(jì)算公式如式(5)所示;lj是τj由V變換并通過tanh函數(shù)得到的輸入信息。
(5)
其中kj=WK·τj,是經(jīng)過WK參數(shù)矩陣線性映射得到的值向量,qi=WQ·τi,是經(jīng)過WQ參數(shù)矩陣線性映射得到的查詢向量。注意力打分函數(shù)S(q,k)是用來度量查詢向量和各個(gè)鍵對(duì)應(yīng)輸入向量的相關(guān)性,D為輸入向量的維度,函數(shù)如下
(6)
步驟三:擬合智能體的局部動(dòng)作價(jià)值函數(shù)
將貢獻(xiàn)ci與動(dòng)作觀測(cè)歷史τi共同作為前饋神經(jīng)網(wǎng)絡(luò)m的輸入,即智能體以自己的動(dòng)作觀測(cè)歷史和其它智能體的貢獻(xiàn)為條件,通過一個(gè)前饋神經(jīng)網(wǎng)絡(luò)擬合出局部動(dòng)作價(jià)值函數(shù),如式(7)所示:
Qi(τi,ci,.)=m(τi,ci)
(7)
步驟四:智能體獨(dú)立選擇執(zhí)行動(dòng)作
當(dāng)?shù)趇個(gè)智能體得到其所有動(dòng)作對(duì)應(yīng)著的局部動(dòng)作價(jià)值函數(shù)Qi(τi,ci,.)時(shí),采用argmax函數(shù)來選出使得局部動(dòng)作價(jià)值函數(shù)最大的那個(gè)動(dòng)作(除起始階段外所有最優(yōu)動(dòng)作價(jià)值函數(shù)皆根據(jù)式(1)的IGM得到);同時(shí),為了避免智能體陷入局部最優(yōu)解,使用了改進(jìn)的理性ε-貪婪策略來緩解這一“探索與利用”困境。
與單智能體強(qiáng)化學(xué)習(xí)不同,多智能體強(qiáng)化學(xué)習(xí)中的智能體在隨機(jī)探索時(shí)會(huì)受到其它智能體的影響,例如兩個(gè)執(zhí)行搜索任務(wù)的智能體因?yàn)殡S機(jī)探索而出現(xiàn)搜索范圍重疊的現(xiàn)象,這種現(xiàn)象是應(yīng)該避免的。具體思路為:智能體i以1-ε的概率通過argmaxuiQ(s,a|θ)選擇最優(yōu)動(dòng)作,而以ε的概率選擇動(dòng)作時(shí),如果智能體之間的距離過近,智能體將強(qiáng)制選擇遠(yuǎn)離彼此的動(dòng)作。即
(9)
其中rand函數(shù)表示智能體從指定動(dòng)作空間內(nèi)選擇動(dòng)作,式(9)中的A表示智能體當(dāng)前可選擇動(dòng)作的空間,d為兩個(gè)智能體之間的距離,r為智能體的范圍半徑。
在訓(xùn)練初始階段,智能體對(duì)周圍環(huán)境一無所知,必須進(jìn)行大量的理性探索,當(dāng)訓(xùn)練完一段時(shí)間后,智能體可根據(jù)當(dāng)前學(xué)習(xí)到的策略選擇更優(yōu)的動(dòng)作。因此,ε會(huì)隨著訓(xùn)練次數(shù)線性地減少,如式(10)所示
(10)
其中a為當(dāng)前訓(xùn)練回合,n為總回合數(shù)。
算法1為UA-QMIX算法的偽代碼
仿真實(shí)驗(yàn)的硬件配置為Windows10操作系統(tǒng),16GB內(nèi)存,英偉達(dá)RTX 2080 Ti顯卡。軟件采用的是Pycharm2019集成開發(fā)環(huán)境和Pytorch深度學(xué)習(xí)框架。
使用一個(gè)簡(jiǎn)單的無人機(jī)例子,本例中共有3臺(tái)無人機(jī),它們的目標(biāo)是通過協(xié)作的方式找到地面的敵人。在相同參數(shù)條件基礎(chǔ)之上,經(jīng)過20000次迭代,驗(yàn)證3種改進(jìn)算法和1種原始算法。根據(jù)圖4的性能曲線,可以得出以下結(jié)論:所有算法最終都可以完成收斂;采用注意力機(jī)制和理性ε-貪婪策略的改進(jìn)算法,收斂到最高平均獎(jiǎng)勵(lì)的速度更快,優(yōu)化策略比原始算法好,性能更優(yōu)。
圖4 無人機(jī)協(xié)作搜索的獎(jiǎng)勵(lì)值
與許多模擬環(huán)境相比,星際爭(zhēng)霸具有更高的控制復(fù)雜性和環(huán)境隨機(jī)性。
4.2.1 場(chǎng)景描述
所有場(chǎng)景中的敵方單位由星際爭(zhēng)霸的內(nèi)置AI控制,每個(gè)盟軍單位由一個(gè)智能體控制。雙方的單位類型和數(shù)量可以是不對(duì)稱的,并且初始位置隨機(jī)。在每個(gè)時(shí)間步長(zhǎng)內(nèi),每個(gè)智能體可以觀測(cè)到其視野內(nèi)所有單位組成的局部狀態(tài)信息,并從一個(gè)固定的離散動(dòng)作空間中選擇一個(gè)動(dòng)作,包括:無效動(dòng)作(只有陣亡單位可以執(zhí)行該動(dòng)作)、移動(dòng)[北、南、東、西]、攻擊[敵人ID]和停止。
4.2.2 性能測(cè)試與對(duì)比分析
圖5 不同場(chǎng)景下各算法的平均勝率
設(shè)計(jì)了5組算法的實(shí)驗(yàn):UA-QMIX、VDN[6]、QMIX[7]、QTRAN[8]、COMA[14],每種算法都在星際爭(zhēng)霸的不同場(chǎng)景下進(jìn)行了測(cè)試。其中3m(3個(gè)同質(zhì)協(xié)作智能體)和2m_vs_1z(2個(gè)同質(zhì)協(xié)作智能體)的最大回合數(shù)為20000,8m(8個(gè)同質(zhì)協(xié)作智能體)和2s3z(5個(gè)協(xié)作智能體,異質(zhì))的最大回合數(shù)為30000,測(cè)試共進(jìn)行了8輪,結(jié)果如圖5(a)~(d)所示。
表2(a)~(d)為各場(chǎng)景中所有算法在不同階段的平均勝率。
表2 星際爭(zhēng)霸各場(chǎng)景測(cè)試平均勝率
(a) 3m
(b) 2m_vs_1z
(c) 8m
從不同訓(xùn)練階段的角度,因?yàn)樵谟?xùn)練初級(jí)階段,智能體會(huì)貪婪地探索環(huán)境,此時(shí)ε-貪婪策略的作用較大,所以從5000回合這一節(jié)點(diǎn)看,使用了理性ε-貪婪策略的UA-QMIX平均勝率最高。從不同算法性能的角度,根據(jù)表2(a)與表2(c)可知,隨著智能體數(shù)量的增加(3個(gè)協(xié)作智能體變?yōu)?個(gè)協(xié)作智能體),對(duì)計(jì)算機(jī)性能的要求逐漸變高,而注意力機(jī)制作為一種合理的資源分配方案,可以讓智能體利用有限算力處理對(duì)自身而言更加重要的來自其它智能體的信息,UA-QMIX與其它算法的差距逐步拉大;由表2(b)可知,兩個(gè)同質(zhì)合作智能體采用大多數(shù)算法后都可以達(dá)到最高平均勝率,但是UA-QMIX因?yàn)椴捎昧死硇驭?貪婪策略,在初期收斂速度最快;由表2(d)可知,在有異質(zhì)合作智能體的場(chǎng)景,UA-QMIX的智能體更能夠察覺和注意智能體的個(gè)體差異。
1)就協(xié)作式多智能體系統(tǒng),提出一種改進(jìn)的UA-QMIX算法,在效用網(wǎng)絡(luò)中加入注意力機(jī)制,使智能體開始關(guān)注彼此,降低信息過載。設(shè)計(jì)理性ε-貪婪策略,令訓(xùn)練初期多智能體的無效性探索大幅減少。
2)在星際爭(zhēng)霸模擬環(huán)境的4個(gè)場(chǎng)景中進(jìn)行訓(xùn)練,采用UA-QMIX算法的多智能體最終的平均勝率皆達(dá)到90%以上。
3)未來的研究工作中,需要解決注意力機(jī)制時(shí)間復(fù)雜度較高的問題,增強(qiáng)神經(jīng)網(wǎng)絡(luò)的可遷移性,以應(yīng)用到更多真實(shí)世界領(lǐng)域。