探索新的強化學習演算法遇到困難?不怕不怕,谷歌為你帶來「多巴胺」
雷鋒網 AI 科技評論按:強化學習的研究如此火熱,但強化學習的研究中又有如此之多的實踐上的困難。「工欲善其事,必先利其器」,谷歌就推出了一個強化學習研究專用的框架幫自己減負、加速。雷鋒網 AI 科技評論把谷歌的介紹博客編譯如下。
在過去的幾年中,強化學習研究中湧現了許多重大技術進展。這些技術進展已經幫助智能體在遊戲中發揮出超越人類的水平,著名的幾個例子包括 DeeopMind 玩 Atari 遊戲的 DQN、下圍棋的 AlphaGo 和 AlphaGo Zero,還有近期連續擊敗了業餘玩家和前職業選手的 DOTA2 AI OpenAI Five。
大多數時候,探索更新更好的技術都需要一個從基礎設計開始進行快速迭代的過程 —— 這個迭代改進的過程不一定有什麼清晰的方向 —— 而且也會打亂已有方法的結構。然而,多數現有的強化學習框架提供的靈活性+穩定性組合併不理想,不足以讓研究人員們高效地迭代改進正在探索的強化學習方法,拖慢了他們發現那些收益更偏向長遠的研究方向的腳步。除此之外,現有的框架中復現現有模型的結果也非常耗費時間,這也為後續科研活動中的可重複性要求埋下了隱患。
新框架,「多巴胺」
今天谷歌發布了一個新的基於 TensorFlow 的強化學習框架「多巴胺」(Dopamine)。多巴胺是人腦中「行為 - 反饋」激勵通路的主要組成部分之一,多巴胺的釋放可以給人帶來開心愉悅的感覺;它同時也反映了神經科學研究和強化學習研究之間淵源流長的聯繫。正如其名,它的目標是提供一個兼顧靈活、穩定、可重複性的強化學習實驗框架,讓不論資深還是新手研究人員都感受到「多巴胺」帶來的放鬆和愉悅,從而幫助他們更多、更快、更好地開展有可能帶來顛覆性發現的思辨、探索研究。
「多巴胺」框架的設計面向研究人員,它是一個簡單但魯棒的框架,適合用於強化學習演算法設計中的快速原型設計和迭代改進。如果演算法研究人員需要一個輕量、容易理解的代碼庫,為了自由地嘗試各種不同的甚至狂野的想法,「多巴胺」就是最合適的選擇。
「多巴胺」的設計原則是
便於實驗:新用戶也可以簡單地運行 benchmark 實驗
靈活開發:新用戶也可以簡單地嘗試新的研究想法
緊湊可靠:提供了幾個經過檢驗的演算法的實現
可重複性:幫助提高實驗結果的可重複性
遵循這些設計原則,「多巴胺」的首個版本重點關注了目前最先進的運行在單 GPU 上的彩虹 DQN,它在 Atari-2000 遊戲中有驚人的表現。根據論文中得到的結論,「多巴胺」中的彩虹 DQN 實現了以下三個最為重要的組件:
n 步 Bellman 更新(詳情參見https://arxiv.org/abs/1602.01783)
優先經驗重放學習(https://arxiv.org/abs/1511.05952)
值分布方法(https://arxiv.org/abs/1707.06887)
便於使用的實現
上手快捷清晰、簡介是框架設計、代碼編寫中的重要考量要素。「多巴胺」提供的代碼緊湊,只有大約 15 個 Python 文檔,而且有完善的注釋。
可重複性谷歌的開發人員們也對強化學習研究中的可重複性問題有非常深的感受。為了提供一些可重複性的保障,「多巴胺」的代碼提供了完整的測試功能;測試功能也就可以作為另一種形式的文檔。除此之外,「多巴胺」也遵循了arxiv.org/abs/1709.06009中提出的關於在 Arcade 學習環境中標準化經驗評價的建議。
Benchmark 對於新手研究人員來說,能夠在 benchmark 中快速比較自己的想法和已有方法的表現是非常重要的。出於這個目的,「多巴胺」也提供了包含的四個智能體的全部訓練數據,其中均包含了 Arcade 學習環境支持的 60 個遊戲中的數據;格式有 Python 格式以及 JSON 格式。谷歌的開發人員們還額外設計了一個網站,可以在上面快速可視化這四個智能體在所有 60 個遊戲中的訓練過程。下圖是四個智能體在 Atari 遊戲 Seaquest 中的訓練過程。
谷歌也在「多巴胺」中打包了經過訓練的模型、原始統計記錄以及可以在 Tensorboard 中繪圖的 TensorFlow 事件記錄文件。
谷歌的開發人員們希望「多巴胺」的靈活、便於使用的特性可以幫助研究人員們嘗試新的點子,不論是逐步改進的,還是根本性顛覆的。谷歌已經把「多巴胺」應用到了自己的科研中,已經藉助它的靈活性快速迭代改進了許多想法。所以谷歌不僅希望把這個美妙的工具分享給更多研究人員,幫助整個領域的研究人員更快地做出進展,也可以藉助更多力量把「多巴胺」做得更好。


※問Alexa問題,回答不上來怎麼辦?別擔心,它找到答案就會告訴你
※什麼是區塊鏈應用最大瓶頸?區塊鏈與AI的火花在哪?
TAG:雷鋒網 |