Intel發布開源增強學習框架Coach
今天,英特爾發布了一個新的開源增強學習框架 Coach。該框架利用多核 CPU 處理能力,用于訓練和評估增強學習 Agent。Coach 包含一些領先的增強學習算法的多線程實現,適用于各種游戲和機器人環境。它能夠在臺式計算機上高效地訓練強化學習 Agent,而無需任何額外的硬件。
自從 2016 年推出用于深層加強學習的異步方法以來,許多算法通過在許多 CPU 內核中并行運行多個實例,能夠更快地實現更好的策略。到目前為止,這些算法包括 A3C 、DDPG、PPO、DFP 和 NAF,而 Coach 不僅包括上述等最新算法的實現,更可以幫助用戶現場搭建使用。
要使用 Coach 首先需要定義想要解決的問題,或選擇一個現有問題,然后選擇一套強化學習算法來解決問題。Coazh 可以使用現有算法進行簡單的實驗,并用作沙盒(雷鋒網注:沙盒是在受限的安全環境中運行應用程序的一種做法,這種做法是要限制授予應用程序的代碼訪問權限,便于在開發測試中的調試)以簡化新算法的開發。框架定義了一組用于強化學習的 API 和關鍵組件,使用戶能夠輕松地重用組件,并在現有的組件之上構建新的算法。
Coach 可與如 OpenAI Gym、Roboschool 和 ViZDoom 等頂級環境進行集成,同時它還提供了可視化培訓過程和了解代理的基本機制的各種技術,所有的算法都是使用英特爾優化的 TensorFlow 來實現的,也可以通過 Intel 的 neon?框架來實現。
Agent
Coach 包含許多 Agent 類型的實現,包括從單線程實現到多線程實現的無縫轉換。Agent 以模塊化方式實現,以允許重用不同的構建塊來構建新的和更復雜的代理。此外,Coach 可以在單個任務的基礎上編寫新的 Agent,并切換到同步或異步的多任務實現,并進行最少的更改。
在 Coach 中集成了過去幾年引入的各種 Agent 類型的實現方式,這讓用戶解決具有不同需求和與代理交互的方式的環境,例如連續和離散的動作空間,視覺觀察空間或僅包括原始測量的觀察空間。
環境
Coach 使用 OpenAI Gym 作為與不同環境進行交互的主要工具。它還支持 Gym 的外部擴展,包括 Roboschool, gym-extensions 和 PyBullet, 其環境封裝器可以添加更多的自定義環境,以解決更廣泛的學習問題。
可視化
Intel 還發布了 Coach Dashboard 作為可視化和調試的補充工具。Dashboard 是 Coach 的一個圖形用戶界面,通過展示訓練過程中的不同信號,可以讓用戶以簡單易懂的方式比較不同方式運行的訓練質量。在訓練期間,Coach 可跟蹤任何有意義的內部信息并存儲,以便在執行期間和完成后可視化進度。
Coach 還支持其他調試和可視化方法,例如存儲最佳場景的 GIF 動畫,在游戲過程中顯示動作值,等等。
使用
為方便用戶使用 Coach,Intel 已經開放了 GitHub 信息庫,然后按照的機器上安裝 Coach 的說明進行操作即可。Intel 還提供了友好的幫助文件,在 GitHub 存儲庫 README 文檔中有幾個簡單的例子,同時在官網還有一個更全面的使用和實現文檔。
Coach 已經準備了超過 60 個預定義的預設、不同的代理和可用的環境。這些預設已經用于訓練數百名 Agent,并經過驗證以獲得良好的業績。但是,使用這些預設并不是強制性的,并且創建新的預設與選擇現有代理和現有環境一樣容易。
下一步,Intel 計劃在未來的版本中增加更多算法和環境,如果你有任何建議和評論,可以在 Github 上進行互動。
雷鋒網發現,目前不少巨頭均推出了自己的深度學習框架,如 Google 的 TensorFlow、Amazon 的 MxNet、非死book 的 Caffe 2 等。這些深度學習框架的流行降低了深度學習的門檻,讓越來越多人開始參與到深度學習當中,但在降低門檻后如何提高訓練的效率也成為了差異化的關鍵因素,這也是是多線程并行計算、多機器上的水平擴展甚至定制硬件最近開始得勢的原因。
來自: 雷鋒網