遷移學習比賽:OpenAI喊你重溫「音速小子索尼克」

量子位發表於2018-04-06
Root 編譯自 OpenAI
量子位 出品 | 公眾號 QbitAI

一直以來,在典型的強化學習研究裡,常拿懷舊小遊戲訓練演算法。

可演算法的訓練和測試環境都是同一個,這就會讓那些本身帶有超引數和靠死記硬背的演算法獲得不錯的結果。

為了解決這個問題,OpenAI辦了一個遷移學習的比賽,讓大家訓練出的AI智慧體去玩世嘉經典「音速小子索尼克」,看哪個智慧體能在從沒見過的關卡里獲得最佳的表現。

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

OpenAI會給你一個訓練集,是一系列刺蝟索尼克的關卡。然後用特定為這次比賽制作的測試集來評估你的演算法。

這個比賽從4月5號開始,到6月5號截止,為期兩個月。

比賽用的資料集Gym Retro,是一個整合經典電動遊戲到Gym的全新平臺,目前已包含30個世嘉創世的遊戲。

640?wx_fmt=gif

為了方便大家上手,OpenAI放出了Retro的基線表現,這樣大家就能get到怎麼用強化演算法去跑這些比賽的任務了。

640?wx_fmt=jpeg

Retro比賽測試集的基線結果顯示,即使用了遷移學習,強化學習演算法的表現依然比人類水平差很遠。紅色那根水平虛線是人類玩家的表現,這還是人類玩了一小時的結果,而演算法已經玩了18個小時。

在訓練的時候,你可以用任何環境和資料集。但測試期間只有18個小時(100萬時步)去過每個沒見過的關卡。聽起來,18個小時過一關很長,但對現在比人類玩家弱雞的強化學習模型來說,這個訓練時間捉襟見肘。

音速小子索尼克

為了把基準表現描述得更具體些,以及提供一些基線結果,OpenAI給出了一份技術報告:Gotta Learn Fast:A New Benchmark for Generalization in RL。

地址:https://storage.googleapis.com/agi-data/blog/gym-retro/contest-tech-report.pdf

從這份報告裡除了能看到基準表現,還可以看到跑彩虹DQN,PRO和簡單隨機猜測演算法JERK的結果。

JERK的表現代表了專門為刺蝟索尼克作出優化嘗試而採取的一系列隨機行為,隨著訓練時間增長,索尼克會更頻繁地使用那些能拿高分的行為。

同時,OpenAI也發現,通過訓練時獲得的經驗可以顯著提高PRO在測試中的表現。

尤其是在訓練階段有預訓練網路以及測試階段有精細地微調的話,它的表現能翻番,甚至比最強的基線結果還要好。

雖然這並不是首個把遷移學習成功用在強化學習的例子,但是能看到遷移學習能有那麼厲害和穩定的作用也是很讓人亦可賽艇的事兒。

要演算法達到人類的表現,還有很長的一段路要走。

像上面提到的,人類玩家只要訓練兩個小時,測試時玩個一小時所拿到的分數都遠遠高於用了遷移學習的強化學習演算法。

Gym Retro的Beta版

OpenAI放出的Gym Retro是一個打包了一堆經典的電子遊戲的系統,給強化學習模型提供一個環境。最初放出的這一版裡有從世嘉創世Steam的老遊戲大包裡挑出的30個遊戲,還有雅達利2600裡Arcade Learning Environment裡的62個遊戲。

近五年來,Arcade Learning Environment是強化學習研究的主要驅動力。它是一個強化學習和雅達利2600的互動介面集合。這些雅達利的遊戲,相比於之前強化學習的基準來說,要更復雜多變,也是之前設計來挑戰人類玩家的運動控制技能和解決問題的能力。

Gym Retro的Beta版採用了比雅達利更先進的控制檯,擴充了適合強化學習研究的遊戲的數量和複雜度。世嘉創世裡的遊戲很多關在很多維度上都類似,比方是物理層面,物體的外觀等等,而在材質上不同。

對遷移學習來說,這就是非常理想的測試環境了。它還有一點比雅達利遊戲要好的是,能夠用上更好的創世裡的硬體,比方說,記憶體容量是雅達利的500倍,可以獲得更大範圍的控制輸入,以及支援更好的畫面。

Gym Retro系統是受到懷舊學習環境的啟發,不過會更加複雜。比方說,如果你想更細緻地定義環境,可以不再用C++了,用JSON檔案就能搞定。這對新遊戲整合來說更容易了。
640?wx_fmt=jpeg
Gym Retro是OpenAI團隊第二次嘗試搭建大型的強化學習環境資料集。其中一些理念出自於2016年下半年的Universe,不過因為Universe環境的執行不是同步,而是實時的,所以OpenAI團隊無法取到滿意的結果。

Universe簡介:https://blog.openai.com/universe

Gym Retro就擴充了Arcade Learning Environment的模型,使其適配更多的遊戲。

Gym Retro系統GitHub地址:https://github.com/openai/retro#gym-retro

有些時候,演算法也很雞賊。像經PRO訓練的策略就發現索尼克不斷往右挪就能直接穿牆,這樣可以獲得更高的分數。

640?wx_fmt=gif

這就是一個典型的,獎賞機制是怎麼導致AI智慧體做出些奇奇怪怪的行為例子。

BTW,測試集一共有兩個,一個是能影響比賽進行過程中的排行榜,另外一個是隻用於最後排名的。另外,OpenAI建議參賽者採用分開的訓練集、測試集的預設關卡,大家可以從技術報告中看到所有的訓練測試結果以及學習曲線。

參賽規則

訓練你碼好的AI智慧體去玩刺蝟索尼克,然後向OpenAI提交你的成果(用Docker容器)。然後OpenAI會用上述的神祕測試集去測你AI的表現,你將會在排行榜上看到你AI的分數。整個過程看下圖。

640?wx_fmt=png

最後,附比賽報名地址:

https://contest.openai.com/

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。

640?wx_fmt=jpeg

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態


相關文章