DeepMind 一次性開源 3 個新框架!深度強化學習應用落地即將迎來春天?
按:深度強化學習(Deep Reinforcement Learning,DRL)一直是近年來人工智慧的一些重大突破的核心。然而,儘管 DRL 有了很大的進步,但由於缺乏工具和庫,DRL 方法在主流解決方案中仍然難以應用。因此,DRL 仍然主要是以研究形式存在,並沒有在現實世界看到許多采用機器學習的應用方案;而解決這個問題就需要更好的工具和框架。
就在最近,DeepMind 釋出了一系列新的開源技術,包括三種 DRL 框架:OpenSpiel、SpriteWorld 和 Bsuite,這些技術將有助於簡化 DRL 方法的應用。
DRL 框架概述
作為一種新的深度學習技術,DRL 的採用面臨著簡單實現演算法以外的挑戰。例如:用以簡化 DRL 技術應用的訓練資料集、環境、監控最佳化工具以及精心設計的實驗等。
考慮到 DRL 的機制不同於大多數傳統的機器學習方法,尤其對於 DRL 的情況,這種差異更甚。DRL 智慧體試圖在給定的環境中透過反覆試驗來實現對任務的掌握。在這種情況下,環境和實驗的穩健性在 DRL 智慧體開發的知識中起著重要的作用。
為了實現 DRL 的重大突破,將其更好的應用於重大人工智慧挑戰中,DeepMind 構建了許多專有工具和框架,以大規模簡化 DRL 智慧體的訓練、實驗和管理。並且開放了三種 DRL 框架,包括:OpenSpiel、SpriteWorld 和 bsuite,以便其他研究人員可以使用它們來推進 DRL 方法的現狀。
下面是三種框架的介紹,並附有對應的開源地址。
OpenSpiel
與其他資料集不同,遊戲本質上基於試驗和獎勵機制,可以用來訓練 DRL 智慧體。然而,正如我們所看到的,遊戲環境遠不是簡單的組裝。
OpenSpiel 是一系列環境和演算法的集合,用於研究一般強化學習和遊戲中的搜尋/規劃。OpenSpiel 的目的是在許多不同的遊戲型別中促進通用多智慧體的強化學習,其方式與通用遊戲類似,但它重點是強調學習而不是競爭形式。當前版本的 OpenSpiel 包含 20 多種不同型別的遊戲的實現,例如:完全資訊、同步移動、不完全資訊、網格世界遊戲、博弈遊戲和一些普通形式/矩陣遊戲。
OpenSpiel 的核心實現是基於 C++和 Python 繫結,便於在不同的深度學習框架中採用。該框架包含了一系列遊戲組合,允許 DRL 智慧體掌握合作和競爭行為。類似地,OpenSpiel 包含了多種 DRL 演算法組合,例如:搜尋、最佳化和單一智慧體等。OpenSpiel 還包括分析學習動態和其他常見評估指標的工具。
OpenSpiel 支援遊戲型別
-
單人和多人遊戲
-
完全可觀測(透過觀測)和不完全資訊博弈(透過資訊狀態和觀測)
-
隨機性(儘管部分支援隱式隨機性,但主要為不確定事件)
-
n人普通形式的“一杆”遊戲和(2人)矩陣遊戲
-
序貫和同時動作遊戲
-
零和、一般和和合作(相同收益)博弈
OpenSpiel 支援語言型別
-
C++ 11
-
Python 3
-
swift 中提供的部分語言
遊戲和實用程式功能(例如:計算)是用 C++編寫的。這些也可以使用 pybind11 python(2.7 和 3)繫結。方法名稱位於 C++中的 CamelCase 和 Python 中的 SnaKeKY 情況(例如,在 C++中的 Apple 動作將是 Python 中的 Stest.Apple)。有關名稱之間的完整對映,請參見 open_spiel/python/pybind11/pyspel.cc 中的 pybind11 定義。
OpenSpiel 已經在 linux 上進行了測試(debian 10 和 ubuntu 19.04),但它還未在 MacOS 或 Windows 上進行測試,由於程式碼使用了 MacOS 和 Windows 上也提供的免費工具,因此 DeepMind 預計在這些平臺下編譯和執行不會出現任何(重大)問題。
GitHub 地址:
pybind11 地址:
SpriteWorld
幾個月前,DeepMind 發表了一篇論文,介紹了一種基於無監督式目標搜尋和好奇心驅動的強化學習模型(Curious Object-Based seaRch Agent,COBRA),它透過使用強化學習來識別給定環境中的物件(相關論文可參考: )。
該模型使用了一系列二維遊戲進行訓練,在這些遊戲中數字可以自由移動。用來訓練 COBRA 模型的環境就是最近 deepmind 開源 DRL 三大框架之一,SpriteWorld。
SpriteWorld 是一個基於 python 的強化學習環境,它由一個可以自由移動的簡單形狀的二維競技場組成。更具體地說,SpriteWorld 是一個二維方形競技場,有不同數量的彩色 Sprites,可以自由放置和渲染,但不會發生碰撞。SpriteWorld 環境基於一系列關鍵特徵:
-
多目標的競技場反映了真實世界的組成,雜亂的物體場景可以用於共享特徵,同時也可以獨立移動。這也提供了測試與任務無關的特徵/目標的穩健性和組合泛化的方法。
-
連續點選和推動動作空間的結構反映了世界空間和運動的結構。它還允許智慧體在任何方向上移動任何可見物件。
-
目標的概念並非以任何特權方式所提供(例如:操作空間中沒有特定目標的元件),並且完全可以由智慧體發現。
SpriteWorld 為每個 DRL 智慧體提供三項主要的訓練任務:
-
目標搜尋。智慧體必須將一組目標(可透過某些功能識別,例如:綠色的目標)帶到螢幕上的隱藏位置,忽略干擾物件(例如:非綠色的目標);
-
排序。智慧體必須根據目標的顏色將每個目標帶到規定的位置;
-
聚類。智慧體必須根據目標的顏色將其分組排列在群集中。
SpriteWorld 也可以用於強化學習以外的其他目的。例如:它被用於生成具有控制因子分佈的影像資料集,如論文「Spatial Broadcast Decoder: A Simple Architecture for Learning Disentangled Representations in VAEs」(watters 等人,2019, )。
它還可以很容易地擴充套件到生成與簡單物理力(如彈簧、重力等)相互作用的物體的資料集,這對於視覺動力學的無監督學習研究是有用的。
GitHub 地址:
bsuite
我們試圖將 bsuite(Behaviour Suite for Reinforcement Learning,強化學習行為套件)打造成為強化學習領域 的 MNIST。
具體而言,bsuite 是一系列實驗,旨在突出智慧體可擴充套件性的關鍵點。這些實驗都體現了一些基本的問題,例如「探索」或「記憶」,其實驗方式可以很容易地進行測試和迭代。bsuite 有兩個主要目標:
-
收集清晰、資訊量豐富且可擴充套件的問題,這些問題捕獲了高效和通用學習演算法設計中的關鍵問題;
-
透過在這些共享基準上的表現來研究智慧體的行為。
bsuite 的當前實現可以在不同環境中自動執行手實驗,並收集了相應的指標,這些指標可以簡化 DRL 智慧體的訓練。同時,因為 bsuite 是一系列實驗的集合,所以它在實驗子目錄中定義。每個子目錄對應一個實驗,包含:
-
定義強化學習環境的一種檔案,它可以配置為提供不同的難度等級或不同的隨機種子(for example);
-
此環境的關鍵字引數序列,在實驗的 sweep.py 檔案中的 settings 變數中定義;
-
一個 analysis.py 檔案,用於定義所提供的 jupyter 計算機中使用的繪圖;
當透過載入和記錄*函式載入環境時,bsuite 透過記錄每個環境中的結果來工作。這意味著任何實驗都將自動輸出正確格式的資料,以便使用計算機進行分析,而不受任何智慧體或演算法結構的限制。
GitHub 地址:
原文連結
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2657677/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DeepMind開源強化學習庫TRFL強化學習
- DeepMind開源強化學習遊戲框架,25款線上遊戲等你來挑戰強化學習遊戲框架
- 深度學習及深度強化學習應用深度學習強化學習
- 深度強化學習技術開發與應用強化學習
- DeepMind用元強化學習框架探索多巴胺在學習過程中的作用強化學習框架
- 國產深度學習框架MegEngine,曠視打造,三月底即將開源深度學習框架
- Google開源TensorFlow強化學習框架!Go強化學習框架
- 新鮮開源:基於TF2.0的深度強化學習平臺TF2強化學習
- 聯邦學習新時代即將到來?標準化聯邦互動協議FLEX開源!聯邦學習協議Flex
- Python深度學習框架PyTorch迎來重大更新Python深度學習框架PyTorch
- 10 個值得一試的開源深度學習框架深度學習框架
- DeepMind綜述深度強化學習中的快與慢,智慧體應該像人一樣學習強化學習智慧體
- 《深度強化學習》手稿開放了!強化學習
- 楊強:深度學習、強化學習、遷移學習的結合及應用進展深度學習強化學習遷移學習
- 深度學習開發必備開源框架深度學習框架
- 深度學習應用資源整理深度學習
- 深度學習及深度強化學習研修深度學習強化學習
- DeepMind開源強化學習環境,場景靈活介面簡單,推特高贊強化學習
- 深度學習+深度強化學習+遷移學習【研修】深度學習強化學習遷移學習
- 深度強化學習揭秘強化學習
- 深度強化學習day01初探強化學習強化學習
- 【強化學習篇】--強化學習從初識到應用強化學習
- 全球首個聯邦學習工業級開源框架FATE更新!五大模組迎來巨幅最佳化聯邦學習框架
- 曠視宣佈開源深度學習框架“天元”深度學習框架
- 資料科學即將迎來“無程式碼”時代資料科學
- 我們即將迎來另一個AI寒冬嗎?AI
- 即將開源 | 2億使用者背後的Flutter應用框架Fish ReduxFlutter框架Redux
- 強化學習的框架化,會引爆AI開發的新腦洞嗎?強化學習框架AI
- 這三個博弈論新趨勢,正深刻影響深度強化學習強化學習
- 深度強化學習在時序資料壓縮中的應用強化學習
- 強化學習之原理與應用強化學習
- 谷歌大腦新研究:強化學習如何學會用聲音來觀察?谷歌強化學習
- 剛剛,阿里開源首個深度學習框架 X-Deep Learning!阿里深度學習框架
- 劍橋大學等開源RLgraph框架,讓強化學習測試視覺化框架強化學習視覺化
- 深度強化學習的 18 個關鍵問題強化學習
- 深度學習哪家強?用資料來一較高下吧深度學習
- 蘋果支付強勢崛起:移動支付即將迎來併購大戰蘋果
- 歡迎使用開源持久化框架 MyBatis Enhance持久化框架MyBatis