遷移學習比賽:OpenAI喊你重溫「音速小子索尼克」
Root 編譯自 OpenAI
量子位 出品 | 公眾號 QbitAI
一直以來,在典型的強化學習研究裡,常拿懷舊小遊戲訓練演算法。
可演算法的訓練和測試環境都是同一個,這就會讓那些本身帶有超引數和靠死記硬背的演算法獲得不錯的結果。
為了解決這個問題,OpenAI辦了一個遷移學習的比賽,讓大家訓練出的AI智慧體去玩世嘉經典「音速小子索尼克」,看哪個智慧體能在從沒見過的關卡里獲得最佳的表現。
OpenAI會給你一個訓練集,是一系列刺蝟索尼克的關卡。然後用特定為這次比賽制作的測試集來評估你的演算法。
這個比賽從4月5號開始,到6月5號截止,為期兩個月。
比賽用的資料集Gym Retro,是一個整合經典電動遊戲到Gym的全新平臺,目前已包含30個世嘉創世的遊戲。
為了方便大家上手,OpenAI放出了Retro的基線表現,這樣大家就能get到怎麼用強化演算法去跑這些比賽的任務了。
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檔案就能搞定。這對新遊戲整合來說更容易了。
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訓練的策略就發現索尼克不斷往右挪就能直接穿牆,這樣可以獲得更高的分數。
這就是一個典型的,獎賞機制是怎麼導致AI智慧體做出些奇奇怪怪的行為例子。
BTW,測試集一共有兩個,一個是能影響比賽進行過程中的排行榜,另外一個是隻用於最後排名的。另外,OpenAI建議參賽者採用分開的訓練集、測試集的預設關卡,大家可以從技術報告中看到所有的訓練測試結果以及學習曲線。
參賽規則
訓練你碼好的AI智慧體去玩刺蝟索尼克,然後向OpenAI提交你的成果(用Docker容器)。然後OpenAI會用上述的神祕測試集去測你AI的表現,你將會在排行榜上看到你AI的分數。整個過程看下圖。
最後,附比賽報名地址:
https://contest.openai.com/
— 完 —
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。
量子位 QbitAI · 頭條號簽約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態
相關文章
- 遷移學習系列---基於例項方法的遷移學習遷移學習
- 什麼是遷移學習?什麼時候使用遷移學習?遷移學習
- 遷移學習(Transfer Learning)遷移學習
- 深度學習+深度強化學習+遷移學習【研修】深度學習強化學習遷移學習
- oracle concepts 目錄重溫學習Oracle
- 【深度學習系列】遷移學習Transfer Learning深度學習遷移學習
- 【遷移學習】大資料時代下的遷移學習--- 機器學習的下一個前沿遷移學習大資料機器學習
- 遷移學習基本原理遷移學習
- 深度學習之遷移學習介紹與使用深度學習遷移學習
- 帶你用深度學習虛擬機器進行文字遷移學習(附程式碼)深度學習虛擬機遷移學習
- 深度學習之PyTorch實戰(4)——遷移學習深度學習PyTorch遷移學習
- 遷移學習時間序列分類遷移學習
- [譯] TensorFlow 教程 #08 – 遷移學習遷移學習
- Laravel 學習之資料庫遷移Laravel資料庫
- 站在巨人的肩膀上:遷移學習遷移學習
- 基於VGG的遷移學習遷移學習
- 遷移學習中的BN問題遷移學習
- 數字資訊化之遷移學習遷移學習
- [譯] TensorFlow 教程 #08 - 遷移學習遷移學習
- 再無需從頭訓練遷移學習模型!亞馬遜開源遷移學習資料庫 Xfer遷移學習模型亞馬遜資料庫
- 使用Keras和遷移學習從人臉影像中預測體重指數BMIKeras遷移學習
- 簡述遷移學習在深度學習中的應用遷移學習深度學習
- 圖解BERT(NLP中的遷移學習)圖解遷移學習
- 再談遷移學習:微調網路遷移學習
- Python遷移學習:機器學習演算法Python遷移學習機器學習演算法
- 機器學習:詳解遷移學習(Transfer learning)機器學習遷移學習
- 一文讀懂遷移學習(附學習工具包)遷移學習
- 深度學習不得不會的遷移學習Transfer Learning深度學習遷移學習
- 清華開源遷移學習演算法庫遷移學習演算法
- 使用Mobilenet和Keras進行遷移學習!Keras遷移學習
- 遷移學習:互資訊的變分上下界遷移學習
- 【DB2學習】遷移資料之EXPROTDB2
- 視覺語言模型的高效遷移學習視覺模型遷移學習
- 影像分類學習:X光胸片診斷識別----遷移學習遷移學習
- 重溫TypescriptTypeScript
- 自然語言處理中的遷移學習(下)自然語言處理遷移學習
- 自然語言處理中的遷移學習(上)自然語言處理遷移學習
- 如何用最強模型BERT做NLP遷移學習?模型遷移學習