馬廷淮,彭可興,周宏豪,榮 歡
(1. 南京信息工程大學(xué)計(jì)算機(jī)學(xué)院,江蘇 南京 210044;2. 南京信息工程大學(xué)電子與信息工程學(xué)院,江蘇 南京 210044;3. 南京信息工程大學(xué)人工智能學(xué)院,江蘇 南京 210044)
近年來,隨著人工智能技術(shù)的發(fā)展,基于多智能體系統(tǒng)的研究和應(yīng)用應(yīng)運(yùn)而生,這些工作主要集中在研究大規(guī)模多智能體系統(tǒng)中的多智能體強(qiáng)化學(xué)習(xí)(Multi-agent reinforcement learning, MARL)[1]任務(wù)中。在該任務(wù)中,智能體龐大的數(shù)量規(guī)模以及復(fù)雜的交互給策略學(xué)習(xí)帶來了巨大的挑戰(zhàn),因此建立智能體之間的通信是必不可少的環(huán)節(jié),優(yōu)化通信的方式以及內(nèi)容是研究的目標(biāo)。特別是在部分可觀察的環(huán)境中[2],當(dāng)主體觀察到環(huán)境的不同部分時(shí),們可以通過交流分享們所觀察到的信息和經(jīng)驗(yàn)。
在多智能體的通信工作中,有一部分工作是基于預(yù)定義的通信規(guī)則,例如CommNet(Learning multiagent communication with backpropagation)[3]預(yù)先定義通信通道;BICNet(Bidirectionally-Coordinated Nets)[4]解決零和隨即博弈問題,為預(yù)定義規(guī)則優(yōu)化通信行為;IC3Net(Learning When To Communicate Ae Scale In Multiagent Cooperative And Competitive Tasks)[5]基于CommNet解決信用分配問題;G2Anet(Multi-Agent Game Abstraction via Graph Attention Neural Network)[6]通過一個(gè)完整的圖對(duì)智能體之間的關(guān)系進(jìn)行建模,內(nèi)置兩階段注意力網(wǎng)絡(luò)決定智能體間是否交互。然而,上述預(yù)定義規(guī)則的設(shè)計(jì)需要很強(qiáng)的環(huán)境先驗(yàn)知識(shí),且在多智能體環(huán)境中,智能體之間的影響和交互不盡相同,關(guān)系非平穩(wěn),預(yù)定義的規(guī)則過于簡(jiǎn)單。此外,另一類工作主要針對(duì)松散耦合的多智能體系統(tǒng),MADDPG(Multi-agent actor-critic for mixed cooperative-competitive environments)[7]不假設(shè)智能體之間有固定合作規(guī)則,MAAC(Actor-Attention-Critic for Multi-Agent Reinforcement Learning)[8]考慮每個(gè)智能體所受到的各方面影響與關(guān)系變化,ATOC(Learning attentional communication for multi-agent cooperation)[9]提出了一個(gè)通信模型,學(xué)習(xí)何時(shí)需要溝通以及如何整合共享信息以進(jìn)行合作決策。然而這類工作給每個(gè)智能體訓(xùn)練一個(gè)復(fù)雜網(wǎng)絡(luò),這不僅導(dǎo)致了大規(guī)模的計(jì)算負(fù)擔(dān),還帶來了通信信息的延遲問題。
針對(duì)上述問題,本文對(duì)多智能體強(qiáng)化學(xué)習(xí)的策略網(wǎng)絡(luò)進(jìn)行了改進(jìn)以提升通信效率,設(shè)計(jì)了一個(gè)包含注意力模塊以及通信模塊的策略網(wǎng)絡(luò)模型,Attentional Interactions Communication Comment Integration Network(AICNet)。其中,注意力模塊通過在每個(gè)時(shí)間步中關(guān)注智能體之間的交互影響,從而實(shí)時(shí)更新注意力權(quán)重并據(jù)此更新通信信息。通信模塊的設(shè)計(jì)避免了上述多個(gè)網(wǎng)絡(luò)的問題,采用聚合模式來處理所有智能體收集到的信息,將智能體的編碼信息進(jìn)行統(tǒng)一操作。為了在訓(xùn)練中更加穩(wěn)定,本文將AICNet與執(zhí)行器評(píng)價(jià)器模式(Actor-Critic)[10]相結(jié)合。實(shí)驗(yàn)所采取的環(huán)境是Predator-Prey和Cooperative Navigation[7](https:∥github.com/openai/multiagent-particle-envs)。結(jié)果表明,與現(xiàn)有的先進(jìn)算法相比,AICNet具有最高的環(huán)境獎(jiǎng)勵(lì)值。此外,在測(cè)試環(huán)境中,本文發(fā)現(xiàn)AICNet已經(jīng)學(xué)會(huì)了基于交互影響的協(xié)作方法。
本文采用部分可觀測(cè)馬爾可夫決策過程(Partially Observable Markov Decision Process, POMDP)[11]的環(huán)境,其性質(zhì)是非平穩(wěn)的、多智能體的和部分可觀察的,這個(gè)環(huán)境定義符合大部分現(xiàn)實(shí)任務(wù),本文所使用的模擬環(huán)境基于POMDP的定義,包含競(jìng)爭(zhēng)與協(xié)作的特質(zhì),如圖1所示。

