人類慘敗 OpenAI輕取Dota戰隊 AI何總是吊打游戲玩家
本文系網易智能工作室(公眾號smartman 163)出品。聚焦AI,讀懂下一個大時代!
在剛剛秀完可以像人手一樣抓取和操縱物體的Dactyl機械手系統之后,OpenAI迎來又一次令人矚目的人機大戰。
這是家在2015年由馬斯克等諸多硅谷大亨聯合建立的AI非營利組織,希望能夠預防人工智能的災難性影響,推動人工智能發揮積極作用,當然,他們還希望對標谷歌DeepMind。
?
北京時間今天凌晨,人類和OpenAI Five展開決戰,人類代表隊是由半職業Dota高手組成的戰隊,賽制為三局兩勝。
經過三輪的對決,高下立判而且毫無懸念,OpenAI Five輕松贏下頭兩盤,將人類虐的一點脾氣都沒有。
在第三輪,面對已經鎖定勝局的OpenAI Five,主辦方讓現場觀眾為OpenAI Five選擇英雄,AI陣容是小魚人、隱刺、斧王、 流浪、 痛苦之源;人類陣容是死亡先知、死靈法師、巫魔巫師、巫妖、直升機,最后,AI五個脆皮的弱勢陣容,讓人類戰隊稍稍挽回顏面。
最終,比分2:1,人類完敗。目前OpenAI Five的水平至少是6600以上。
談談為什么AI 研究人員如此著迷于游戲
Dota 2需要玩家有快速的反應能力以及對游戲的策略有全面的了解,最重要的是,需要團隊合作。該游戲是目前最賺錢的電子競技項目之一,今年規模最大的一項錦標賽獎金池已經超過2300萬美元。
研究人員的軟件要戰勝那些職業電競選手,難度不亞于讓一個機器人隔扣“籃球之神”邁克爾?喬丹(Michael Jordan)。
對于我們這些沒有博士學位的人來說,游戲是一種相對簡單的了解人工智能研究進展的方式:在復雜的環境中,人工智能能打敗人類嗎?我們理解IBM的DeepBlue在國際象棋比賽中擊敗大師級棋手加里?卡斯帕羅夫(Garry Kasparov)意味著什么,也知道谷歌DeepMind的AlphaGo在圍棋比賽中戰勝世界冠軍李世石(Lee Sedol)意味著什么――實踐和打磨技術數十載的人類敵不過機械性的計算系統。除了這些公開的比賽之外,人工智能研究人員數十年來一直在致力于打造比人類更會玩雅達利游戲、跳棋甚至《任天堂明星大亂斗》(Super Smash Bros)的人工智能系統。
并不是所有的關于玩電子游戲的AI的研究成果都適用于實驗室之外地方,但在競技場以外,OpenAI正在證明它專有的研究成果能夠被廣泛應用。舉一個例子:被用來參加Dota 2比賽的算法,也可以被教導如何移動機械手。
強化學習技術
最熱門的用來教導機器人玩游戲的方法之一,也就是OpenAI所使用的技術,名為強化學習,該技術的運作原理是:你給機器人一個目標,比如收集硬幣,當機器人完成目標時給予它獎勵。最初,機器人是任意行動的,直至它偶然地弄明白了該如何完成任務。機器人用來完成任務的動作被其系統認為是較好的方法,因而當下一次嘗試完成任務時,機器人更有可能繼續采用那些動作。經過成百上千甚至上百萬次的嘗試以后,策略就會形成。
例如,OpenAI玩Dota 2的機器人在兩周內與自己進行數百萬次的游戲對抗。在每一場比賽中,機器人的獎勵都從為自己獲得分數轉變成到增加整個團隊的分數。該研究小組稱這是“團隊精神”。
紐約大學人工智能教授朱利安?格里烏斯(Julian Togelius)告訴Quartz:游戲對于人工智能來說是一個很好的學習途徑,因為它們模擬現實世界,但帶有任務目標。
“現實世界沒有什么有趣的任務,”格里烏斯笑著說,“游戲則非常完美,它們會給你提供獎勵――不管你有沒有贏,不管你得到什么樣的分數,你都能得到獎勵。”游戲可以玩無數次――它們只是軟件,可以同時被成千上萬的機器人玩,如此一來就能成倍加快它們找到解決方案或策略的速度。
但這種方法的缺陷在于,機器人學習做什么完全取決于獎勵。算法對游戲的工作原理完全沒有概念,因此,如果游戲中存在漏洞或故障,機器人還是只會做最簡單的、會給它獎勵的事情。
今年早些時候,德國弗萊堡大學的研究人員在訓練強化學習算法來玩雅達利的游戲 Q*bert時發現了這一點。它沒有學習像人類那樣玩游戲,而是學會了通過從舞臺側面跳下來引誘敵人自殺,因為它們知道敵人會跟著它們跳下去。游戲認定敵人被殺,給予機器人額外的生命和分數,所以說機器人有賺了。
該機器人還發現了游戲的一個小故障:如果它從一個平臺跳到另一個平臺,它可以拿到數十萬的分數。從技術上講,它是在做自己的本職工作:拿分。但這算不上真正地學習玩游戲。
最近,格里烏斯的工作重心是通過隨機化這些機器人每次玩的游戲級別來打造更好的游戲機器人。他指出,因為機器人從來不會在同一級別上玩兩次,所以它們并不僅僅是學習如何找到破解的辦法或者找到一個策略――它們實際上是在學習如何在任何情況下完成任務。
不僅僅是游戲
OpenAI的游戲追求不僅僅是為了在游戲中打敗職業選手,而是學習如何做出成千上萬個小決定來實現更大的最終目標。一個例子是OpenAI的另一個項目,它使用與Dota 2機器人一樣的學習系統和算法:它的研究人員設計了一種算法來控制機械手,機械手能夠握住一個物體,并用手指操縱它進入特定的方向。
OpenAI技術人員喬納斯?施耐德(JonasSchneider)告訴Quartz,這兩個項目是在大約同一時間啟動的。但他指出,當Dota 2團隊在去年的比賽中展示了它們打敗人類職業選手的進步時,機器人團隊意識到了強化學習系統的潛力。
“我們基本上用了和Dota實驗相同的代碼,達到了相同的性能水平。”施耐德說,“在短短幾周內,我們就達到了此前多個月我們一直在努力開發的項目同等的水平。我想我們都很驚訝。”
這些實驗使用的是OpenAI開發的一個名為Rapid的程序,該程序可協調數千個處理器來同時運行數百個強化學習算法。每一個算法都驅動機器人來玩游戲或者模擬手部移動動作,然后在實驗結束后將機器人學到的東西同步給其他的機器人。
利用比普通筆記本電腦高出數千倍的計算能力,機械手能夠展現出令人驚嘆的靈巧性,完全不需要人類通過編碼來告訴它們該如何移動每一根手指。
此外,雖然OpenAI使用類似的代碼來訓練它的游戲AI和機器人,但一個重要的區別在于,它們都在學習如何分別完成各自的任務。如果你想讓Dota 2機器人控制一只機械手,它根本無法做到:算法足夠通用,可以學習多種技能,但能夠學到的技能還是有限的。
“我們還沒有看到很多東西能夠在游戲中訓練出來以后,直接轉移到現實世界中去。”格里烏斯說道,“但我們已經看到的是,為玩游戲而發明的方法已經轉移到了現實世界。”
OpenAI的Rapid強化學習系統并不是第一個開發自游戲,然后被轉用于現實世界的技術。格里烏斯指出,蒙特卡羅樹搜索是一種算法,10多年前它最初被開發來玩圍棋游戲,現在則被用于諸如規劃和優化的任務。歐洲太空總署用該算法來規劃太空探測器的星際軌跡。它也是DeepMind AlphaGo算法的核心,后者在2016年擊敗了世界圍棋冠軍李世石。
對于OpenAI的機器人團隊來說,Dota 2似乎是證明了這種技術能夠在未來用于更加復雜的工作。Dota 2系統使用的計算能力是機械手的20多倍,訓練時間為兩周,而后者只有兩天――這意味著機器人團隊有望攻克需要更多時間去學習的問題。
“我們對現有的算法能夠取得的進展感到驚訝,所以我們希望在某種程度上,Dota將成為最后一個游戲里程碑。”施耐德說,“很顯然,如果像這么復雜的游戲可以通過強化學習來解決,那稱得上強化學習和游戲的終極考驗。”
(本文部分編譯自Quartz 編譯/網易智能參與/樂邦編輯/定西)
關注網易智能公眾號(smartman163),為你解讀AI領域大公司大事件,新觀點新應用。