谷歌用“多巴胺”懟上OpenAI,開源TensorFlow強化學習框架


新智元報道

來源:ai.googleblog

編輯:肖琴

【新智元導讀】今天,谷歌宣佈推出一個新的基於Tensorflow的強化學習框架,稱爲Dopamine,旨在爲強化學習研究人員提供靈活性、穩定性和可重複性。這個強大的新框架或將推動強化學習研究取得根本性的新突破。

最近 OpenAI 在 Dota 2 上的表現,讓強化學習又大大地火了一把,但是 OpenAI 的強化學習訓練環境 OpenAI Gym 卻一直遭到不少抱怨,比如不太穩定、更新沒有及時……

今天,谷歌宣佈開源基於 TensorFlow 的強化學習框架——Dopamine,代碼現在就能在Github 查看。

谷歌研究人員表示,他們開源的這個 TensorFlow 強化學習框架強調三點:靈活、穩定和可重複性(reproducibility)

爲此,配套開源的還包括一個專用於視頻遊戲訓練結果的平臺,以及四種不同的機器學習模型:DQN、C51、簡化版的 Rainbow 智能體和 IQN(Implicit Quantile Network)。

爲了實現可重複性,Github 代碼包括 Arcade Learning Environment 支持的全部 60 個遊戲的完整測試和訓練代碼,並遵循標準化經驗評估結果的最佳實踐。

除了開源這個增強學習框架,谷歌還推出了一個網站,允許開發人員將多個訓練中智能體的運行情況快速可視化。其他還有訓練好的模型、原始統計日誌和 TensorFlow event files,用於 TensorBoard 動態圖的繪製。

Dopamine框架:靈感來自大腦的多巴胺受體

強化學習(RL)研究在過去幾年取得了許多重大進展。強化學習的進步使得 AI 智能體能夠在一些遊戲上超過人類,值得關注的例子包括 DeepMind 攻破 Atari 遊戲的 DQN,在圍棋中獲得矚目的 AlphaGo 和 AlphaGo Zero,以及在 Dota2 對戰人類職業玩家的Open AI Five。

具體來說,在 DQN 中引入重放記憶(replay memories)可以利用先前 agent 的經驗,大規模的分佈式訓練可以在多個 workers 之間分配學習過程,分佈式的方法允許agent 建模完整的分佈,而不僅僅是建模它們的期望值,從而能夠學習更完整的世界。

這類進展非常重要,因爲產生這些進展的算法也適用於其他領域,例如機器人技術。

通常,實現這類進展需要快速的迭代設計——通常沒有明確的方向——並破壞既定方法的結構。然而,大多數現有的 RL 框架不能同時提供靈活性和穩定性,研究人員難以有效地迭代 RL 方法,進而探索新的研究方向,雖然這些新研究方向可能不會立即帶來明顯的好處。此外,從現有框架中複製結果常常太耗時,這可能導致後續的科學再現性問題。

今天,谷歌宣佈推出一個新的基於 Tensorflow 的框架,稱爲 Dopamine,旨在爲 RL 研究人員提供靈活性、穩定性和可重複性。

這個平臺的靈感來自於大腦中獎勵動機行爲的主要組成部分之一(多巴胺受體,dopamine receptor ),這反映了神經科學和強化學習研究之間強大的歷史聯繫,它的目的是使這種推測性的研究能夠推動根本性的發現。開源框架還包含一組 colabs,說明如何使用這個框架。

易用性

清晰和簡潔是這個框架設計中的兩個關鍵考慮因素。谷歌提供了緊湊的代碼(大約 15個 Python files),並且有詳細的文檔記錄。這是通過專注於 Arcade Learning 環境(一個成熟的、易於理解的 baseline)和 4 個 value-based 的 agent 來實現的,分別是:DQN, C51,Rainbow agent 的一個簡化版本,以及 Implicit Quantile Network agent,這是上個月剛在 ICML 大會上發表的。這種簡單性能幫助研究人員更容易理解agent 的內部工作原理,並快速嘗試新的想法。

可重複性

谷歌尤其重視強化學習研究的可重複性(reproducibility)。他們爲代碼提供了完整的測試覆蓋率;這些測試還可以作爲文檔的附加形式。此外,他們的實驗框架遵循Machado et al. (2018) 給出的建議,使用街機學習環境(Arcade Learning Environment)進行標準化經驗評估。

基準測試