圖1 多智能體強(qiáng)化學(xué)習(xí)環(huán)境描述

本文在訓(xùn)練過程部分參考Deep Deterministic Policy Gradient(DDPG)[12]算法, DDPG基于執(zhí)行器評(píng)價(jià)器模式,主要思想是直接調(diào)整策略網(wǎng)絡(luò)的參數(shù),使其最大化目標(biāo)?θuJ←?θuu(s|θu)?aQu(s,a)|a=u(s),函數(shù)J是用來衡量策略u(píng)的表現(xiàn),其中Qu(s,a)=E[r(s,a)+γQu(s′,a′)]是狀態(tài)動(dòng)作值函數(shù),u(s)=a是確定性策略網(wǎng)絡(luò)。它們分別使用深度學(xué)習(xí)參數(shù)θQ和θu訓(xùn)練其網(wǎng)絡(luò),對(duì)于執(zhí)行器部分,策略網(wǎng)絡(luò)根據(jù)狀態(tài)值輸出動(dòng)作;對(duì)于評(píng)價(jià)器部分,Q網(wǎng)絡(luò)近似狀態(tài)動(dòng)作值函數(shù),提供評(píng)價(jià)器對(duì)應(yīng)梯度。
如圖2所示,AICNet是一種策略網(wǎng)絡(luò)模型,與執(zhí)行器評(píng)價(jià)器模式相結(jié)合。本文的模型針對(duì)研究執(zhí)行器,添加了一個(gè)具有三層全連接網(wǎng)絡(luò)的評(píng)價(jià)器。

圖2 結(jié)合執(zhí)行器評(píng)價(jià)器框架的AICNet模型圖
整體計(jì)算過程如算法1所示。
算法1.AICNet計(jì)算過程。
① 初始化經(jīng)驗(yàn)回放池R的容量;
② 初始化評(píng)價(jià)器網(wǎng)絡(luò)和執(zhí)行器網(wǎng)絡(luò)Q(o,a|θQ),u(o|θu)以及其權(quán)重θQ,θu;
③初始化目標(biāo)評(píng)價(jià)器網(wǎng)絡(luò)和目標(biāo)執(zhí)行器網(wǎng)絡(luò)Q′,u′以及其權(quán)重θQ′←θQ,θu′←θu;
④ 初始化獎(jiǎng)勵(lì)折扣因子γ,目標(biāo)網(wǎng)絡(luò)更新參數(shù)τ;
⑤for(episode=1)do
⑥ 隨機(jī)初始化動(dòng)作at進(jìn)行探索;
⑦ 得到全局觀測(cè)值ot;
⑧fort=1,Tdo

⑩ End for

ω=?aQ(o,a|θQ)|o=oi,a=u(oi),u(oi);
θQ′←τθQ+(1-τ)θQ′,
θu′←τθu+(1-τ)θu′;
此節(jié)介紹AICNet的第一個(gè)模塊:注意力模塊。注意力模塊采用軟注意力機(jī)制[13],學(xué)習(xí)當(dāng)前智能體對(duì)于其智能體的交互影響,并更新特征向量,之后將更新后的特征向量輸入到通信模塊中。


