OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

机器之心發表於2019-09-18

經歷了圍棋、星際爭霸、Dota、撲克、麻將……強化學習似乎正在挑戰難度越來越高的人類遊戲。但 OpenAI 近日的一份研究似乎打破了這種刻板印象,讓 AI 玩起了捉迷藏。在訓練了 3.8 億輪之後,AI 學會了各種圍追堵截和反圍追堵截的套路,而且有些套路還是研究者始料未及的操作。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

為了進行這個捉迷藏遊戲,OpenAI 首先構建了一個包含牆、盒子和斜坡的 3D 環境。在這個環境中,智慧體以團隊為單位進行捉迷藏遊戲。

隱藏方(藍色小人)的任務是躲避搜尋方(紅色小人)的視線,而搜尋方的任務是緊緊追逐隱藏方。

環境中不僅散佈著隱藏方和搜尋方可以適時抓取和鎖定的目標,而且還有智慧體必須學習操控的隨機生成的固定房間和牆壁。

在捉迷藏遊戲開始前,隱藏方(藍)會進入準備階段,這時搜尋方(紅)固定不動,給隱藏方逃跑或改變環境的機會。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

在隱藏方藏好之前,搜尋方處於鎖定狀態。

在這個遊戲中,贏得遊戲的隱藏方和搜尋方都會獲得獎勵,因此他們要不斷更新自己的策略。

當然,這種獎勵是以團隊為單位的。如果所有隱藏方成功隱藏,則獎勵+1;相反,如果任何隱藏方被搜尋方發現,則獎勵-1。搜尋方的獎勵方式恰恰相反,即如果所有隱藏方成功隱藏,則獎勵-1;如果任何隱藏方被發現,則獎勵+1。

遊戲中智慧體的行為需要控制在合理的空間,如果超出遊戲區域,則會受到懲罰。在準備階段,所有智慧體的獎勵為零。

在經過了多輪訓練之後,智慧體學會了 6 種策略:1)奔跑和追逐;2)隱藏方學會移動磚塊構建堡壘;3)搜尋方學會移動斜坡以跳進隱藏方的堡壘;4)隱藏方學會將所有的斜坡搬進自己的堡壘;5)搜尋方學會跳到盒子上滑行,進而跳到隱藏方的堡壘;6)隱藏方學會將所有的盒子鎖定在適當的位置,以防被搜尋方利用。

其中,後兩種策略是研究者始料未及的操作。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

搜尋方學會移動斜坡以跳進隱藏方的堡壘。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

隱藏方學會將所有的斜坡搬進自己的堡壘。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

搜尋方學會跳到盒子上滑行,進而跳進隱藏方的堡壘。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

隱藏方學會將所有的盒子鎖定在適當的位置,以防被搜尋方利用。

雖然遊戲環境非常簡單,但這一過程中智慧體以自監督方式學到的策略複雜度逐漸升高,表明多智慧體互適應有朝一日可能會產生極其複雜和智慧的行為。

為什麼要用捉迷藏遊戲訓練智慧體

為了進一步瞭解 OpenAI 這一研究背後的意義及動機,機器之心對研究者進行了採訪。在談到為何選擇捉迷藏遊戲訓練智慧體時,OpenAI 的研究者表示,因為這個遊戲規則比較簡單。

從生物進化的角度來看,人類是一個可以不斷適應新環境的物種,但人工智慧卻沒有這種特性。近年來機器學習在圍棋以及 Dota 2 等複雜的遊戲中取得了顯著進步,但這些特定領域的技能並不一定適應現實場景中的實際應用。因此,越來越多的研究者希望構建在行為、學習和進化方面更類人的機器智慧。

由於捉迷藏遊戲中的目標相對簡單,多個智慧體通過競爭性的自我博弈進行訓練,學習如何使用工具並使用類人技能取得勝利。研究者觀察到,智慧體在簡單的捉迷藏遊戲中能夠實現越來越複雜的工具使用。在這種簡單環境中以自監督方式學到的複雜策略進一步表明,多智慧體協同適應將來有一天可能生成極度複雜和智慧的行為。OpenAI 相信,這一研究會成為一個智慧體開發和部署的非常有前景的方向。

