自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎

新聞 機器學(xué)習(xí) 算法
清華和UC伯克利聯(lián)合研究發(fā)現(xiàn),在不進行任何算法或者網(wǎng)絡(luò)架構(gòu)變動的情況下,用 MAPPO(Multi-Agent PPO)在 3 個具有代表性的多智能體任務(wù)(Multi-Agent Particle World, StarCraftII, Hanabi)中取得了與 SOTA 算法相當(dāng)?shù)男阅堋?/div>

 清華和UC伯克利聯(lián)合研究發(fā)現(xiàn),在不進行任何算法或者網(wǎng)絡(luò)架構(gòu)變動的情況下,用 MAPPO(Multi-Agent PPO)在 3 個具有代表性的多智能體任務(wù)(Multi-Agent Particle World, StarCraftII, Hanabi)中取得了與 SOTA 算法相當(dāng)?shù)男阅堋?/p>

近些年,多智能體強化學(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)認知提出了不同的觀點: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ù)男阅?。更進一步地,還貼心地給出了 5 條可以提升 MAPPO 性能的重要建議,并且開源了一套優(yōu)化后的 MARL 算法源碼(代碼地址:
https://github.com/marlbenchmark/on-policy)。

所以,如果你的 MARL 算法一直不 work,不妨參考一下這項研究,有可能是你沒有用對算法;如果你專注于研究 MARL 算法,不妨嘗試將 MAPPO 作為 baseline,說不定可以提高任務(wù)基準(zhǔn);如果你處于 MARL 研究入門階段,這套源碼值得擁有,據(jù)說開發(fā)完備,簡單易上手。這篇論文由清華大學(xué)的汪玉、吳翼等人與 UC 伯克利的研究者合作完成。研究者后續(xù)會持續(xù)開源更多優(yōu)化后的算法及任務(wù)(倉庫指路:
https://github.com/marlbenchmark)

聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎

論文鏈接:
https://arxiv.org/abs/2103.01955

什么是 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ù)(源代碼指路:
https://github.com/openai/multiagent-particle-envs)[1],輕量級的環(huán)境和抽象多樣的任務(wù)設(shè)定使之成為快速驗證 MARL 算法的首選測試平臺。在 MPE 中有 3 個協(xié)作任務(wù),分別是 Spread,Comm 和 Reference,如圖 1 所示。

聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎

圖 1:MPE 環(huán)境中的 3 個子任務(wù):Spread,Comm 和 Reference

第二個環(huán)境是 MARL 領(lǐng)域著名的 StarCraftII(星際爭霸 II)任務(wù)(源代碼:
https://github.com/oxwhirl/smac),如圖 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。

[[385520]]

圖 2:StarCraftII 環(huán)境中的 2 個代表性地圖:Corridor 和 2c vs. 64zg

第三個環(huán)境是由 Nolan Bard 等人 [3] 在 2019 年提出的一個純協(xié)作任務(wù) Hanabi(源代碼:
https://github.com/deepmind/hanabi-learning-environment),Hanabi 是一個 turn-based 的紙牌類游戲,也就是每一輪只有一個玩家可以出牌,相較于之前的多智能體任務(wù),Hanabi 的一個重要特點是純合作,每個玩家需要對其他玩家的意圖進行推理,完成協(xié)作才能獲得分數(shù),Hanabi 的玩家數(shù)可以是 2-5 個,圖 3 是 4 個玩家的任務(wù)示意圖,感興趣的讀者可以自己嘗試玩一下。

聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎

圖 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))。

聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎

圖 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)和運行效率。

聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎

表 1:不同算法在 StarCraftII 的 23 個地圖中的勝率對比,其中 cut 標(biāo)記表示將 MAPPO 和 QMix 截斷至與 RODE 相同的步數(shù),目的是為了與 SOTA 算法公平對比。

聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎

(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>

聽說你的多智能體強化學(xué)習(xí)算法不work?你用對MAPPO了嗎

表 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é)和分析可以查看論文原文。

 

責(zé)任編輯:張燕妮 來源: 機器之心Pro
相關(guān)推薦

2023-08-28 06:52:29

2025-01-06 09:45:00

AI訓(xùn)練數(shù)據(jù)

2020-05-12 07:00:00

深度學(xué)習(xí)強化學(xué)習(xí)人工智能

2024-10-12 17:14:12

2017-07-13 10:03:43

優(yōu)化算法Adam深度學(xué)習(xí)

2020-11-04 10:28:48

機器人人工智能系統(tǒng)

2021-09-10 16:31:56

人工智能機器學(xué)習(xí)技術(shù)

2020-06-05 14:49:51

強化學(xué)習(xí)算法框架

2020-05-06 16:07:05

百度飛槳

2023-05-04 15:53:34

強化學(xué)習(xí)開發(fā)

2017-11-21 09:20:06

深度學(xué)習(xí)TensorFlow游戲AI

2021-07-22 15:25:14

開源技術(shù) 框架

2017-04-04 19:52:24

強化學(xué)習(xí)深度學(xué)習(xí)機器學(xué)習(xí)

2024-08-28 13:53:42

多代理強化學(xué)習(xí)機器人

2022-11-02 14:02:02

強化學(xué)習(xí)訓(xùn)練

2023-11-10 08:22:09

雪花算法生成算法分布式

2023-12-03 22:08:41

深度學(xué)習(xí)人工智能

2022-09-09 10:15:06

OAuthJava

2025-02-07 16:15:27

2019-09-29 10:42:02

人工智能機器學(xué)習(xí)技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號