圖3 注意力模塊概述圖

圖4 通信模塊概述圖

(1)

關(guān)系權(quán)重wi,j決定了智體i和j之間關(guān)系的重要性。對(duì)于當(dāng)前智能體i,軟注意力權(quán)重wi,j計(jì)算如下

(2)

(3)
其中,wk將ej轉(zhuǎn)換為key,wq將ei轉(zhuǎn)換為query。最后,軟注意力權(quán)重值wi,j代表智能體之間的關(guān)系權(quán)重。這樣一來,影響值bi通過DNN從其智能體獲得。這里使用一個(gè)簡(jiǎn)單的方法來計(jì)算,即其智能體對(duì)當(dāng)前智能體的影響的加權(quán)和

(4)

為了方便起見,本文給出了一個(gè)帶有兩個(gè)智能體的示例。
此節(jié)介紹基于CommNet[3]的通信模塊的結(jié)構(gòu),如圖5所示,計(jì)算順序?yàn)閺南碌缴稀K怯糜诰酆贤ㄐ挪僮鞯哪K。所有智能體(作為一個(gè)整體)的特征輸入映射到相應(yīng)智能體的動(dòng)作權(quán)重的輸出,它們各占據(jù)一個(gè)子集的單位。省去了為每一個(gè)智能體配備復(fù)雜網(wǎng)絡(luò)帶來的計(jì)算負(fù)擔(dān),同時(shí)根據(jù)注意力模塊的權(quán)重計(jì)算可實(shí)時(shí)跟進(jìn)通信信息。

圖5 多智能體粒子實(shí)驗(yàn)環(huán)境


(5)

(6)
其中,ci是ith智能體的通信向量,C是用于將特征向量轉(zhuǎn)換為通信張量的線性變換矩陣。通過線性變化,獲得當(dāng)前智能體i與其智能體j通信的掩碼。掩碼將保護(hù)智能體i的當(dāng)前位置,其位置的值將進(jìn)行非線性加權(quán)。
在聚合通信操作之后,ci和hp+2被輸入到GRU模塊進(jìn)行信息權(quán)衡操作并丟棄冗余信息。最后,最終的hp+3被線性解碼并作為動(dòng)作選擇的權(quán)重輸出。
本文采用多智能體粒子模擬環(huán)境[7],它由存在于連續(xù)空間、離散時(shí)間的二維世界中的N個(gè)智能體和L個(gè)地標(biāo)組成。實(shí)驗(yàn)包含混合合作競(jìng)爭(zhēng)環(huán)境(智能體有相互沖突的目標(biāo))Predator-Prey和合作環(huán)境(所有智能體必須最大限度地共享獎(jiǎng)勵(lì))CooperationNavigation。所對(duì)比的算法是MADDPG[7]、MAAC[8]、CommNet[3]、BICNet[4]、G2ANet[6]、IC3Net[5]和ATOC[9]。
Predator-Prey。如圖6(a)所示, N個(gè)較慢的合作智能體(捕食者)必須在隨機(jī)生成的環(huán)境中追逐較快的智能體(獵物),獵物可在L個(gè)障礙物后躲藏。獵物已使用DDPG算法訓(xùn)練完成,任務(wù)是訓(xùn)練捕食者進(jìn)行合作捕捉。捕食者在捕獲一個(gè)獵物時(shí)可以得到+10的獎(jiǎng)勵(lì),且們會(huì)因?yàn)榕c同類的碰撞而受到懲罰,最嚴(yán)重的懲罰可以達(dá)到-10。