文章的作者之一、OpenAI 研究員 Yi Wu 告訴機器之心,「社群的研究真的需要優質和有趣的環境,這一環境比 2D 粒子世界複雜一點,但又不至於像星際爭霸那麼複雜。」

OpenAI 正在開源他們的程式碼和環境,以鼓勵這一領域的進一步研究。

  • 論文連結:https://d4mucfpksywv.cloudfront.net/emergent-tool-use/paper/Multi_Agent_Emergence_2019.pdf

  • 環境:https://github.com/openai/multi-agent-emergence-environments

如何訓練捉迷藏智慧體

在此研究中,研究者使用了和 OpenAI Five、Dactyl 相同的培訓基礎架構和演算法。但是,在該環境中,每個智慧體都使用自己觀察和隱藏的記憶狀態獨立行動。智慧體使用以實體為中心的、基於狀態的世界表徵,也就是對其他目標和智慧體是排列不變的。

在該研究中,嵌入的每個目標被傳遞通過一個 mask 殘差自注意塊,這類似於 Transformer,其中的注意力集中在目標上而不是時間上。不在視線內以及在智慧體前面的目標被 mask 掉,以使得智慧體沒有它們的資訊。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

智慧體策略架構

然後,通過自我博弈和臨近策略優化(Proximal Policy Optimization (https://openai.com/blog/openai-baselines-ppo/))訓練智慧體策略。在優化期間,智慧體可以在價值函式中使用有關被遮擋目標和其他智慧體的特權資訊。

研究者發現,大規模訓練對於各個階段的智慧體學到何種策略來說至關重要。下圖展示了智慧體在各種 batch 大小情況下,學會第 4 種策略(將斜坡搬進自己的堡壘)所需的 episode 和時間。他們發現,增加 batch 大小可以大大提升收斂速度,然而當 batch 大小為 32k 或更高時,取樣效率不會受到影響。但是,他們還發現,在指定的 episode 數量下,batch 大小為 8k 和 16k 時,智慧體從未學會第 4 種策略。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

增加 batch 大小加速收斂。注意:作者給出的是在反向傳播中使用轉換連續塊的數量的 batch 大小,每個包含 10 個轉換,也就是圖中 64k batch 實際上包含 640k 個轉換。

多智慧體競爭 VS 內在動機(intrinsic innovation)

在此項研究中,研究者證明了智慧體可以在捉迷藏遊戲中通過自監督 autocurriculum 學習複雜的策略和反策略。另一種以無監督方式學習技能的方法是內在動機,它激勵智慧體通過模型誤差或狀態計數等各種度量進行探索。研究者在構建的環境中進行了基於計數的探索,其中智慧體對它們訪問的狀態進行明確計數,並在激勵下前往很少訪問的狀態。

在當前設定下進行調整的主要建模選擇是狀態表徵,比如在首個基線中,狀態中只包含 2D 盒子位置,這樣智慧體在激勵下與盒子進行互動並且將盒子推到新的位置。然後,研究者與基於計數的策略進行比較,這種基於計數的策略獲取捉迷藏遊戲中智慧體獲得的完整狀態。

可以看出,在捉迷藏遊戲中進行訓練的智慧體本質上是圍繞人類可解釋性更強的行為,如搭建堡壘等。但是,接受內在激勵訓練的智慧體卻似乎以一種無明確方向的方式移動物體。此外,隨著狀態空間複雜度的增加,研究者發現內在獎勵方法與環境中物體的有意義互動越來越少。因此,研究者相信,隨著環境大小和複雜度的增加,多智慧體競爭將會是一種更加可擴充套件的類人技能無監督生成方法。

在評估中加入遷移和微調

在上文中,研究者對捉迷藏遊戲中學習的行為與利用內在動機學習的行為進行了定性對比。但是,隨著環境規模的擴大,對遊戲程式展開定性衡量也變得越來越困難。在多智慧體設定中追蹤獎勵作為評價指標是不夠的,因為這項指標無法確切地說明智慧體在均衡改進還是陷入了停滯。

ELO 或 Tureskill 等度量指標能夠更可靠地衡量效能相較於之前的策略版本或其他策略是否實現了提升。但是,這些度量指標依然無法揭示效能的提升是得益於新的適應性還是之前學到的技能。最後,使用目標運動等特定環境下的統計資料也具有不確定性(比如,追蹤絕對運動並不能明確指出智慧體的運動方向),並且設計充分的度量指標將隨著環境的擴大而變得更加困難,花費也更大。

研究者建議使用一套特定領域的智慧測試,其目的在於衡量智慧體最終可能獲得的能力。遷移效能在這些設定中充當質量或技能表徵的定量度量,並且研究者將遷移效能與基於計數探索的預訓練和從頭訓練的基線進行比較。

儘管捉迷藏智慧體在很多遷移任務上表現的更好,但效能或收斂時間並沒有顯著提升。通過觀察智慧體在捉迷藏遊戲中的表現,研究者知道它們具有準確移動物體和搭建堡壘的潛能。但在接受少樣本訓練時,智慧體並不能在其他場景中利用這種能力。

研究者認為,混合遷移結果的原因在於智慧體學習的技能表徵是混亂且難以微調的。隨著未來環境變得更加多樣化以及智慧體必須在更多場景下使用技能,他們相信將來會基於這種評價方法出現更泛化的技能表徵和更有效的訊號。此外,研究者還開源了評估任務,用來評估捉迷藏環境中的學習程式。

出乎意料的行為

研究者已經證明,智慧體能夠在高保真物理模擬器中學習使用複雜工具,但在這一過程中,它們也吸取了一些教訓。構建環境非常不容易,而且智慧體經常以一種人類始料未及的方式探索環境:

  • 藉助盒子滑行:由於智慧體可以通過自己施力來移動,他們可以抓住一個盒子並站在盒子上滑行至隱藏者的位置;

  • 不停地奔跑:在不給離開遊戲區域的智慧體新增任何額外獎勵的情況下,在極少數情況下,隱藏著會學習待著一個盒子不停地奔跑;

  • 利用斜坡(隱藏方):強化學習非常擅長利用一些小的技巧。隱藏方發現,如果它們把坡道推到牆腳處,坡道會莫名穿過牆壁然後消失;

  • 利用斜坡(搜尋方):搜尋方發現,如果它們在有斜坡的牆上以正確的角度奔跑,則能飛起來。

OpenAI智慧體上演捉迷藏攻防大戰,自創套路與反套路

研究者表示,這些「作弊行為」揭示了演算法安全性在機器學習中的重要作用。「在問題出現之前你是預料不到的。這類系統總是存在缺陷。」「我們能做的基本就是觀察,並將策略視覺化,這樣我們就會看到奇怪的事情發生。然後我們再嘗試修復這些物理問題。」

當然,這些意料之外的策略也讓我們看到了解決問題的其他思路。「如果你將這些智慧體放進一個足夠豐富的環境中,而它們又表現出了人類未知的策略,也許它們能為我們提供新的解決方案,」論文作者說道。

微軟 AI 研究員 Katja Hofman 表示,「我發現遊戲或類似遊戲中的這種設定是探索一個安全環境中現有方法能力和侷限性的一種極好方式。這些結果可以幫助我們更好地理解如何驗證和除錯機器學習系統,這是通往現實世界應用的關鍵一步。」

參考連結:

https://openai.com/blog/emergent-tool-use/
https://spectrum.ieee.org/tech-talk/robotics/artificial-intelligence/ai-agents-startle-researchers-with-unexpected-strategies-in-hideandseek

https://syncedreview.com/2019/09/17/why-playing-hide-and-seek-could-lead-ai-to-humanlike-intelligence/

相關文章