[Paper note] Multiagent Bidirectionally-Coordinated Nets for Learning to Play StarCraft Combat Games


Paper: https://arxiv.org/abs/1703.10069

這篇論文是由 Alibaba & UCL共同發表的,並投稿到 NIPS 2017。他們發表了一個 Multi-agent framework 讓 agents 利用共同的 framework 一起學習,他們將這個架構簡稱為 BiCNet。

Attribute of BiCNet

  • Vectorised Actor-Critic: vectorised 指的是一個 input 可以輸入多個 agents的資訊。
  • Deterministic Policy
  • Use bidirectional RNN as their actor network and critic network
  • Dynamic Grouping 機制
  • Shared Parameter among all agents
他們使用 BRNN 利用 hidden layer 來 Model agents 之間彼此溝通的行為,這是這篇論文的創新點之一。不過他們團隊並不知道為什麼這樣可行,而僅僅解決了 how 的問題,還不知道 why?

另外精彩的地方我覺得是數學的 Model,他們分為兩個視角來看 Starcraft Combat 問題:

  1. 將 Combat 看作 zero-sum stochastic games (recycle) 定義出整體 Combat 的 reward (隨 step 變化)
  2. Model agents 之間彼此合作緊密度,是否完成共同目標。利用 Top-K list 記錄和當下 agent 合作的其他 agents。在這裡我稱為一個小 group,後續對應的是 dynamic grouping。在這樣的情況下,他們會共享 reward,好像一個小隊生死與共一樣。
最後,他們利用這樣的 framework 學習到了各種互動的策略

  • Coordinated moves without collision
  • Hit and Run tactics
  • Coordinated cover attack
  • Focus fire without overkill
  • Collaborations between heterogeneous agents
雖然這篇論文有些地方寫的不是很清楚而且沒有上 NIPS,但是我覺得裡面有一些想法還是值得我們學習。像是它定義的 action 是針對一個 unit, per unit per agent 並且 action space 的表示法是連續的: [-1. ~ 1, -1. ~ 1., -1. ~ 1.] 對應到 [attack or move, degree, radius]

demo:

  1. youtube: https://www.youtube.com/watch?v=kW2q15MNFug
  2. 騰訊: https://v.qq.com/x/page/a0389j004kk.html
另外,如果你熟知日語的話,也可以看這份投影片: https://rl-tokyo.github.io/resource/20170719-ikki407.pdf

留言

  1. 延伸討論:

    在這個使用情境是 micromanagement。以 UAlbertaBot 來說,他們擁有多個比較 powerful 的 agent 一起合作。如果 BiCNet 可以用於 macromanagement,並且又能夠共用同一個 Value Network (Critic) 那將是非常強大!

    回覆刪除
  2. 補充: 他們投稿 NIPS 並沒有辦法審核通過,前陣子將 Paper 改為 2-column 的形式,並且新增了公式推導。看來是準備要投其他 Conference,可以留意一下!

    回覆刪除

張貼留言

這個網誌中的熱門文章

Vim 自動 補完 插件 YouCompleteMe 教學 心得 新手入門 C++ C

怎麼建立一個 Https server?

Build Starcraft Learning Environment (using TorchCraft) 中文教學