圖6 Predator-Prey環(huán)境下的訓(xùn)練平均報(bào)酬曲線
該環(huán)境分為簡(jiǎn)單模式和困難模式。兩種模式的相同設(shè)置如下:共訓(xùn)練了25000個(gè)回合,每回合包含25個(gè)時(shí)間步。訓(xùn)練模型直到收斂,每次訓(xùn)練超過1000個(gè)時(shí)間步(即40個(gè)回合)的時(shí)候評(píng)估它10個(gè)回合的平均獎(jiǎng)勵(lì)值。不同的設(shè)置如下:簡(jiǎn)單模式有Na=3和Ng=1。困難模式有Na=5和Ng=2,其中Na是捕食者的數(shù)量,Ng是獵物的數(shù)量。
CooperationNavigation。如圖6(b)所示,該任務(wù)由N個(gè)協(xié)作智能體組成,這些協(xié)作智能體被放置在具有不同顏色的L個(gè)地標(biāo)的環(huán)境中。智能體必須進(jìn)行合作,到達(dá)相應(yīng)目標(biāo)的L地標(biāo)。此外,智能體相互碰撞時(shí)將受到懲罰,因此需要學(xué)會(huì)推斷必須覆蓋哪些地標(biāo),并在避開其智能體的同時(shí)移動(dòng)到相應(yīng)位置。
在這個(gè)環(huán)境的簡(jiǎn)單和困難的模式下訓(xùn)練了10000個(gè)回合。簡(jiǎn)單模式的設(shè)置是N=2和L=3,其中N是智能體的數(shù)量,L是智能體需要到達(dá)的地標(biāo)的數(shù)量。與簡(jiǎn)單模式不同,困難模式下的智能體和地標(biāo)數(shù)量增加,N=4和L=5。除上述設(shè)置外,測(cè)試設(shè)置中其相關(guān)設(shè)置與上述混合環(huán)境是一致的。在上述兩種環(huán)境下,以算法的收斂速度和測(cè)試的平均獎(jiǎng)勵(lì)值作為評(píng)價(jià)指標(biāo)。參數(shù)設(shè)置如表1所示。

表1 參數(shù)設(shè)置
在Predator-Prey環(huán)境下,訓(xùn)練直至擬合后的八個(gè)算法的平均獎(jiǎng)勵(lì)如圖6所示。可見,經(jīng)過24000個(gè)回合的訓(xùn)練,AICNet在平均獎(jiǎng)勵(lì)方面優(yōu)于所有對(duì)比算法。在簡(jiǎn)單模式下訓(xùn)練時(shí),經(jīng)過訓(xùn)練,AICNet、MADDPG、CommNet以及IC3Net逐漸各自收斂到較優(yōu)水平。
困難模式的平均獎(jiǎng)勵(lì)如圖6右部分所示。可以看出,有些算法不能適應(yīng)智能體數(shù)量的增加。例如,G2ANet在困難模式的表現(xiàn)比在簡(jiǎn)單模式的性能相對(duì)下降。本文認(rèn)為是G2ANet的硬注意力機(jī)制不能及時(shí)進(jìn)行反向傳播。雖然單一的目標(biāo)和增加的智能體數(shù)量給多智能體訓(xùn)練帶來困難,但是AICNet和一些算法(MADDPG、CommNet和IC3Net)可以適應(yīng)這樣的環(huán)境,其中AICNet平均獎(jiǎng)勵(lì)高于其算法。
為了更清晰地展示AICNet中注意力模塊對(duì)智能體之間交互影響學(xué)習(xí)的作用,在Predator-Prey困難模式訓(xùn)練后期截取了某一步的環(huán)境渲染圖像。如圖7所示,可以發(fā)現(xiàn)五個(gè)捕食者自動(dòng)分成兩組。每個(gè)捕食者只需對(duì)同一組中的捕食者多加關(guān)注,就可以有效地避免干擾。與圖7相對(duì)應(yīng)的,圖8描述了當(dāng)前場(chǎng)景下的注意力權(quán)重分布。圖8(a)是智能體1對(duì)其智能體的注意力權(quán)重,顯然,對(duì)于智能體1來說,同一組中的智能體2和智能體3之間的交互影響比較大,因?yàn)樵谶@一步的目標(biāo)是相同的,距離也較近。如圖8(b)所示,智能體4與智能體5的交互多于其智能體。可以看出,AICNet能夠模擬各階段智能體之間的博弈關(guān)系,避免不相關(guān)智能體的干擾。基于以上在合作競(jìng)爭(zhēng)環(huán)境下的實(shí)驗(yàn),可以得出結(jié)論,所提出的模型有助于提高完成混合環(huán)境任務(wù)的效率。

