閱讀726 返回首頁    go 阿裏雲 go 技術社區[雲棲]


以《星際爭霸》為例,阿裏多智能體協作網絡BiCNet展現人工集體智能無限潛力


image

阿裏巴巴認知計算實驗室與倫敦大學學院計算機係合作,以遊戲“星際爭霸1”(下簡稱“星際”)中的微觀戰鬥場景為測試環境,深入地研究了多個 AI 智能體之間的協作問題,旨在通過協作智能解決人類不擅長的問題。該研究引入的多智能體雙向協調網絡(BiCNet )可以自動學習各種最佳策略來使多個智能體協同作戰,從無碰撞移動到基本的攻擊和逃跑策略,再到複雜的掩護攻擊和集中火力攻擊。該研究所用的方法優於目前已有的最先進方法,多智能體協作完成複雜任務,顯示出了在現實世界中電商、遊戲、健康醫療等智能決策領域的廣泛應用前景。

image


這篇論文以星際作為測試場景,其任務是協調多個智能體作為一個團隊來打敗他們的敵人。為了保持可擴展但有效的通信協議,該研究引入了一個多智能體雙向協調網絡(BiCNet ['bIknet]),其具有 actor-critic 表達的向量化擴展。可以看出,在交戰雙方都有任意數量的 AI 智能體時,BiCNet 可以處理不同地形下的不同類型的戰鬥。分析表明,如果沒有任何諸如人類示範或標簽數據的監管,BiCNet 可以學習與經驗豐富的遊戲玩家相似的各種類型的合作策略。此外,BiCNet 很容易適應異構智能體的任務。在實驗中,研究者根據不同的場景、以多個基線為參照對方法進行了評估。它展示了最先進的性能,並且具有大規模現實世界應用的潛在價值。

協作智能是通用人工智能的基礎

過去十年 AI 領域取得了巨大進展。借助標簽數據監督,機器在一定程度上超過了人類的視覺認知和語音識別能力。同時,單個 AI 單元(又名智能體)在多項遊戲中擊敗了人類,包括 Atari 視頻遊戲、圍棋和德州撲克。

然而,真正的人類智慧包含社會和協作智能,這是實現通用人工智能(AGI)宏偉目標的基礎。集體的努力可以解決個體無法解決的問題。即使像螞蟻這樣弱小的個體,當其形成社會組織時,也可以完成例如獵食、修建一個王國甚至發動一場戰爭這樣有高度挑戰性的任務。

BiCNet自動學習多智能體協作的最佳策略

這篇論文利用即時策略遊戲星際爭霸1,研究了多個智能體之間協作行為的學習。研究特別聚焦在星際爭霸的微觀戰鬥場景上。每個玩家控製自己的單位(具有不同的功能,需要協作完成任務),在不同的地形條件下摧毀對手。

這種遊戲被認為是最難的遊戲之一,比圍棋的變化更多。大規模多智能體係統的學習麵臨的一個主要難點是,參數空間隨著參與其中的智能體數量的增加而呈指數級增長。因此,智能體的行為可能變得如此複雜,以致任何聯合學習者方法(joint learner method)都將無法處理遊戲中智能體數量的動態變化。

研究者讓多智能體把星際爭霸中的戰鬥任務當作零和隨機遊戲。智能體通過研究者提出的雙向協調網絡(BiCNet)互聯,而學習是使用多智能體 actor-critic 框架完成的。此外,論文還介紹了動態分組和參數共享的概念,以解決可擴展性問題。研究者在一係列不同難度等級的戰鬥任務中進行了實驗。通過對具有不同程度困難的一係列作戰任務進行測試,進行了實驗。該研究所用的方法優於目前已有的最先進方法,並顯示出了在現實世界的多智能體任務中廣泛的應用前景。

BiCNet的架構

星際爭霸中的戰鬥,也就是微觀管理任務,是指與敵方成員作戰時對軍隊進行的低級別、短時間的控製。研究者把它作為一個零和隨機遊戲(SG),即多個智能體參與的多狀態動態遊戲。

回報設計在多智能體學習合作或競爭行為的過程中非常重要。研究者將回報分為了全局回報(同一隊中的每個智能體分得同樣的回報)和個體回報。

研究者接下來介紹了兩個網絡的設計。對於每個智能體來說,它們的參數是共享的,這使得參數的數量獨立於智能體的數量。所產生的更緊湊的模型將能夠學習多個智能體所經曆的各種情況,從而加速學習過程。

為了在智能體之間進行有效的溝通,研究者通過采用雙向遞歸神經網絡(RNN)在內部層引入專門的雙向連接。

image
圖1 雙向協調網絡(BiCNet):(a)帶分組的多智能體策略網絡 (b)帶回報設計的多智能體Q值網絡

研究中引入的雙向協調網絡(BiCNet)的結構如圖1所示。它由策略網絡(actor)和Q值網絡(critic)組成,兩者均基於雙向RNN。策略網絡用於獨立智能體做出行動決策。因此,獨立智能體能夠保持自己的內部狀態,同時能夠與其他合作者共享信息。雙向遞歸機製不僅是智能體之間的交流手段,而且還作為本地記憶狀態。研究者進一步加強了actor的分組概念,這在社會行為中起著重要的作用。作為輸入,我們允許少量的智能體程序在進入遞歸層之前構建局部相關性。因此,該模型的表現要好得多。在實驗中,我們發現基於分組的actor有助於學習社會活動,如集中火力攻擊。 Q值網絡將策略網絡的狀態和行為作為輸入,向每個獨立智能體返回估算的本地Q值。然後組合本地Q值,提供全局回報的估計值。

協作策略的學習

無碰撞地協調移動

image
(a)訓練早期 (b)訓練早期 (c)訓練好後 (d)訓練好後
圖2 戰鬥中的協同移動 3 Marines (本方)vs 1 Super Zergling (敵人)

研究者觀察到,在學習的初始階段(如圖2(a)和(b)所示),多個智能體以相當不協同的方式移動,特別是當兩個智能體靠近彼此時,其中一個可能會無意中阻擋了另一個的路。而隨著訓練的增加,碰撞次數會急劇下降。最後,當訓練穩定後,協同的動作也會出現,如圖2中右圖所示。這種協同的動作也在圖6(a)和(b)中示出。

攻擊和逃跑策略

image
(a)被攻擊時逃跑(b)安全時反擊(c)再次逃跑 (d)再次反擊
圖3 戰鬥中的攻擊和逃跑策略 3 Marines (本方)vs 1 Zealot (敵人)

對於人類玩家來說,在星際爭霸戰鬥中一個常用的戰術是攻擊和逃跑,也就是在被攻擊時快速逃離,安全後進行反擊。我們發現BiCNet 迅速學會了攻擊和逃跑策略,無論是在單一智能體還是多智能體的環境中。圖3顯示了這一點。盡管攻擊和逃跑策略很簡單,它卻是各種高級、複雜的合作策略的基礎。

掩護進攻

掩護進攻是經常在現實戰場上使用的高級合作策略,其要義在於讓我方一個智能體吸引敵方的注意和火力,與此同時其他智能體乘機發動進攻。掩護進攻的操作難點在於如何將多智能體的移動轉換為協同序列式的攻擊和逃跑。如圖4和圖5所示。這一點BiCNet 掌握得很好。

image
(a)時間節點1 (b)時間節點2 (c)時間節點3 (d)時間節點4
圖4 戰鬥中的掩護進攻策略 4 Dragoons (本方)vs 2 Ultralisks (敵人)

在圖4的時間節點1中,BiCNet 控製著下麵的兩個 Dragoon 從敵方 Ultralisk 處逃離,這時右上角的一個智能體立刻開始攻擊 Ultralisk,以掩護 Dragoon。作為回應,敵方開始進攻上方的智能體(時間節點2).這時下麵的兩個Dragoon 開始反擊,來掩護上方的同伴。通過這樣連續不斷的循環掩護,Dragoon 隊保證了對敵人的持續打擊,同時將本方團隊損失降到了最小(因為敵人浪費了時間來定位不同的 Dragoon)。

image
(a)時間節點1 (b)時間節點2 (c)時間節點3 (d)時間節點4
圖5 戰鬥中的掩護進攻策略 3 Marines (本方)vs 1 Zergling (敵人)


在戰鬥“3 Marines vs. 1 Super Zergling”(如圖5)中,我們修正了敵人的數量,並通過改變攻擊得分和 Zergling 的損壞情況,來調整遊戲難度。

集中火力攻擊(但不在已死的目標上浪費子彈)

image
(a)時間節點1 (b)時間節點2 (c)時間節點3 (d)時間節點4
圖6 戰鬥中的集中火力攻擊策略 15 Marines (本方)vs 16 Marines (敵人)

隨著智能體數量的增加,如何高效配置進攻資源變得很重要。既不能漫無目的的攻擊所有敵人,也不能隻關注一個敵人。策略網絡中的分組設計在這一環節扮演著關鍵角色。在實驗中,研究者根據智能體的地理位置對智能體進行了動態分組。以此為基礎,BiCNet 獲得了多智能體的組內行為和組間行為數據。對於同一組的智能體來說,它們的行為連貫性好,並被期望能夠集中火力在一到兩個敵人身上;對於不同組的智能體來說,對它們的期望是將火力集中在不同的敵人身上。在圖6的“15 Marines vs. 16 Marines”戰鬥中,本方的戰鬥單位被粗略地劃分到三個組中。研究者發現智能體學習到了集中火力攻擊兩、三個敵人,而不同組的智能體能夠學到將陣型散開,以使火力形成網狀。即使本方戰鬥單位減少了,每一組仍然可以被動態指派,來確保有3-5個單位在集中火力攻擊同一個敵人。

異構智能體間的合作

image
(a)時間節點1 (b)時間節點2 圖7 戰鬥中的異構智能體合作策略 2 Dropships 和 2 Tanks (本方)vs 1 Ultralisk (敵人)

星際爭霸中,有10種智能體類型,每一個都有其獨特的功能、行動空間、優勢以及弱點。對於一場包含了多類型單位的戰鬥來說,研究者期待合作可以以各單位的特性為基礎來展開。實際上,通過將參數限製為隻可分享給同類型的單位,異構合作可以輕易地在研究者所提出的框架中實施。這篇論文研究了一個簡單的案例:兩艘 Dropship 和兩輛坦克協作對戰1個Ultralisk。Dropship 沒有進攻能力,但它最大可以在空中移動兩個地麵單位。如圖7所示,當 Ultralisk 進攻一輛坦克時,Dropship 護送坦克逃離了攻擊。與此同時,另一艘 Dropship 將一輛坦克卸載到地麵,對 Ultralisk 發起攻擊。Dropship 和坦克之間一直這樣合作,直到Ultralisk被摧毀。

性能表現對比


image
在十個機槍兵對陣十三個小狗任務中,小組人數對於勝率的影響


image
不同算法勝率曲線(10 槍兵 vs.13 小狗任務),CommNet是Facebook的相關算法,BiCNet 的表現最好


image
不同兵種對戰的表現對比。其中 M=機槍兵,Z=小狗,W=幽靈戰機。阿裏的算法CommNet表現最好。

小結

本文利用雙向神經網絡,介紹了一種新的深度多智能體加強學習框架。憑借構建一個向量化的 actor-critic 框架——其中每個維度對應於一個智能體——係統學會了合作。內部層中的雙向溝通實現了協調。通過端到端的學習,BiCNet 可以成功學到幾種有效的協調策略。研究實驗顯示了其合作能力和在星際爭霸中掌握各種戰鬥的能力。

在實驗中,研究者發現在特定的回報和學習策略這二者之間存在高度相關性,計劃在未來深入調查二者關係,並研究策略是如何通過智能體間的網絡溝通的。此外,當遊戲雙方都是深度多智能體模型時,探索一下它們之間的納什均衡也很有趣。
論文下載:https://arxiv.org/abs/1703.10069

GymStarcraft是阿裏巴巴最新開源的用於研究星際AI的工具,Github地址:https://github.com/alibaba/gym-starcraft


image

在Gym StarCraft中,AI和強化學習研究者可以非常方便地使用Python語言來進行深度強化學習智能Agent的開發,它底層完成了對TorchCraft和OpenAI Gym的封裝,支持基於TensorFlow和Keras等主流算法框架進行開發,僅需幾十行代碼即可完成一個基本的智能Agent的開發。同時,便於評測智能Agent的有效性,Gym StarCraft正在被集成在OpenAI Gym這一主流的強化學習AI評測平台中,支持世界各地的星際AI研究者基於它去進行公平、快捷的效果評估,為廣大開發者提供了一個人工智能的開放協作研究平台。對於強化學習的普及和推廣起著關鍵性作用。
.
原文鏈接

最後更新:2017-06-20 14:31:45

  上一篇:go  linux如何修改IP 默認網關 DNS
  下一篇:go  程序員專用表情包,拿走不謝!