近些年,多智能體強化學(xué)習(xí)(Multi-Agent Reinforcement Learning,MARL)取得了突破性進展,例如 DeepMind 開發(fā)的 AlphaStar 在星際爭霸 II 中打敗了職業(yè)星際玩家,超過了 99.8% 的人類玩家;OpenAI Five 在 DOTA2 中多次擊敗世界冠軍隊伍,是首個在電子競技比賽中擊敗冠軍的人工智能系統(tǒng);以及在仿真物理環(huán)境 hide-and-seek 中訓(xùn)練出像人一樣可以使用工具的智能體。我們提到的這些智能體大多是采用 on-policy 算法(例如 IMPALA[8])訓(xùn)練得到的,這就意味著需要很高的并行度和龐大的算力支持,例如 OpenAI Five 消耗了 12.8 萬塊 CPU 和 256 塊 P100 GPU 來收集數(shù)據(jù)樣本和訓(xùn)練網(wǎng)絡(luò)。
然而,大多數(shù)的學(xué)術(shù)機構(gòu)很難配備這個量級的計算資源。因此,MARL 領(lǐng)域幾乎已經(jīng)達成共識:與 on-policy 算法(例如 PPO[3])相比,在計算資源有限的情況下,off-policy 算法(例如 MADDPG[5],QMix[6])因其更高的采樣效率更適合用來訓(xùn)練智能體,并且也演化出一系列解決某些具體問題(domain-specific)的 SOTA 算法(例如 SAD[9],RODE[7])。
但是,來自清華大學(xué)與 UC 伯克利的研究者在一篇論文中針對這一傳統(tǒng)認(rèn)知提出了不同的觀點:MARL 算法需要綜合考慮數(shù)據(jù)樣本效率(sample efficiency)和算法運行效率(wall-clock runtime efficiency)。在有限計算資源的條件下,與 off-policy 算法相比,on-policy 算法 --MAPPO(Multi-Agent PPO)具有顯著高的算法運行效率和與之相當(dāng)(甚至更高)的數(shù)據(jù)樣本效率。有趣的是,研究者發(fā)現(xiàn)只需要對 MAPPO 進行極小的超參搜索,在不進行任何算法或者網(wǎng)絡(luò)架構(gòu)變動的情況下就可以取得與 SOTA 算法相當(dāng)?shù)男阅堋8M一步地,還貼心地給出了 5 條可以提升 MAPPO 性能的重要建議,并且開源了一套優(yōu)化后的 MARL 算法源碼(代碼地址:)。
所以,如果你的 MARL 算法一直不 work,不妨參考一下這項研究,有可能是你沒有用對算法;如果你專注于研究 MARL 算法,不妨嘗試將 MAPPO 作為 baseline,說不定可以提高任務(wù)基準(zhǔn);如果你處于 MARL 研究入門階段,這套源碼值得擁有,據(jù)說開發(fā)完備,簡單易上手。這篇論文由清華大學(xué)的汪玉、吳翼等人與 UC 伯克利的研究者合作完成。研究者后續(xù)會持續(xù)開源更多優(yōu)化后的算法及任務(wù)(倉庫指路:)
論文鏈接:
什么是 MAPPO
PPO(Proximal Policy Optimization)[4]是一個目前非常流行的單智能體強化學(xué)習(xí)算法,也是 OpenAI 在進行實驗時首選的算法,可見其適用性之廣。PPO 采用的是經(jīng)典的 actor-critic 架構(gòu)。其中,actor 網(wǎng)絡(luò),也稱之為 policy 網(wǎng)絡(luò),接收局部觀測(obs)并輸出動作(action);critic 網(wǎng)絡(luò),也稱之為 value 網(wǎng)絡(luò),接收狀態(tài)(state)輸出動作價值(value),用于評估 actor 網(wǎng)絡(luò)輸出動作的好壞。可以直觀理解為評委(critic)在給演員(actor)的表演(action)打分(value)。MAPPO(Multi-agent PPO)是 PPO 算法應(yīng)用于多智能體任務(wù)的變種,同樣采用 actor-critic 架構(gòu),不同之處在于此時 critic 學(xué)習(xí)的是一個中心價值函數(shù)(centralized value function),簡而言之,此時 critic 能夠觀測到全局信息(global state),包括其他 agent 的信息和環(huán)境的信息。
實驗環(huán)境
接下來介紹一下論文中的實驗環(huán)境。論文選擇了 3 個具有代表性的協(xié)作 Multi-agent 任務(wù),之所以選擇協(xié)作任務(wù)的一個重要原因是合作任務(wù)具有明確的評價指標(biāo),便于對不同的算法進行比較。
第一個環(huán)境是 OpenAI 開源的 Multi-agent Particle World(MPE)任務(wù)(源代碼指路:)[1],輕量級的環(huán)境和抽象多樣的任務(wù)設(shè)定使之成為快速驗證 MARL 算法的首選測試平臺。在 MPE 中有 3 個協(xié)作任務(wù),分別是 Spread,Comm 和 Reference,如圖 1 所示。
圖 1:MPE 環(huán)境中的 3 個子任務(wù):Spread,Comm 和 Reference
第二個環(huán)境是 MARL 領(lǐng)域著名的 StarCraftII(星際爭霸 II)任務(wù)(源代碼:),如圖 2 所示。這一任務(wù)最初由 M. Samvelyan 等人提出 [2],提供了 23 個實驗地圖,agent 數(shù)量從 2 到 27 不等,我方 agent 需要進行協(xié)作來打敗敵方 agent 以贏得游戲。自該任務(wù)發(fā)布以來,有很多研究人員針對其特點進行了算法研究,例如經(jīng)典算法 QMix[6] 以及最新發(fā)表的 RODE[7]等等。由于 StarCraftII 經(jīng)過了版本迭代,并且不同版本之間性能有差距,特別說明,這篇論文采用的是最新版本 SC2.4.10。
圖 2:StarCraftII 環(huán)境中的 2 個代表性地圖:Corridor 和 2c vs. 64zg
第三個環(huán)境是由 Nolan Bard 等人 [3] 在 2019 年提出的一個純協(xié)作任務(wù) Hanabi(源代碼:),Hanabi 是一個 turn-based 的紙牌類游戲,也就是每一輪只有一個玩家可以出牌,相較于之前的多智能體任務(wù),Hanabi 的一個重要特點是純合作,每個玩家需要對其他玩家的意圖進行推理,完成協(xié)作才能獲得分?jǐn)?shù),Hanabi 的玩家數(shù)可以是 2-5 個,圖 3 是 4 個玩家的任務(wù)示意圖,感興趣的讀者可以自己嘗試玩一下。
圖 3:4 個玩家的 Hanabi-Full 任務(wù)示意圖
實驗結(jié)果
首先來看一下論文給出的實驗結(jié)果,特別注意,論文所有的實驗都在一臺主機中完成,該主機的配置是 256 GB 內(nèi)存, 一塊 64 核 CPU 和一塊 GeForce RTX 3090 24GB 顯卡。另外,研究者表示,本文的所有的算法都進行了微調(diào)(fine-tune),所以本文中的復(fù)現(xiàn)的某些實驗結(jié)果會優(yōu)于原論文。
(1)MPE 環(huán)境
圖 4 展示了在 MPE 中不同算法的數(shù)據(jù)樣本效率和算法運行效率對比,其中 IPPO(Independent PPO)表示的是 critic 學(xué)習(xí)一個分布式的價值函數(shù)(decentralized value function),即 critic 與 actor 的輸入均為局部觀測,IPPO 和 MAPPO 超參保持一致;MADDPG[5]是 MARL 領(lǐng)域十分流行的 off-policy 算法,也是針對 MPE 開發(fā)的一個算法,QMix[6]是針對 StarCraftII 開發(fā)的 MARL 算法,也是 StarCraftII 中的常用 baseline。
從圖 4 可以看出與其他算法相比,MAPPO 不僅具有相當(dāng)?shù)臄?shù)據(jù)樣本效率和性能表現(xiàn)(performance)(圖(a)),同時還具有顯著高的算法運行效率(圖(b))。
圖 4:在 MPE 中不同算法的數(shù)據(jù)樣本效率和算法運行效率對比
(2)StarCraftII 環(huán)境
表 1 展示了 MAPPO 與 IPPO,QMix 以及針對 StarCraftII 的開發(fā)的 SOTA 算法 RODE 的勝率對比,在截斷至 10M 數(shù)據(jù)的情況下,MAPPO 在 19/23 個地圖的勝率都達到了 SOTA,除了 3s5z vs. 3s6z,其他地圖與 SOTA 算法的差距小于 5%,而 3s5z vs. 3s6z 在截斷至 10M 時并未完全收斂,如果截斷至 25M,則可以達到 91% 的勝率。
圖 5 表示在 StarCraftII 中不同算法的數(shù)據(jù)樣本效率和算法運行效率對比。可以看出 MAPPO 實際上與 QMix 和 RODE 具有相當(dāng)?shù)臄?shù)據(jù)樣本效率,以及更快的算法運行效率。由于在實際訓(xùn)練 StarCraftII 任務(wù)的時候僅采用 8 個并行環(huán)境,而在 MPE 任務(wù)中采用了 128 個并行環(huán)境,所以圖 5 的算法運行效率沒有圖 4 差距那么大,但是即便如此,依然可以看出 MAPPO 驚人的性能表現(xiàn)和運行效率。
表 1:不同算法在 StarCraftII 的 23 個地圖中的勝率對比,其中 cut 標(biāo)記表示將 MAPPO 和 QMix 截斷至與 RODE 相同的步數(shù),目的是為了與 SOTA 算法公平對比。
(3)Hanabi 環(huán)境
SAD 是針對 Hanabi 任務(wù)開發(fā)的一個 SOTA 算法,值得注意的是,SAD 的得分取自原論文,原作者跑了 13 個隨機種子,每個種子需要約 10B 數(shù)據(jù),而由于時間限制,MAPPO 只跑了 4 個隨機種子,每個種子約 7.2B 數(shù)據(jù)。從表 2 可以看出 MAPPO 依然可以達到與 SAD 相當(dāng)?shù)牡梅帧?/p>
表 2:MAPPO 和 SAD 在 2 個玩家的 Hanabi-Full 任務(wù)的得分對比。
5 條小建議
看完了論文給出的實驗結(jié)果,那么,回到最開始的問題,你用對 MAPPO 了嗎?
研究者發(fā)現(xiàn),即便多智能體任務(wù)與單智能體任務(wù)差別很大,但是之前在其他單智能體任務(wù)中的給出的 PPO 實現(xiàn)建議依然很有用,例如 input normalization,value clip,max gradient norm clip,orthogonal initialization,GAE normalization 等。但是除此之外,研究者額外給出了針對 MARL 領(lǐng)域以及其他易被忽視的因素的 5 條建議。
Value normalization: 研究者采用 PopArt 對 value 進行 normalization,并且指出使用 PopArt 有益無害。
Agent Specific Global State: 采用 agent-specific 的全局信息,避免全局信息遺漏以及維度過高。值得一提的是,研究者發(fā)現(xiàn) StarCraftII 中原有的全局信息存在信息遺漏,甚至其所包含的信息少于 agent 的局部觀測,這也是直接將 MAPPO 應(yīng)用在 StarCraftII 中性能表現(xiàn)不佳的重要原因。
Training Data Usage: 簡單任務(wù)中推薦使用 15 training epochs,而對于較難的任務(wù),嘗試 10 或者 5 training epochs。除此之外,盡量使用一整份的訓(xùn)練數(shù)據(jù),而不要切成很多小份(mini-batch)訓(xùn)練。
Action Masking: 在多智能體任務(wù)中經(jīng)常出現(xiàn) agent 無法執(zhí)行某些 action 的情況,建議無論前向執(zhí)行還是反向傳播時,都應(yīng)將這些無效動作屏蔽掉,使其不參與動作概率計算。
Death Masking: 在多智能體任務(wù)中,也經(jīng)常會出現(xiàn)某個 agent 或者某些 agents 中途死掉的情況(例如 StarCraftII)。當(dāng) agent 死亡后,僅保留其 agent id,將其他信息屏蔽能夠?qū)W得更加準(zhǔn)確的狀態(tài)價值函數(shù)。
更多的實驗細節(jié)和分析可以查看論文原文。
參考鏈接:
[1] Lowe, R., Wu, Y., Tamar, A., Harb, J., Abbeel, P., and Mor-datch, I. Multi-agent actor-critic for mixed cooperative-competitive environmen Information Process-ing Systems (NIPS), 2017.
[2] M. Samvelyan, T. Rashid, C. Schroeder de Witt, G. Farquhar, N. Nardelli, T.G.J. Rudner, C.-M. Hung, P.H.S. Torr, J. Foerster, S. Whiteson. The StarCraft Multi-Agent Challenge, CoRR ab, 2019.
[3] Bard, N., Foerster, J. N., Chandar, S., Burch, N., Lanctot,M., Song, H. F., Parisotto, E., Dumoulin, V., Moitra, S.,Hughes, E., et al. The Hanabi challenge: A new frontierfor AI re Intelligence, 280:103216, 2020.
[4] Schulman, J., Wolski, F., Dhariwal, P., Radford, A., andKlimov, O. Proximal policy optimization algori, ab, 2017.
[5] Lowe, R., Wu, Y., Tamar, A., Harb, J., Abbeel, P., and Mor-datch, I. Multi-agent actor-critic for mixed cooperative-competitive environmen Information Process-ing Systems (NIPS), 2017.
[6] Rashid, T., Samvelyan, M., Schroeder, C., Farquhar, G.,Foerster, J., and Whiteson, S. QMIX: Monotonic valuefunction factorisation for deep multi-agent reinforcementlearning. volume 80 ofProceedings of Machine LearningResearch, pp. 4295–4304. PMLR, 10–15 Jul 2018.
[7] Wang, T., Gupta, T., Mahajan, A., Peng, B., Whiteson, S.,and Zhang, C. RODE: Learning roles to decompose multi-agent tasks. InInternational Conference on LearningRepresentations, 2021.
[8] Espeholt, L., Soyer, H., Munos, R., Simonyan, K., Mnih, V., Ward, T., Doron, Y., Firoiu, V., Harley, T., Dunning,I., et al. Impala: Scalable distributed deep-rl with importance weighted actor-learner architectures. In International Conference on Machine Learning, pp. 1407–1416, 2018.
[9] Hu, H. and Foerster, J. N. Simplified action decoder for deep multi-agent reinforcement learning. In International Conference on Learning Representations, 2020.
1.《chabb,干貨看這篇!聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《chabb,干貨看這篇!聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/tiyu/2177051.html