對於新的研究人員來說,能夠快速地將他們的想法與已有的方法進行對比是很重要的。因此,我們在 Arcade Learning Environment 支持的 60 款遊戲中提供了 4 個 agent 的完整訓練數據,這些數據可以作爲 Python pickle 文件(用於通過我們的框架訓練的agent)和 JSON 數據文件(用於與在其他框架中訓練的 agent 進行比較);此外,谷歌還開放了一個網站,在上面可以快速地查看所有 60 款遊戲提供的 agent 的可視化訓練運行。

下圖是 4 個 agent 在 Seaquest 上的訓練,這是 Arcade Learning Environment 支持的Atari 2600 遊戲之一。

在 Seaquest 上,4 個 agent 進行了訓練。x 軸表示迭代,其中每次迭代是 100 萬幀(4.5 小時的實時遊戲); y 軸表示每場遊戲獲得的平均分數。陰影區域顯示了 5 次獨立運行的置信區間。

谷歌還提供了來自這些 agent 的訓練好的深度網絡、原始統計日誌以及用於使用Tensorboard 繪圖的 Tensorflow 事件文件。這些都可以在官網下載。

開源獲取地址:

https://github.com/google/dopamine

其他主要強化學習框架

OpenAI Gym

2016 年 4 月 28 日,OpenAI 對外發布了強化學習開發平臺 OpenAI Gym。Gym 平臺的基本理念是,研究者建立自己的算法後,可以把該算法置於不同的環境中進行測試,然後把測試後的基本算法發佈在 Gym 的平臺上,讓社區中的其他人看到。該平臺現在已經與一些開放資源人工智能工具,例如谷歌的 TensorFlow 展開合作。

在OpenAI Gym上訓練強化學習agent

OpenAI Gym 是一款用於研發和比較強化學習算法的工具包,它支持訓練智能體(agent)做任何事——從行走到玩 Pong 或圍棋之類的遊戲,都在範圍中。

OpenAI Universe

2016 年 12 月,OpenAI發佈 OpenAI Universe。 根據其官方博客的介紹,這是一個能在幾乎所有環境中衡量和訓練 AI 通用智能水平的開源平臺,當下的目標是讓 AI 智能體能像人一樣使用計算機。目前,Universe 已經有 1000 種訓練環境,由微軟、英偉達等公司參與建設。

Universe AI訓練平臺

Universe 通過一個通用的接口適用於各種場景:智能體通過捕捉屏幕的像素生成對鍵盤和鼠標的命令來操作遠程桌面。場景需要 VNC 服務器,universe 庫將智能體轉換爲 VNC 客戶端。

OpenAI Gym Retro

這是OpenAI開源的用於遊戲研究的完整版強化學習平臺 Gym Retro,支持的遊戲從大約 70 多個Atari遊戲和 30 多個世嘉遊戲擴展到各種仿真器支持的 1000 多個遊戲。

Gym Retro支持1000多個遊戲

Gym Retro 用於研究強化學習算法及其泛化。RL 之前的研究主要集中在優化 Agent 解決單個任務上。通過 Gym Retro,我們可以研究內部概念相似但外觀表現不同的遊戲之間泛化的能力。

DeepMind Lab

就在OpenAI 剛剛宣佈開源 Universe平臺後,DeepMind 也宣佈將其 AI 核心平臺 DeepMind Lab 開源。該平臺將幾個不同的 AI 研究領域整合至一個環境下,方便研究人員測試 AI 智能體的導航、記憶和 3D 成像等能力。

DeepMind Lab

DeepMind Lab 是一個專爲基於智能體的 AI 研究設計的,完全像 3D 遊戲般的平臺。它從自己的視角,通過模擬智能體的眼睛進行觀察。場景呈現的視覺效果是科幻風格。可用的操作能讓智能體環顧四周,並且以 3D 的形式移動。示例任務包括收集水果、走迷宮、穿越危險的通道且要避免從懸崖上墜落、使用發射臺在平臺間穿越、玩激光筆、以及快速學習並記住隨機生成的環境。

阿里Gym StarCraft

阿里去年開源了針對星際AI的研究平臺Gym StarCraft。在 Gym StarCraft 中,AI 和強化學習研究者可以非常方便地使用 Python 語言來進行深度強化學習智能 Agent 的開發,它底層完成了對 TorchCraft 和 OpenAI Gym 的封裝,支持基於 TensorFlow 和 Keras 等主流算法框架進行開發,僅需幾十行代碼即可完成一個基本的智能 Agent 的開發。

同時,爲了便於評測智能 Agent 的有效性,Gym StarCraft 被集成在了 OpenAI Gym 這一主流的強化學習 AI 評測平臺中,支持世界各地的星際 AI 研究者基於它去進行公平、快捷的效果評估。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章