將深度強(qiáng)化學(xué)習(xí)技術(shù)與多智能體協(xié)作相結(jié)合,可以幫助解決現(xiàn)代軍事決策、虛擬游戲等多個(gè)領(lǐng)域中的復(fù)雜任務(wù)場(chǎng)景。而 值分解 是平衡智能體可拓展性和環(huán)境平穩(wěn)性的重要思想。
作為該思想的經(jīng)典算法,QMIX將聯(lián)合動(dòng)作值函數(shù)近似為局部動(dòng)作值函數(shù)的單調(diào)非線性組合,在StarCraftII游戲中取得了較好的表現(xiàn)。
一、背景介紹
因?yàn)槿蝿?wù)場(chǎng)景更為復(fù)雜,還存在任務(wù)耦合情況,所以涌現(xiàn)了分層強(qiáng)化學(xué)習(xí)、多智能體強(qiáng)化學(xué)習(xí) 方向的研究。
多智能體強(qiáng)化學(xué)習(xí)不是單個(gè)智能體的簡(jiǎn)單堆疊??梢砸?博弈論 的理念,探尋問題的均衡解而不是最優(yōu)解,最終得到讓智能體都滿意的策略組合。由單智能體過渡到多智能體會(huì)出現(xiàn)維度爆炸、環(huán)境非平穩(wěn)性、信度分配問題。針對(duì)這些問題,有一些研究方向,如對(duì)手建模、通信學(xué)習(xí)、模仿學(xué)習(xí)、信用分配等。
多智能體間關(guān)系包括 合作、競(jìng)爭(zhēng)、混合。這里只涉及到合作型的多智能體強(qiáng)化學(xué)習(xí)。這個(gè)方向一個(gè)比較重要的問題是如何給多個(gè)智能體分配獎(jiǎng)勵(lì)(信用分配),一個(gè)直觀的說法就是如何把團(tuán)隊(duì)整體取得的獎(jiǎng)勵(lì)分配給每一個(gè)智能體,以督促智能體相互合作使得全局利益最大化。
在多智能體強(qiáng)化學(xué)習(xí)中一個(gè)關(guān)鍵的問題就是,如何 學(xué)習(xí)聯(lián)合動(dòng)作值函數(shù),因?yàn)樵摵瘮?shù)的參數(shù)會(huì)隨著智能體數(shù)量的增多而成指數(shù)增長(zhǎng),如果動(dòng)作值函數(shù)的輸入空間過大,則很難擬合出一個(gè)合適函數(shù)來表示真實(shí)的聯(lián)合動(dòng)作值函數(shù)。另一個(gè)問題就是學(xué)得了聯(lián)合動(dòng)作值函數(shù)后,如何通過聯(lián)合值函數(shù)提取出一個(gè)優(yōu)秀的 分布式的策略。這其實(shí)是單智能體強(qiáng)化學(xué)習(xí)拓展到MARL的核心問題。
二、相關(guān)知識(shí)
Dec-POMDP
將部分可觀察馬爾可夫決策過程擴(kuò)展到多智能體領(lǐng)域。在實(shí)際環(huán)境中,智能體很少能獲得完整的狀態(tài)信息。因此也就失去了馬爾科夫性。部分可觀馬爾可夫決策過程(POMDP)就能很好的表達(dá)這種狀態(tài)無法完全獲取的動(dòng)態(tài)特性。
合作關(guān)系的多智能體場(chǎng)景可以被建模為分布式部分可觀察馬爾可夫決策過程(Dec-POMDP),由元組 < N , S , U , P , R , O , Z , n , γ > <N,S,U,P,R,O,Z,n,\gamma> <N,S,U,P,R,O,Z,n,γ>來定義。其中,?? ={1, 2, … , ??} 表示有限數(shù)量的智能體集合;S 表示環(huán)境狀態(tài)的集合,s∈S 表示環(huán)境的真實(shí)狀態(tài);U 表示聯(lián)合動(dòng)作空間,每一個(gè)時(shí)間步 t 每個(gè)智能體 i∈N 選擇一個(gè)動(dòng)作 u i ∈ U i u^i\in U^i ui∈Ui 組成聯(lián)合動(dòng)作 u∈U;將聯(lián)合動(dòng)作作用于環(huán)境,進(jìn)而得到下一步狀態(tài),對(duì)應(yīng)的轉(zhuǎn)移方程為 P ( s ′ ∣ s , u ) : S × U × S → [ 0 , 1 ] P(s^{\prime}|s,u){:}S\times U\times S\to[0,1] P(s′∣s,u):S×U×S→[0,1];O 表示聯(lián)合觀察的集合;Z 表示觀察概率函數(shù); R ( s , u ) : S × U → R R(s,u){:}S\times U\to R R(s,u):S×U→R 表示獎(jiǎng)勵(lì)函數(shù); γ ∈ [ 0 , 1 ] \gamma\in[0,1] γ∈[0,1] 表示折扣因子。
在多智能體協(xié)作場(chǎng)景中,單智能體常處于部分可觀察環(huán)境。每個(gè)智能體由觀察概率函數(shù) Z ( s , u ) : S × U → 0 Z(s,u){:}S\times U\to0 Z(s,u):S×U→0 得到局部觀察信息 o i ∈ O {\boldsymbol{o}}^{i}\in O oi∈O;每個(gè)智能體的動(dòng)作-觀察歷史表示為 τ i ∈ T ≡ ( 0 × U i ) ? \tau^{i}\in T\equiv(0\times U^{i})^{*} τi∈T≡(0×Ui)?,即從初始狀態(tài)開始的時(shí)序動(dòng)作-觀察歷史;對(duì)應(yīng)的所有智能體的時(shí)序動(dòng)作-觀察歷史可以表示為 τ = ( τ 1 , τ 2 , … , τ n ) \tau=(\tau^{1},\tau^{2},\ldots,\tau^{n}) τ=(τ1,τ2,…,τn);基于此構(gòu)建每個(gè)智能體的隨機(jī)策略函數(shù),表示為 π i ( u i ∣ τ i ) : T × U → [ 0 , 1 ] \pi^i(u^i|\tau^i){:}T\times U\to[0,1] πi(ui∣τi):T×U→[0,1];聯(lián)合策略對(duì)應(yīng)的聯(lián)合動(dòng)作值函數(shù)表示為 Q t o t π ( τ , u ) = E τ ∈ T N , u ∈ U [ ∑ t = 0 ∞ γ t R ( s , u ) ] Q_{tot}^{\pi}(\tau,u)=E_{\tau\in T^{N},u\in U}[\sum_{t=0}^{\infty}\gamma^{t}R(s,u)] Qtotπ?(τ,u)=Eτ∈TN,u∈U?[∑t=0∞?γtR(s,u)],其中 τ ∈ T N \tau\in T^{N} τ∈TN 指聯(lián)合動(dòng)作-觀察歷史,此時(shí)值函數(shù)與動(dòng)作-觀察歷史有關(guān),而不是與狀態(tài)有關(guān)。
DRQN
DQN算法首先將深度學(xué)習(xí)的方法引入到強(qiáng)化學(xué)習(xí),在Q-learning的基礎(chǔ)上增加卷積神經(jīng)網(wǎng)絡(luò)、經(jīng)驗(yàn)回放機(jī)制和目標(biāo)網(wǎng)絡(luò),與原有的列表方法相比,能處理高維的狀態(tài)-動(dòng)作空間。它是基于值函數(shù)的方法,先學(xué)習(xí)動(dòng)作值函數(shù),后根據(jù)估計(jì)的動(dòng)作值函數(shù)選擇動(dòng)作。
為了使其適用于部分可觀察馬爾可夫決策過程,將DQN進(jìn)一步改進(jìn)為深度循環(huán)Q網(wǎng)絡(luò)(DRQN)算法。它將DQN卷積層后的全連接層替換為L(zhǎng)STM網(wǎng)絡(luò),能夠記憶歷史狀態(tài),在信息缺失的情況下更具魯棒性,以此緩解觀察與狀態(tài)不等同的問題,使其能更好地逼近Q函數(shù)。
CTDE
集中訓(xùn)練-分布執(zhí)行框架。在訓(xùn)練時(shí),利用、共享一些信息,幫助更有效地分布式執(zhí)行。這種模式下,學(xué)習(xí)聯(lián)合動(dòng)作值函數(shù)會(huì)更具表達(dá)性,可以更加精確地捕捉各個(gè)智能體采取動(dòng)作的效果;但聯(lián)合動(dòng)作值函數(shù)輸入空間較大,相對(duì)更難學(xué)習(xí),即便可以學(xué)習(xí),也無法從中顯式地提取分布式策略。
將深度強(qiáng)化學(xué)習(xí)從單智能體拓展到多智能體有 分布式、集中式、混合式 三種思路。采取智能體獨(dú)立更新的方式,便于進(jìn)行數(shù)量上的擴(kuò)展,但由于多個(gè)智能體都不考慮其他智能體的狀態(tài)和動(dòng)作,不斷更新自身策略,會(huì)導(dǎo)致環(huán)境的不斷變化。而同時(shí)考慮所有智能體的狀態(tài)信息,在智能體數(shù)量較多時(shí),計(jì)算復(fù)雜度會(huì)呈指數(shù)級(jí)增長(zhǎng),從而產(chǎn)生維度災(zāi)難等問題。為平衡智能體可拓展性和環(huán)境平穩(wěn)性,可以綜合分布式和集中式的框架,采用集中訓(xùn)練-分布執(zhí)行(CTDE)機(jī)制。
Q
t
o
t
Q_{tot}
Qtot?:中心式的;聯(lián)合動(dòng)作值函數(shù)
Q
a
Q_{a}
Qa?:針對(duì)每個(gè)智能體;局部動(dòng)作值函數(shù)
CTDE問題的幾種解決方案
一種實(shí)現(xiàn)方式 基于Actor-Critic框架 。將CTDE機(jī)制與AC框架相結(jié)合,集中式訓(xùn)練值函數(shù),并以此指導(dǎo)策略網(wǎng)絡(luò)的優(yōu)化,進(jìn)而實(shí)現(xiàn)分布式執(zhí)行。
Lowe R等人基于此思路,將DDPG算法擴(kuò)展到多智能體領(lǐng)域,提出了多智能體深度確定性策略梯度(MADDPG)算法,使每個(gè)智能體有獨(dú)立的Actor和Critic網(wǎng)絡(luò),并用Critic網(wǎng)絡(luò)綜合考慮多個(gè)智能體的信息;Foerster J等人提出反事實(shí)多智能體策略梯度(COMA)算法,使用聯(lián)合Critic網(wǎng)絡(luò),并引入了反事實(shí)基線;Mao H等人在MADDPG基礎(chǔ)上引入注意力機(jī)制,對(duì)其他智能體的策略進(jìn)行建模,進(jìn)一步提出基于注意力機(jī)制的MADDPG;Iqbal S等人根據(jù)SAC算法,在多智能體領(lǐng)域提出了對(duì)應(yīng)的MAAC算法,通過共享參數(shù)的注意力機(jī)制來實(shí)現(xiàn)集中訓(xùn)練;Zhou M等人提出的LICA算法,使用超網(wǎng)絡(luò)保留狀態(tài)信息,并提出在探索時(shí)采用自適應(yīng)熵正則化進(jìn)行改進(jìn);Yu, C.等人基于PPO算法提出適用于多智能體的MAPPO算法,融合PPO的實(shí)戰(zhàn)技巧并另外提出一些建議,使其作為on policy算法,與之前的off policy算法相比仍有較好的表現(xiàn)。
另一種思路是 值分解。針對(duì)動(dòng)作值函數(shù)的表示和使用,通常涉及到聯(lián)合動(dòng)作值函數(shù)和局部動(dòng)作值函數(shù)兩部分。僅考慮局部動(dòng)作值函數(shù),將其他智能體作為環(huán)境變量,如IQL算法,會(huì)導(dǎo)致環(huán)境不穩(wěn)定,進(jìn)而無法收斂;僅考慮聯(lián)合動(dòng)作值函數(shù),如值函數(shù)是集中式的COMA算法,在智能體數(shù)量較多時(shí),會(huì)存在值函數(shù)難以訓(xùn)練和收斂的問題。而綜合考慮兩者,如VDN算法、QMIX算法,結(jié)合了CTDE機(jī)制的思路,先分布式學(xué)習(xí)局部動(dòng)作值函數(shù),后集中所有局部動(dòng)作值函數(shù)構(gòu)建聯(lián)合動(dòng)作值函數(shù),能夠使計(jì)算復(fù)雜度呈線性增長(zhǎng)。
值分解思路在多智能體協(xié)作問題中得到了廣泛應(yīng)用,可以用于處理信用分配問題,即設(shè)計(jì)將智能體整體的聯(lián)合獎(jiǎng)勵(lì)分配到每個(gè)智能體的方案,督促多個(gè)智能體的相互合作以取得最大化的全局利益。前面概述的COMA算法、LICA算法、QMIX算法等,一定程度上解決了信用分配的問題,都涉及到了值分解的思路。
IQL(independent Q-learning)
放棄中心式的 Q_tot,將其他智能體作為環(huán)境變量,對(duì)所有智能體進(jìn)行分散學(xué)習(xí)獨(dú)立的局部動(dòng)作值函數(shù)。在部分應(yīng)用中較好的效果。
如IQL,每個(gè)智能體執(zhí)行一個(gè)Q-learning算法,對(duì)每個(gè)智能體來說,智能體間沒有交互,各自學(xué)習(xí)和探索,會(huì)導(dǎo)致環(huán)境的不穩(wěn)定,進(jìn)而無法收斂。
COMA(Counterfactual Multi-Agent Policy Gradient)
學(xué)習(xí)中心式的 Q_tot,如COMA。在Actor-Critic框架中使用聯(lián)合動(dòng)作值函數(shù)進(jìn)行集中訓(xùn)練,通過策略網(wǎng)絡(luò)實(shí)現(xiàn)分布執(zhí)行,在智能體數(shù)量較多的情況下,動(dòng)作值函數(shù)很難訓(xùn)練和收斂。
VDN(value decomposition networks)
學(xué)習(xí)中心式但可分解的 Q t o t Q_{tot} Qtot?,如VDN算法、QMIX算法等。
在處理多智能體協(xié)作問題時(shí),涉及到值分解思路的算法需要考慮兩方面問題:一是如何學(xué)習(xí)聯(lián)合動(dòng)作值函數(shù),二是怎樣從聯(lián)合值函數(shù)中分解出合理的分布式的策略。針對(duì)這兩個(gè)問題,VDN算法將每個(gè)智能體的局部動(dòng)作值函數(shù) Q i Q^{i} Qi 的 相加求和,以此作為聯(lián)合動(dòng)作值函數(shù)的逼近,用公式1表示為: Q t o t ( τ , u ) = ∑ i = 1 n Q i ( τ i , u i ; θ i ) ? , ? i ∈ N ( 1 ) Q_{tot}(\tau,u)=\sum_{i=1}^{n}Q^{i}(\tau^{i},u^{i};\theta^{i})\:,\forall i\in N\quad(1) Qtot?(τ,u)=i=1∑n?Qi(τi,ui;θi),?i∈N(1)
聯(lián)合動(dòng)作值函數(shù)可分解為單個(gè)智能體的局部動(dòng)作值函數(shù)的線性和,每個(gè)智能體再由各自的局部值函數(shù)選擇累計(jì)期望獎(jiǎng)勵(lì)最大的動(dòng)作。由此,每個(gè)智能體能夠根據(jù)局部觀察信息獨(dú)立地執(zhí)行動(dòng)作,復(fù)雜的多智能體學(xué)習(xí)問題被分解為多個(gè)局部的更易學(xué)習(xí)的子問題。
三、QMIX算法
QMIX: Monotonic Value Function Factorisation for Deep Multi-Agent Reinforcement Learning
QMIX算法:用于深度多智能體強(qiáng)化學(xué)習(xí)的單調(diào)值函數(shù)分解
在VDN上進(jìn)行拓展:求和相加 -> 非線性性函數(shù)(混合網(wǎng)絡(luò)) + 全局狀態(tài)信息輔助
單調(diào)性相同:對(duì)聯(lián)合動(dòng)作值函數(shù)取argmax <=> 對(duì)每個(gè)局部動(dòng)作值函數(shù)取argmax
argmax
?
u
Q
tot?
(
τ
,
u
)
=
(
argmax
?
u
1
Q
1
(
τ
1
,
u
1
)
?
argmax
?
u
n
Q
n
(
τ
n
,
u
n
)
)
(
3
)
\underset{\mathrm{u}}{\operatorname{argmax}} Q_{\text {tot }}(\boldsymbol{\tau}, \mathbf{u})=\left(\begin{array}{c} \operatorname{argmax}_{u^1} Q_1\left(\tau^1, u^1\right) \\ \vdots \\ \operatorname{argmax}_{u^n} Q_n\left(\tau^n, u^n\right) \end{array}\right)\quad(3)
uargmax?Qtot??(τ,u)=
?argmaxu1?Q1?(τ1,u1)?argmaxun?Qn?(τn,un)?
?(3)
分布式策略:貪心地通過局部
Q
i
Q^{i}
Qi 獲取最優(yōu)動(dòng)作
?
Q
t
o
t
?
Q
i
≥
0
,
?
i
∈
{
1
,
2
,
.
.
.
,
n
}
(
2
)
\frac{\partial Q_{tot}}{\partial Q^i}\ge0,\forall i\in\{1,2,...,n\}\quad(2)
?Qi?Qtot??≥0,?i∈{1,2,...,n}(2)
最終的代價(jià)函數(shù)為:
L
(
θ
)
=
∑
i
=
1
b
[
(
y
i
t
o
t
?
Q
t
o
t
(
τ
,
u
,
s
;
θ
)
)
2
]
(
4
)
\begin{aligned}\mathcal{L}(\theta)&=\sum_{i=1}^b\left[\left(y_i^{tot}-Q_{tot}(\tau,\mathbf{u},s;\theta)\right)^2\right]\end{aligned} \quad(4)
L(θ)?=i=1∑b?[(yitot??Qtot?(τ,u,s;θ))2]?(4)
更新用到了DQN的思想:
y
t
o
t
=
r
+
γ
max
?
u
′
Q
t
o
t
(
τ
′
,
u
′
,
s
′
;
θ
?
)
y^{t o t}=r+\gamma \max _{\mathbf{u}^{\prime}} Q_{t o t}\left(\boldsymbol{\tau}^{\prime}, \mathbf{u}^{\prime}, s^{\prime} ; \theta^{-}\right)
ytot=r+γmaxu′?Qtot?(τ′,u′,s′;θ?)
VDN 算法采用的線性分解模式過于簡(jiǎn)單,只能表示有限的聯(lián)合動(dòng)作值函數(shù),嚴(yán)重限制了集中式聯(lián)合動(dòng)作值函數(shù)的表征能力;在訓(xùn)練過程中也沒有利用額外的狀態(tài)信息,有很大的改進(jìn)空間。
QMIX 引入混合網(wǎng)絡(luò)來學(xué)習(xí)聯(lián)合動(dòng)作值函數(shù)與局部動(dòng)作值函數(shù)之間的非線性關(guān)系,并在訓(xùn)練過程中加入了全局狀態(tài)信息。相比于VDN的線性求和,QMIX使用神經(jīng)網(wǎng)絡(luò)來整合各個(gè)局部值函數(shù)。該算法認(rèn)為,只要滿足單調(diào)性約束(公式2),就能保證使局部動(dòng)作值函數(shù)取最大值的動(dòng)作就是使聯(lián)合動(dòng)作值函數(shù)取最大值的動(dòng)作,即最優(yōu)聯(lián)合動(dòng)作和最優(yōu)動(dòng)作聯(lián)合相同(由公式3表示)
具體實(shí)現(xiàn)模型如圖所示,中間為模型的主體,右邊為每個(gè)智能體的結(jié)構(gòu),左邊為混合網(wǎng)絡(luò)。
每個(gè)智能體網(wǎng)絡(luò)采取背景知識(shí)中提到的DQRN結(jié)構(gòu),以當(dāng)前的觀測(cè)和上一時(shí)間步的動(dòng)作作為輸入,得到局部值函數(shù) Q i Q^{i} Qi。這里使用的門控RNN網(wǎng)絡(luò)GRU,與LSTM網(wǎng)絡(luò)一樣,它可以利用動(dòng)作-觀察歷史以應(yīng)對(duì)部分可觀察場(chǎng)景,同時(shí)計(jì)算更為簡(jiǎn)便。之后由混合網(wǎng)絡(luò)將每個(gè)智能體網(wǎng)絡(luò)輸出的局部 Q i Q^{i} Qi,以單調(diào)的形式混合組成聯(lián)合的 Q t o t Q^{tot} Qtot。該部分采用超網(wǎng)絡(luò),將全局狀態(tài)信息 s t s_{t} st? 作為輸入,輸出混合網(wǎng)絡(luò)中每一層的權(quán)重和偏移量。為了保證單調(diào)性,需要保證權(quán)重大于0,因此對(duì)權(quán)重采用了絕對(duì)值激活函數(shù),而對(duì)偏移量?jī)H需采用普通的Relu激活函數(shù)。這種方式?jīng)]有將全局狀態(tài)信息直接作為混合網(wǎng)絡(luò)的輸入,可以避免額外的全局信息被加入單調(diào)性約束。QMIX的訓(xùn)練方式為端到端訓(xùn)練(使用的損失函數(shù)見公式4),其中b為從經(jīng)驗(yàn)池中采樣的樣本數(shù)量, θ ? \theta^{-} θ?表示目標(biāo)網(wǎng)絡(luò)的參數(shù)。
實(shí)驗(yàn)驗(yàn)證
實(shí)驗(yàn)及分析方法:與baseline算法的對(duì)比;消融實(shí)驗(yàn)
采用環(huán)境:星際爭(zhēng)霸2模擬實(shí)驗(yàn)環(huán)境(SC2LE)
分布式地控制我方智能體,對(duì)戰(zhàn)敵方;智能體的行為空間離散
動(dòng)作:移動(dòng)到某個(gè)方向、攻擊某個(gè)智能體、停止、空行為
衡量指標(biāo):平均勝率(算法在一定時(shí)間內(nèi)擊敗所有敵方單位的機(jī)率)
實(shí)驗(yàn)結(jié)果:對(duì)比IQL和VDN,收斂速度和最終收斂的勝率上都存在優(yōu)勢(shì)。
消融實(shí)驗(yàn):引入非線性和全局狀態(tài)信息,對(duì)模型有幫助。
四、基于QMIX的改進(jìn)
QTRAN -> QTRAN++:滿足IGM;不引入其他的假設(shè)限制,適用于更加廣泛的問題
QATTEN:QMIX和VDN等算法對(duì)聯(lián)合Q值的分解沒有理論支撐;增加注意力機(jī)制
加權(quán)QMIX:設(shè)計(jì)權(quán)重函數(shù),對(duì)QMIX的loss函數(shù)中每個(gè)聯(lián)合動(dòng)作的重要性進(jìn)行加權(quán)
QPLEX:根據(jù)IGM提出advantage IGM的概念,將對(duì)聯(lián)合值函數(shù)的限制轉(zhuǎn)換為對(duì)優(yōu)勢(shì)函數(shù)的限制,從而簡(jiǎn)化值函數(shù)的學(xué)習(xí)文章來源:http://www.zghlxwxcb.cn/news/detail-842879.html
雖然實(shí)驗(yàn)證明這些算法已經(jīng)能夠在很多對(duì)戰(zhàn)場(chǎng)景中取得大概率勝利,但仍存在一些未能解決的問題(如不適用于SMAC超復(fù)雜場(chǎng)景)。未來可以從以下角度對(duì)值分解算法進(jìn)行擴(kuò)展:一是可以引入內(nèi)在獎(jiǎng)勵(lì)機(jī)制,使值分解算法可以應(yīng)對(duì)獎(jiǎng)勵(lì)稀疏問題;二是將其擴(kuò)展到AC框架中,使之能解決連續(xù)動(dòng)作空間中的多智能體協(xié)作問題;三是與其他機(jī)制(如通信、協(xié)作圖、任務(wù)/角色分配等)相結(jié)合,解決更大規(guī)模協(xié)作中,受距離或分工等因素的影響,智能體間緊密度不同的問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-842879.html
到了這里,關(guān)于【多智能體強(qiáng)化學(xué)習(xí)】協(xié)作 + 值分解 + QMIX算法及其改進(jìn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!