Intel發布開源增強學習框架Coach

2021-09-23 00:21:54 字數 1921 閱讀 8145

本文講的是intel發布開源增強學習框架coach,

今天,英特爾發布了乙個新的開源增強學習框架coach。該框架利用多核cpu處理能力,用於訓練和評估增強學習agent。coach包含一些領先的增強學習演算法的多執行緒實現,適用於各種遊戲和機械人環境。它能夠在台式計算機上高效地訓練強化學習agent,而無需任何額外的硬體。

自從2023年推出用於深層加強學習的非同步方法以來,許多演算法通過在許多cpu核心中並行執行多個例項,能夠更快地實現更好的策略。到目前為止,這些演算法包括a3c 、ddpg、ppo、dfp和naf,而coach不僅包括上述等最新演算法的實現,更可以幫助使用者現場搭建使用。

要使用coach首先需要定義想要解決的問題,或選擇乙個現有問題,然後選擇一套強化學習演算法來解決問題。coazh可以使用現有演算法進行簡單的實驗,並用作沙盒(雷鋒網注:沙盒是在受限的安全環境中執行應用程式的一種做法,這種做法是要限制授予應用程式的**訪問許可權,便於在開發測試中的除錯)以簡化新演算法的開發。框架定義了一組用於強化學習的api和關鍵元件,使使用者能夠輕鬆地重用元件,並在現有的元件之上構建新的演算法。

coach可與如openai gym、roboschool和vizdoom等頂級環境進行整合,同時它還提供了視覺化培訓過程和了解**的基本機制的各種技術,所有的演算法都是使用英特爾優化的tensorflow來實現的,也可以通過intel的neon™框架來實現。

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,並經過驗證以獲得良好的業績。但是,使用這些預設並不是強制性的,並且建立新的預設與選擇現有**和現有環境一樣容易。

雷鋒網發現,目前不少巨頭均推出了自己的深度學習框架,如google 的tensorflow、amazon 的mxnet、facebook的caffe 2等。這些深度學習框架的流行降低了深度學習的門檻,讓越來越多人開始參與到深度學習當中,但在降低門檻後如何提高訓練的效率也成為了差異化的關鍵因素,這也是是多執行緒平行計算、多機器上的水平擴充套件甚至定製硬體最近開始得勢的原因。

如果學習開源框架

當我們在學習乙個開源框架時,成熟的開源框架一般都會非常龐大,各個模組 包之間會有依賴關係,而如果只是修改開源包的話,始終覺得不能真正地從根本上理解 實現乙個開源框架。如果自己去模仿著寫乙個的話,也會非常痛苦,因為想實現模組a,但是寫著寫著,發現模組a依賴了太多其他模組的東西,導致無法繼續模仿下去。有...

如何學習開源框架?

前短時間被人問起 如何學習開源框架 這個問題,大家是如何學習開源框架的呢?整理了下自己的思路,僅供拍磚!1 了解 先了解該開源框架在什麼背景下誕生的,主要用來解決什麼問題。做了產品經理之後遇到啥事,我都先講背景,生怕客戶聽不懂 2 熟悉 這個開源框架的原理是什麼?比如用了什麼設計模式。比如運用了反射...

如何學習開源框架

正確的學習方法不僅能夠事半功倍,也能夠使我們更加接近真理。在大家了解了框架的本質和web開發模式之後,我們來討論一下學習開源框架和基本方法。在這裡,本書為大家小結了一些正確的學習方法和最佳實踐,這些不僅是筆者多年開發中的心得體會,也汲取了網路上的大家之言,希望對初學者或者正在為學習開源框架犯愁的朋友...