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