陳妙云,王 雷,盛 捷
(中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)與技術(shù)學(xué)院,合肥 230027)
近年來(lái),強(qiáng)化學(xué)習(xí)在解決一系列順序決策問(wèn)題上取得了巨大的成功.Minih 等人[1]將深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)結(jié)合起來(lái),提出了深度強(qiáng)化學(xué)習(xí),在眾多領(lǐng)域都得到了廣泛的應(yīng)用.比如機(jī)器人控制[2],生命科學(xué)[3],自動(dòng)駕駛[4],5G 通信[5],物聯(lián)網(wǎng)[6],車聯(lián)網(wǎng)[7]等.在深度強(qiáng)化學(xué)習(xí)的基礎(chǔ)上眾多研究者提出了多項(xiàng)改進(jìn)來(lái)提升算法的收斂速度和穩(wěn)定性.然而這些算法的研究和應(yīng)用大多集中在單智能體領(lǐng)域.現(xiàn)實(shí)世界中的任務(wù)和場(chǎng)景通常更加復(fù)雜,涉及到多個(gè)智能體之間的合作和競(jìng)爭(zhēng).比如工廠中的協(xié)作機(jī)器人,交通控制系統(tǒng)和自動(dòng)軍事系統(tǒng)等.將單智能體強(qiáng)化學(xué)習(xí)算法簡(jiǎn)單地移植到多智能體場(chǎng)景中通常會(huì)帶來(lái)一些問(wèn)題和挑戰(zhàn)[8].比如單智能體深度強(qiáng)化學(xué)習(xí)算法無(wú)法表征智能體之間的合作與競(jìng)爭(zhēng)關(guān)系以及智能體之間共同進(jìn)化導(dǎo)致環(huán)境非平穩(wěn)性的問(wèn)題.并且多智能體與復(fù)雜場(chǎng)景會(huì)帶來(lái)計(jì)算量大幅提升,算法收斂速度明顯下降等挑戰(zhàn).
目前,Self-play[9]被證明是一種有效的多智能體訓(xùn)練范式,并成功的應(yīng)用在了圍棋,象棋以及博弈競(jìng)爭(zhēng)場(chǎng)景中.Palmer 等人[10]提出了一種基于寬容的DQN 算法,對(duì)同伴不合理的行為給予一定的容忍度.Foerster等人[11]提出了反事實(shí)的思想,解決了多智能體合作場(chǎng)景中信用分配的問(wèn)題.這些算法在多智能體場(chǎng)景中都取得了很好的效果.但是只能應(yīng)用在離散動(dòng)作空間中,并且Self-play 還增加了智能體之間動(dòng)作集完全一致的限制.Lowe 等人[12]提出了一種集中式訓(xùn)練,分散式執(zhí)行的算法(multi-agent deep deterministic policy gradient,MA-DDPG),解決了多智能體場(chǎng)景中環(huán)境非平穩(wěn)的問(wèn)題.并且該算法可以同時(shí)應(yīng)用在連續(xù)和離散控制的多智能體場(chǎng)景中,使得應(yīng)用場(chǎng)景更加靈活.
然而對(duì)于復(fù)雜的多智能體場(chǎng)景,目前的多智能體深度強(qiáng)化學(xué)習(xí)算法還有很多問(wèn)題沒(méi)有解決.智能體動(dòng)作策略的更新質(zhì)量非常依賴于預(yù)期回報(bào)的估計(jì),但是多個(gè)智能體與環(huán)境交互時(shí),其內(nèi)在的隨機(jī)性會(huì)導(dǎo)致預(yù)期回報(bào)具有不確定性,現(xiàn)有的方法將預(yù)期回報(bào)簡(jiǎn)單地平均為期望值則會(huì)丟失完整的分布信息,導(dǎo)致智能體不能進(jìn)行有效的學(xué)習(xí).并且現(xiàn)有的方法主要基于單步回報(bào),智能體只考慮當(dāng)下的收益而忽略未來(lái)的信息,從而引發(fā)算法不穩(wěn)定.此外現(xiàn)有方法中經(jīng)驗(yàn)數(shù)據(jù)生成往往和網(wǎng)絡(luò)更新耦合在一起,導(dǎo)致只能串行處理,難以有效利用更多的計(jì)算資源.為此,本文提出了基于值分布的多智能體分布式深度確定性策略梯度算法(multi-agent distributed distributional deep deterministic policy gradient,MA-D4PG),引入值分布的思想[13]對(duì)預(yù)期回報(bào)的分布建模,避免分布信息丟失,使得智能體能夠獲得更加準(zhǔn)確的梯度更新,保證學(xué)習(xí)的有效性;引入多步回報(bào)使得智能體能夠從未來(lái)的經(jīng)驗(yàn)中學(xué)習(xí),增加智能體的預(yù)見(jiàn)能力,提高算法的穩(wěn)定性;引入分布式數(shù)據(jù)生成框架(APE-X)[14],將智能體與環(huán)境交互生成經(jīng)驗(yàn)數(shù)據(jù)部分與網(wǎng)絡(luò)更新解耦,使得經(jīng)驗(yàn)數(shù)據(jù)生成過(guò)程和網(wǎng)絡(luò)更新能夠并行進(jìn)行,充分利用更多的計(jì)算資源.
在多個(gè)不同的連續(xù)/離散控制的多智能體場(chǎng)景中本文算法的穩(wěn)定性和收斂速度都有了極大的提升,智能體的決策能力也有了明顯的增強(qiáng).最后本文還做了消融實(shí)驗(yàn)展示每個(gè)改進(jìn)各自的貢獻(xiàn)以及相互作用.
多智能體馬爾可夫決策過(guò)程是馬爾可夫決策過(guò)程在多智能體場(chǎng)景下的擴(kuò)展.其同樣由四元組構(gòu)成:
其中,S表示所有智能體的狀態(tài)集合 {s1,s2,···,sk},k表示智能體的數(shù)量.A表示所有智能體的動(dòng)作集合{A1,A2,···,Ak}.Pr(S′|S,A) 表示狀態(tài)轉(zhuǎn)移函數(shù),S×A1×···×Ak→P(S′).其中P(S′) 定義了所有智能體的下一個(gè)狀態(tài)的概率分布.R表示所有智能體的回報(bào)集合 {r1,···,rk}.本文遵循以上符號(hào)表示.
對(duì)于每一個(gè)智能體i,學(xué)習(xí)相應(yīng)的動(dòng)作選擇策略 πi:oi→P(Ai).其中oi表示智能體i的局部觀測(cè),P(Ai) 表示選擇動(dòng)作的概率分布.
智能體的目標(biāo)是學(xué)習(xí)一個(gè)動(dòng)作選擇策略以最大化預(yù)期回報(bào)如下,其中 γ為折現(xiàn)因子.
深度策略梯度算法(deep policy gradient,DPG)[15]是一種非常經(jīng)典的深度強(qiáng)化學(xué)習(xí)算法.該算法使用神經(jīng)網(wǎng)絡(luò)模擬動(dòng)作策略函數(shù),通過(guò)梯度上升法調(diào)整網(wǎng)絡(luò)參數(shù)以最大化目標(biāo)函數(shù),如式(3)所示:
其中,Q(St,At) 表示狀態(tài)動(dòng)作對(duì)的預(yù)期回報(bào)的期望值.相應(yīng)的動(dòng)作策略網(wǎng)絡(luò)的梯度公式如式(4)所示:
其中,π 表示智能體的隨機(jī)動(dòng)作策略,輸出所有動(dòng)作的概率分布.
DDPG (deep deterministic policy gradient)[16]是DPG的一種變體,其中動(dòng)作策略輸出的是確定性動(dòng)作而不是所有動(dòng)作的概率分布.可以應(yīng)用于連續(xù)控制的多智能體場(chǎng)景中,相應(yīng)的動(dòng)作策略網(wǎng)絡(luò)梯度公式如式(5):
其中,μ 表示智能體的確定性動(dòng)作策略.
而多智能體深度確定性策略梯度算法是DDPG 在多智能體場(chǎng)景的擴(kuò)展,并且與actor-critic框架相結(jié)合.其中actor 模擬動(dòng)作選擇策略函數(shù) μ,根據(jù)智能體i的局部觀測(cè)oi,輸出動(dòng)作Ai=μi(oi|θi).critic 模擬動(dòng)作價(jià)值函數(shù)Qi以輸出智能體i某一時(shí)刻的狀態(tài)動(dòng)作對(duì)的預(yù)期回報(bào)的期望值.Qi是一個(gè)集中式的函數(shù),考慮了所有智能體的狀態(tài)動(dòng)作信息,解決了多智能體場(chǎng)景中智能體共同學(xué)習(xí)以及相互作用導(dǎo)致的環(huán)境非平穩(wěn).
在MA-DDPG 算法智能體i的actor 網(wǎng)絡(luò)的梯度公式以及critic 網(wǎng)絡(luò)的損失函數(shù)分別如式(6)和式(7):
本文引入了值分布的思想對(duì)預(yù)期回報(bào)的分布建模,提出了一種基于值分布的評(píng)論家(critic)更新方法;并在此基礎(chǔ)上引入多步回報(bào)衡量critic的損失;最后引入了分布式數(shù)據(jù)生成架構(gòu)(APE-X)將智能體與環(huán)境交互生成經(jīng)驗(yàn)數(shù)據(jù)的部分與網(wǎng)絡(luò)更新解耦.這些將會(huì)在本節(jié)進(jìn)行詳細(xì)描述.
基于值的多智能體深度強(qiáng)化學(xué)習(xí)算法直接對(duì)智能體狀態(tài)動(dòng)作對(duì)的預(yù)期回報(bào)的期望建模,不考慮智能體與環(huán)境的交互的內(nèi)在隨機(jī)性對(duì)預(yù)期回報(bào)的影響.這種建模方式損失了關(guān)于預(yù)期回報(bào)的完整的分布信息.本文引入值分布的思想,強(qiáng)調(diào)預(yù)期回報(bào)的分布信息的重要性,對(duì)預(yù)期回報(bào)的分布建模,而非對(duì)其期望值建模.本文將預(yù)期回報(bào)看作隨機(jī)變量,記為定義如式(8)所示:
本文使用參數(shù)化的多分類分布對(duì)預(yù)期回報(bào)的分布建模 {N∈N,Vmin,Vmax∈R},其中N表示分類個(gè)數(shù),Vmin表示最小類別值,Vmax表示最大類別值.以此模擬預(yù)期回報(bào)的近似分布.其中一系列的類別值分別如式(9):
在actor-critic的框架下,改進(jìn)的基于值分布思想的critic 網(wǎng)絡(luò)輸出預(yù)期回報(bào)的N分類分布,表示各類預(yù)期回報(bào)值的概率分布.記pi,j(St,At)為智能體i的critic網(wǎng)絡(luò)所輸出的預(yù)期回報(bào)屬于第j類zj的概率.
其中,St={s1,t,···,sk,t} 表示所有智能體的狀態(tài)信息,At={A1,t,···,Ak,t}表示所有智能體的動(dòng)作信息.
基于值分布的critic的損失函數(shù)定義如式(11)和式 (12):
以上所述引入了值分布的思想對(duì)critic的更新進(jìn)行改進(jìn),相應(yīng)的actor 更新也引入預(yù)期回報(bào)的分布信息,本文通過(guò)引入Z分布的期望來(lái)實(shí)現(xiàn),則actor 網(wǎng)絡(luò)更新的梯度公式如式(13)所示:
本小節(jié)在第3.1 節(jié)所述的基于值分布的critic 更新的基礎(chǔ)上引入多步回報(bào)來(lái)計(jì)算critic的TD (temporaldifference)誤差.利用多步回報(bào)可以使得智能體從未來(lái)的經(jīng)驗(yàn)中學(xué)習(xí),而不是只考慮當(dāng)下的收益.多步回報(bào)的思想已經(jīng)廣泛的應(yīng)用在眾多單智能體強(qiáng)化學(xué)習(xí)算法[17,18]中.類似的修正也可以應(yīng)用在多智能體深度強(qiáng)化學(xué)習(xí)算法中.基于多步回報(bào)的貝爾曼方程定義如式(14)和式(15)所示:
其中,Ri,t表示時(shí)刻t智能體i的N步回報(bào).
針對(duì)模型耦合度高無(wú)法充分利用計(jì)算資源的問(wèn)題,本文引入了分布式數(shù)據(jù)生成的框架(APE-X)將多智能體場(chǎng)景中智能體與環(huán)境交互生成經(jīng)驗(yàn)數(shù)據(jù)和網(wǎng)絡(luò)更新兩部分進(jìn)行解耦.負(fù)責(zé)數(shù)據(jù)生成的部分稱為Actor,負(fù)責(zé)從經(jīng)驗(yàn)回放池中采樣數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)更新的部分稱為L(zhǎng)earner.Actor的網(wǎng)絡(luò)結(jié)構(gòu)與Learner 完全一致,只負(fù)責(zé)與環(huán)境交互得到經(jīng)驗(yàn)數(shù)據(jù)存入經(jīng)驗(yàn)回放池中,不執(zhí)行梯度計(jì)算進(jìn)行參數(shù)更新,而是定期復(fù)制Learner的網(wǎng)絡(luò)參數(shù).Learner 只負(fù)責(zé)從經(jīng)驗(yàn)回放池中采樣數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)更新而不負(fù)責(zé)與環(huán)境進(jìn)行交互.本文算法并行運(yùn)行多個(gè)獨(dú)立的Actor,分別與環(huán)境進(jìn)行交互得到經(jīng)驗(yàn)數(shù)據(jù){St+1-N,At+1-N,Rt+1-N,St+1},寫(xiě)入同一個(gè)經(jīng)驗(yàn)緩沖池中.Learner 從該經(jīng)驗(yàn)緩沖池中隨機(jī)采樣M批經(jīng)驗(yàn)數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)更新.具體的算法框架圖如圖1所示.其中St+1-N={s1,t+1-N,···,sk,t+1-N},At+1-N={A1,t+1-N,···,Ak,t+1-N},Rt+1-N={R1,t+1-N,···,Rk,t+1-N}.
圖1 分布式數(shù)據(jù)生成框架示意圖
本文算法的偽代碼如算法1和算法2 所示.Learner中actor-critic的網(wǎng)絡(luò)都采用梯度下降法進(jìn)行網(wǎng)絡(luò)參數(shù)更新.actor和critic的學(xué)習(xí)率分別是αt,βt,均采用Adam優(yōu)化器[19],利用動(dòng)量和自適應(yīng)學(xué)習(xí)率來(lái)加快收斂速度.該算法偽代碼中同時(shí)包含了Actor和Learner的偽代碼,多個(gè)Actor 初始化為相同的多智能體環(huán)境,并行與環(huán)境交互生成經(jīng)驗(yàn)數(shù)據(jù)并將其存入經(jīng)驗(yàn)回放池中.
算法1.經(jīng)驗(yàn)數(shù)據(jù)生成-Actor 1)初始化 值,智能體數(shù)量K,經(jīng)驗(yàn)回放池B,初始化軟更新頻率TAU(θ1:k N Actor,ω1:kActor)←(θ1:kLearner,ω1:kLearner)2)初始化Actor 網(wǎng)絡(luò)參數(shù)3)初始化States,Actions,Rewards,Terminals為大小為的deque j=1,···,Episode_num N+1 4)For do 5)Clear (States,Actions,Rewards,Terminals)S 0←6)Env.Reset()S 0 7)States.Add()t=1,···,max_step 8)For do A1,t-1,···,Ak,t-1←μ1(s1,t-1),···,μk(sk,t-1)9)r1,t-1,···,rk,t-1,S t,termt← At-1+OU 10)Env.Step()11)States.Add()At-1 S t Actions.Add(){r1,t-1,···,rk,t-1}Rewards.Add()termt Terminals.Add()12)If States.full then NRt-N 13)根據(jù)式(15)計(jì)算 步回報(bào)14)B.Add(States[0],Actions[0],Rt-N States[N],Terminals[N–1])15)PopLeft(States,Actions,Rewards,Terminals)16)End If termt 17)If break 18)End For 19)End For
算法2.網(wǎng)絡(luò)更新-Learner 1)初始化采樣批次M,最大更新步數(shù)T(θ1:k Learner,ω1:kLearner)2)隨機(jī)初始化網(wǎng)絡(luò)參數(shù)target,ω1:ktarget)←(θ1:kLearner,ω1:kLearner)3)初始化目標(biāo)網(wǎng)絡(luò)參數(shù)(θ1:k 4)For do BM t=1,···,T 5)If len() 本文設(shè)置了3 個(gè)實(shí)驗(yàn)場(chǎng)景來(lái)測(cè)試本文算法(MAD4PG)的性能,將在本節(jié)依次描述.在實(shí)驗(yàn)中設(shè)置了一個(gè)額外的Actor.該Actor 只利用,而不進(jìn)行探索,方便在沒(méi)有噪聲的情況下測(cè)試本文算法的性能.其他Actor 則負(fù)責(zé)探索環(huán)境,獲得更多關(guān)于環(huán)境的信息,并且與環(huán)境交互生成經(jīng)驗(yàn)數(shù)據(jù).Learner 每更新N步,將網(wǎng)絡(luò)參數(shù)復(fù)制給Actor.本文將N值設(shè)為5.為了加快訓(xùn)練模型以及更好的利用資源,Learner 模型在GPU上進(jìn)行運(yùn)算,Actor 在CPU 進(jìn)行運(yùn)算.強(qiáng)化學(xué)習(xí)算法性能評(píng)價(jià)的兩個(gè)關(guān)鍵指標(biāo)是算法收斂所需的步數(shù)以及最終收斂的Episode Reward 值.收斂所需的步數(shù)越少,表示算法的收斂速度越快,最終的收斂的Episode Reward值越大,表示智能體的學(xué)習(xí)效果越好.本文將根據(jù)這兩個(gè)指標(biāo)對(duì)本文算法進(jìn)行評(píng)價(jià).并且本文還做了一些消融實(shí)驗(yàn),分別刪除本文算法中的單項(xiàng)組件,以確定其特定的貢獻(xiàn). 1×106 本文實(shí)驗(yàn)中統(tǒng)一使用大小為經(jīng)驗(yàn)重放池存儲(chǔ)智能體與環(huán)境交互產(chǎn)生的經(jīng)驗(yàn)數(shù)據(jù).為確保一定的探索性,在智能體的動(dòng)作策略中添加Ornstein-Uhlenbeck噪聲[19].并且本文實(shí)驗(yàn)中actor和critic的學(xué)習(xí)率以及采樣批次大小,軟更新頻率統(tǒng)一設(shè)置如下: α=5×10-5,β=5×10-5,M=256,TAU=0.001 本文算法中實(shí)驗(yàn)環(huán)境的配置如表1所示.本文采用了PyTorch 作為深度學(xué)習(xí)框架,在GPU 上使CUDNN加速訓(xùn)練模型. 表1 本文實(shí)驗(yàn)環(huán)境配置 本文實(shí)驗(yàn)包含了3 個(gè)實(shí)驗(yàn)場(chǎng)景,如圖2所示.這3 個(gè)實(shí)驗(yàn)場(chǎng)景分別是多智能體合作清潔,多無(wú)人機(jī)監(jiān)控,多智能體救援.本節(jié)將對(duì)這3 個(gè)實(shí)驗(yàn)場(chǎng)景進(jìn)行簡(jiǎn)單描述. 在多智能體清潔場(chǎng)景中,兩個(gè)或者多個(gè)智能體將合作打掃一個(gè)房間,實(shí)驗(yàn)場(chǎng)景如圖2(a)所示.環(huán)境中智能體的任務(wù)是在規(guī)定的時(shí)間內(nèi)盡量擴(kuò)大清潔面積,或者是在最短的時(shí)間內(nèi)盡量清潔完所有的區(qū)域.該任務(wù)實(shí)際上是一個(gè)路徑規(guī)劃任務(wù),智能體之間應(yīng)該合作規(guī)劃具有最小重疊區(qū)域的路徑.每個(gè)智能體的局部觀測(cè)由周圍8 個(gè)方塊的狀態(tài)組成,一共8 維.動(dòng)作空間是1 維,可以朝上下左右4 個(gè)方向移動(dòng). 圖2 實(shí)驗(yàn)場(chǎng)景示意圖 多無(wú)人機(jī)監(jiān)控實(shí)驗(yàn)場(chǎng)景如圖2(b)所示.正方形區(qū)域表示地面,空中有多個(gè)無(wú)人機(jī)使用攝像頭監(jiān)控地面,無(wú)人機(jī)可以在給定區(qū)域自由飛行.每架無(wú)人機(jī)都有一個(gè)由半徑定義的局部觀測(cè)區(qū)域(如圖2(c)所示),無(wú)人機(jī)只能觀測(cè)到該區(qū)域內(nèi)的物體.在該實(shí)驗(yàn)場(chǎng)景中,多個(gè)智能體(無(wú)人機(jī))的目標(biāo)是盡量減少視覺(jué)區(qū)域的重疊以及監(jiān)控更多的行人.每個(gè)智能體的動(dòng)作空間包含朝上下左右4 個(gè)方向移動(dòng)以及停留原地5 個(gè)動(dòng)作. 多智能體救援實(shí)驗(yàn)場(chǎng)景如圖2(d)所示.方形區(qū)域模擬地震后的廢墟.多個(gè)智能體從安全點(diǎn)出發(fā),進(jìn)入該區(qū)域,找到該區(qū)域的人并帶回安全點(diǎn).該任務(wù)的目標(biāo)是智能體盡可能在更短的時(shí)間內(nèi)將更多的人帶回安全點(diǎn).每個(gè)智能體的局部觀測(cè)范圍是其前方90 度的扇形區(qū)域,半徑為3 個(gè)方塊的長(zhǎng)度.智能體的動(dòng)作空間維度大小為4,分別表示沿x軸方向行走 [-0.5,0.5],沿y軸方向行走 [-0.5,0.5],旋轉(zhuǎn) [-10,10],背起/放下人 {0,1,2}. 3個(gè)實(shí)驗(yàn)場(chǎng)景中的超參數(shù)如表2所示. 表2 本文實(shí)驗(yàn)場(chǎng)景的超參數(shù) 在框架上,本文較多借鑒了目前性能最好的多智能體深度強(qiáng)化學(xué)習(xí)算法-多智能體深度確定性策略梯度算法,因此選擇與該算法進(jìn)行對(duì)比實(shí)驗(yàn).此外還進(jìn)行了消融實(shí)驗(yàn),分別確定本文所提每個(gè)方法的貢獻(xiàn).圖3展示了本文算法(MA-D4PG) 以及3 個(gè)消融實(shí)驗(yàn)和MA-DDPG 在該實(shí)驗(yàn)環(huán)境中的性能.其中MAD4PG-no distributional 所示曲線表示本文算法去掉第3.1 節(jié)所述改進(jìn)后的運(yùn)行效果,MAD4PG-no multistep 所示曲線表示本文算法去掉3.2 節(jié)所述改進(jìn)的運(yùn)行效果,MAD4PGno distributed 所示曲線表示本文算法去掉第3.3 節(jié)所述改進(jìn)的運(yùn)行效果. 從圖3(a)中可看到在多智能體合作清潔的場(chǎng)景中,本文算法MA-D4PG 在收斂速度和最終收斂的Episode Reward 值這兩個(gè)指標(biāo)上都有最好的表現(xiàn),并且算法的穩(wěn)定性更好.對(duì)MAD4PG-no distributional/MAD4PG-no distributed 這兩條曲線進(jìn)行分析可看出,第3.1 節(jié)和第3.3 節(jié)所述的改進(jìn)對(duì)算法最后收斂的Episode Reward值的提升雖不太明顯,但是加快了算法的收斂速度. 對(duì)圖3(b)進(jìn)行分析可得,在多人機(jī)監(jiān)控場(chǎng)景中,相較MA-DDPG 算法,本文算法(MA-D4PG)收斂速度較慢,但是最終收斂的Episode Reward 值約是MA-DDPG的3.6 倍,智能體的決策能力得到了極大地增強(qiáng).對(duì)MAD4PG-no distributional/MAD4PG-no distributed 分析可得,第3.1 節(jié)和第3.3 節(jié)所述改進(jìn)使得最終收斂的Episode Reward值分別提升了約97%和43%. 對(duì)圖3(c)分析可得,在多智能體救援場(chǎng)景中,本文算法(MA-D4PG)的收斂速度約是MA-DDPG 算法的3.75 倍.對(duì)MAD4PG-no multistep/MAD4PG-no distributed 兩條曲線分析可得,第3.2 節(jié)和第3.3 節(jié)所述改進(jìn)使得算法的收斂速度分別提升了約185%和100%. 對(duì)圖3(a),圖3(b)的MAD4PG-no multistep 曲線聯(lián)合分析可看出,去掉多步回報(bào)的改進(jìn),算法性能下降最大,并且去掉該改進(jìn)會(huì)導(dǎo)致算法的穩(wěn)定性顯著下降.這兩個(gè)實(shí)驗(yàn)場(chǎng)景中智能體只包含一維的離散動(dòng)作空間,控制任務(wù)相對(duì)簡(jiǎn)單.從中可看出在離散控制的多智能體場(chǎng)景中,引入多步回報(bào)對(duì)算法性能的貢獻(xiàn)最大,而第3.1 節(jié)和第3.3 節(jié)所述改進(jìn)之間的互補(bǔ)作用較小. 圖3 本文算法性能對(duì)比圖 對(duì)圖3(c)的MAD4PG-no distributional 曲線分析可得,去掉值分布的改進(jìn),算法的收斂速度降低最大,并且算法的穩(wěn)定性也有一定的下降.該實(shí)驗(yàn)環(huán)境中的控制任務(wù)比較復(fù)雜,既包含連續(xù)動(dòng)作,又包含離散動(dòng)作,而前兩個(gè)實(shí)驗(yàn)場(chǎng)景中智能體只包含一維的離散動(dòng)作空間.從中可看出在復(fù)雜的控制任務(wù)中,引入值分布對(duì)算法性能的貢獻(xiàn)最為突出. 本文的主要貢獻(xiàn)是提出了一種基于值分布的多智能體分布式策略梯度算法,利用值分布替代期望值,進(jìn)一步區(qū)分智能體行為的好壞,而不是簡(jiǎn)單地將其平均為期望值;同時(shí)引入了多步回報(bào)增加智能體的預(yù)見(jiàn)能力,提高算法穩(wěn)定性;此外引入了分布式數(shù)據(jù)生成框架將多智能體場(chǎng)景中智能體與環(huán)境交互生成經(jīng)驗(yàn)數(shù)據(jù)和網(wǎng)絡(luò)更新解耦,加快算法的收斂.本文算法在3 個(gè)實(shí)驗(yàn)場(chǎng)景中都實(shí)現(xiàn)了最好的性能.這3 項(xiàng)改進(jìn)都有助于提升本文算法(MA-D4PG)的整體性能,在前兩個(gè)實(shí)驗(yàn)場(chǎng)景中對(duì)性能貢獻(xiàn)最大的改進(jìn)是多步回報(bào).而在復(fù)雜的任務(wù)場(chǎng)景中,值分布的貢獻(xiàn)變得更加突出.本文的實(shí)驗(yàn)場(chǎng)景都是基于多智能體合作的場(chǎng)景,接下來(lái)的研究工作是在競(jìng)爭(zhēng)場(chǎng)景甚至既有合作又有競(jìng)爭(zhēng)的混合場(chǎng)景中研究本文算法的性能.4 實(shí)驗(yàn)分析
4.1 實(shí)驗(yàn)環(huán)境配置
4.2 實(shí)驗(yàn)場(chǎng)景
4.3 實(shí)驗(yàn)結(jié)果分析
5 結(jié)論與展望