圖7 Predator-Prey環(huán)境的困難模式渲染圖

圖8 Predator-Prey環(huán)境的困難模式注意力渲染圖
圖中每個(gè)智能體都表現(xiàn)出非常清晰的目的方向性。
圖9顯示了訓(xùn)練收斂后CooperativeNavigation中簡(jiǎn)單和困難模式測(cè)試的平均獎(jiǎng)勵(lì)值。在簡(jiǎn)單模式下,大多數(shù)算法的性能相似,這說明智能體數(shù)量較少的環(huán)境對(duì)算法的要求并不嚴(yán)格。在簡(jiǎn)單模式下,除了AICNet外,采用聚合通信網(wǎng)絡(luò)的CommNet和G2ANet的表現(xiàn)也不錯(cuò),這表示在具有通信特性的環(huán)境中,聚合網(wǎng)絡(luò)的算法更為適合。圖中右邊的困難模式AICNet的獎(jiǎng)勵(lì)依然比其算法高。與簡(jiǎn)單模式相比,G2ANet和BICNet的效率較其算法有所下降,由此可見大規(guī)模智能體環(huán)境的訓(xùn)練增加了難度。具有統(tǒng)一通信網(wǎng)絡(luò)的CommNet具有很好的的性能保持能力,但其效率仍不如實(shí)時(shí)關(guān)注智能體之間關(guān)系的AICNet。

圖9 Cooperative Navigation環(huán)境的實(shí)驗(yàn)結(jié)果
為了評(píng)估算法的效率,給出了每個(gè)算法實(shí)現(xiàn)收斂所需的訓(xùn)練回合數(shù),如表2所示。這里的收斂意味著智能體可以在有限的步驟內(nèi)完成任務(wù)。可以看出,AICNet的性能優(yōu)于其的算法,即智能體之間不同的通信組合使得AICNet的收斂速度更快。隨著智能體數(shù)量的增加,AICNet仍能保持良好的訓(xùn)練穩(wěn)定性。也可以看出,當(dāng)智能體數(shù)量增加時(shí),使用聚合通信網(wǎng)絡(luò)的算法收斂所需次數(shù)的增長(zhǎng)量普遍低于松散耦合的算法。除此之外,結(jié)合了注意力以及統(tǒng)一通信規(guī)則的IC3Net表現(xiàn)也十分優(yōu)秀,這說明在具備通信模式的環(huán)境下,統(tǒng)一通信模式的方法可以快速適應(yīng)環(huán)境。MADDPG的訓(xùn)練速率隨著N和L的數(shù)量增加而降低。本文分析因?yàn)镸ADDPG中的每個(gè)智能體都有一個(gè)網(wǎng)絡(luò),需要更多的計(jì)算和通信步驟。因此,當(dāng)智能體數(shù)較大時(shí),統(tǒng)一的策略網(wǎng)絡(luò)計(jì)算更有利于提高訓(xùn)練效率。

表2 訓(xùn)練到收斂的平均回合數(shù)
為了便于閱讀,本文在原始獎(jiǎng)勵(lì)的基礎(chǔ)上加了100(因?yàn)樵吉?jiǎng)勵(lì)是負(fù)數(shù))
本文提出了一種新的策略網(wǎng)絡(luò)AICNet,它根據(jù)智能體之間的實(shí)時(shí)注意力和交互影響來調(diào)整通信模塊前的輸入,提高了聚合通信模塊的效率。在多智能體場(chǎng)景中,智能體之間的關(guān)系在不同時(shí)間段發(fā)生變化,所提出的AICNet具備適應(yīng)性和動(dòng)態(tài)注意力。
未來工作改進(jìn)。AICNet將重點(diǎn)放在通信模塊的輸入部分,因此,更先進(jìn)的消息處理機(jī)制設(shè)計(jì)是今后改進(jìn)的方向。例如,可以應(yīng)用多頭注意力機(jī)制或圖注意力機(jī)制[15]來聯(lián)合處理來自不同相關(guān)智能體和不同消息表示子空間的通信消息。