圍棋之後是Starcraft:Multiagent Bidirectionally-Coordinated Nets for Learning to Play StarCraft Combat Games

不知道大家小時候有沒有玩過Starcraft呢?今天小編要介紹的是Alibaba與UCL合作的一篇Multi-Agent Reinforcement Learning的論文,而測試的環境就是打Starcraft!這個環境之所以有研究價值主要是希望AI也能跟人類一樣學會利用群體智慧跟彼此合作,而這也是走向通用AI的重要關鍵之一。事實上在Deepmind攻克圍棋這個遊戲之後,無論是Facebook、Deepmind,還有Alibaba都宣布將Starcraft當作下一個研究的主力。我們就先來看看這次UCL+Alibaba提出的BiCNet的實測影片吧:

從影片中我們可以看到透過BiCNet這個架構同時控制每一個士兵,並且自己揣摩出了各種戰術,像是能做到Hit and Run跟Focus Fire without Overkil (Figure 6) 這樣的神控兵,甚至是不同兵種(Heterogeneous Units)之間的配合,如運輸機搭坦克玩死雷獸 (Figure 7) 等等技巧,實在是讓控兵手殘的小編相當佩服啊...

而BiCNet這個架構最主要的創新之一是用上了Bi-directional RNN來當作Agent之間通訊溝通的管道。值得一提的是,加入這個RNN通訊的過程其實是有特定順序的,而透過這樣先來後到的規則,讓後面的去配合前面的人,其實是有助於解決彼此最佳行為打結 (Tie) 的情況。

在控制部分使用Actor-Critic的方法,而Reward則是根據「 (敵人受到的傷害) - (我方受到的傷害) 」來設計,雖然基本形式是所有Agent共用Global Reward,不過為了促進Local Collaboration,以及實務上傾向不要共用Reward,因此本篇改讓每個Agent擁有獨立的Reward,但會根據Top-K List來整合跟自己互動較密切的Agent的Reward進來。最後再用上分組 (Grouping) 的機制讓模型更容易學會Focus Fire這樣的戰術。整體架構可以參考下圖:

然而要同時操控這麼多Agent還有做學習,Scalability就變得相當重要,因此利用Sharing Parameters的形式鬆綁模型數量與Agent數目之間的關係,而不同Agent的經驗同時用一個模型做學習也能加速訓練的過程,再加上前述的分組機制也同時有助於Scalibility。然後當需要控制不同兵種的時候,變成限制只有相同兵種共用模型,如此就能達到異質合作的模式囉。

更多細節部分請參考下面的原文連結;另外附上作者訪問,有談到一些研究的心路歷程還挺有趣的:

(PS: 好懷念 "show me the money" 啊~XDD)

Share the joy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

近期文章

近期迴響

彙整

分類

其它

leoyang Written by:

Be First to Comment

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *