AI也玩捉迷藏!?
撰文/陳儁翰
模擬生物的演化
一個能與物理世界中的物件互動、替代人類完成多樣且複雜任務的智慧體,一直是強化學習的方向之一。然而單智慧體的強化學習設定,除了設計出合適的「獎勵函數」(reward function)需要投入大量時間與人力外,過於單一、理想化的模擬環境,也與現實世界脫節。一種解決方案,是營造多智慧體的訓練環境,模擬地球生物彼此競爭、合作、偕同演化的過程,透過主動學習與探索(Autocurricula),智慧體們得以積極利用環境優勢、開發新技能,並相互反制。
上圖,是OpenAI團隊所搭建的模擬環境。透過多個獵人(紅色人形)與獵物(藍色人形)間類似捉迷藏的遊戲,訓練智慧體們善用空間中的各種物件(例如推動空間中的箱子),並發展出合作或競爭的關係來達到目標(例如獵人合作捕捉獵物,或獵物間相互掩護)。
模擬一開始,智慧體只會在空間中隨意走動;在遊戲進行了269萬回合後,智慧體學會了簡單的追逐與逃跑;862萬回合後,獵物學會可以用箱子將入口封住,在右下角的小房間中躲過獵人的追捕;但在1450萬回合後,獵人竟也學會了反制,將斜坡抵住牆壁爬進獵物所在的空間。然而,獵物最後又占了上風,學會利用獵人在每回遊戲開始時會有數秒的時間無法動彈,將斜坡先拖進小房間內,再用箱子封住房間的出入口,使得獵人毫無接觸到斜坡的機會。
這樣的過程展示了智慧體能透過不斷的嘗試與學習,從零開始發展出複雜的競爭或合作策略,而且不需要人為介入。隨著訓練次數增加,智慧體對環境的掌握愈趨純熟,所表現的行為也越來越複雜。
投機取巧
經過演化算法或是強化學習訓練出的智慧體,有時候則會表現出超乎想像卻又非常有效率的投機行為。以上述捉迷藏的環境來說,智慧體學會利用環境設定上的漏洞,類似玩家濫用遊戲裡的bug以達到目的。例如:獵人騰空飛起直接飛進被獵物封住出入口的小房間內;或獵物以同樣的方式將斜坡擠出場外,使獵人無法利用斜坡進入小房間。另外,獵人也發現自己可以站在箱子上移動,以「衝浪」的方式進入獵物的藏身之處。
電競成就
OpenAI這次捉迷藏使用的模型為OpenAI Five,事實上早已有登場的記錄。還記得人類與OpenAI在電玩遊戲Dota上的人機大戰嗎?
Dota是一個5對5的遊戲,每位玩家操控一隻英雄,要盡量在地圖上擊殺對手或取得資源,過程中持續擊破對方的防禦塔,最終攻破對方主堡的遊戲。電腦使用5個控制器來控制5個英雄,也就是說5個智慧體必須有良好的合作默契,才能打敗人類玩家所組成的戰隊。
當時OpenAI使用了叫做OpenAI Five的模型,模型主要有幾個特色:第一,模型的輸入使用了大量的特徵工程,選取適當的特徵,例如英雄的血量、技能狀態、魔力、位置等資訊;第二,引入了自然語言裡的LSTM。LSTM的特性是能夠處理帶有時序性的資料,而遊戲的進行本身就是有時序性的;第三,對於數量不一定的小兵與敵人,模型使用了max pooling進行合併。
強化學習的獎勵也依據不同的訓練階段給予調整:在訓練的初期強調每個控制器的個別表現,使電腦能快速的上手遊戲;等到電腦有一定的控制能力以後,開始強調多智慧體間的合作,共同達成獲得最終勝利的目標。藉由數以萬計的CPU進行多次的訓練,僅僅結合強化學習裡經典而有效的算法,依然能突破多智慧體訓練上的困難。
延伸閱讀:〈遊戲AI不是只會玩遊戲〉、〈AI化身電競選手,展現團隊合作默契〉
參考資料
- B. Baker, I. Kanitscheider, T. Markov, Y. Wu, G. Powell, B. McGrew, and I. Mordatch, “Emergent Tool Use From Multi-Agent Autocurricula,” arXiv.org, 2019.
- L. Buşoniu, R. Babuska and B. De Schutter (2010). “Multi-agent reinforcement learning: An overview,” Chapter 7 in Innovations in Multi-Agent Systems and Applications – 1 (D. Srinivasan and L.C. Jain, eds.), vol. 310 of Studies in Computational Intelligence, Berlin, Germany: Springer, pp. 183–221.
(本文由教育部補助「AI報報─AI科普推廣計畫」執行團隊編譯)