1. 程式人生 > >人人能上手:OpenAI發射初學者友好的強化學習教程 | 程式碼簡約易懂

人人能上手:OpenAI發射初學者友好的強化學習教程 | 程式碼簡約易懂

栗子 發自 凹非寺
量子位 出品 | 公眾號 QbitAI

640?wx_fmt=gif

OpenAI說,全無機器學習基礎的人類,也可以迅速上手強化學習。

他們剛剛發射了一套強化學習 (RL) 入門教程,叫做Spinning Up。真誠友好,無微不至。

從一套重要概念,到一系列關鍵演算法實現程式碼,再到熱身練習,每一步都以清晰簡明為上,全程站在初學者視角。

640?wx_fmt=jpeg

 新手光環

團隊表示,目前還沒有一套比較通用的強化學習教材,RL領域只有一小撮人進得去。這樣的狀態要改變啊,因為強化學習真的很有用。

說不定你也用得上。所以,仔細翻翻這個新手包,看看到底有多關懷:

五大核心

Spinning Up包含了5個重要部分。

第一部分,認識一下強化學習

這裡分為三小步:

640?wx_fmt=png

一是瞭解基礎概念,即知道RL能用來做什麼,理解概念和術語。

640?wx_fmt=png

二是瞭解演算法分為哪些種類。

640?wx_fmt=png

三是瞭解策略優化

https://spinningup.openai.com/en/latest/spinningup/rl_intro.html

第二部分,成為RL研究人員

(此部分可選擇性忽略)

640?wx_fmt=png

如何讓自己習慣RL研究人員的新設定?

第一,知道哪些數學知識深度學習知識,是需要簡要了解的。

第二,在實踐中學習,寫最最最簡單的實現 (後面有程式碼) ,注重理解。

第三,有了小小的經驗之後,試著開發自己的研究專案。這是入門之後的事了。

第四之後,有些遙遠,暫時不詳述了。

第三部分,論文閱讀清單

這個論文列表非常詳細,分為12個小類別,每個類別下有2-8篇論文。

640?wx_fmt=png

團隊說,列表比全面還全面,足夠給一個想做RL研究的人類鋪路了。

https://spinningup.openai.com/en/latest/spinningup/keypapers.html

第四部分,為初學者定製的程式碼

GitHub上面有個叫spinningup的專案,包含了強化學習能用到的各種關鍵演算法:

VPG、TRPO、PPO、DDPG、TD3和SAC等。

團隊說,這裡的程式碼都是為初學者定製,很短很好學。比起模組化,Spinning Up以清晰為重,程式碼都註釋過

了,可以很清楚得看出每一步都在做什麼,並且有背景材料可以輔助理解。

目標就是用最簡約的實現,來演示一條理論是如何變成程式碼的,而抽象層和混淆層(Layers of Abstraction and Obfuscation) 這些東西,都省去了。

https://github.com/openai/spinningup

第五部分,熱身練習

這裡有兩個習題集。

640?wx_fmt=png

一是關於實現的基礎,二是關於演算法失效模式。

後面還有附加題,是要從零開始自己寫程式碼實現,相對艱辛。

https://spinningup.openai.com/en/latest/spinningup/exercises.html

Hello World

團隊說,要感受強化學習是怎樣運作的,最好的方式是跑一跑。

在Spinning Up裡面,就很容易,只要用這段程式碼:

1python -m spinup.run ppo --env CartPole-v1 --exp_name hello_world

訓練結束的時候,你會看到說明,然後可以按照裡面講的方法來觀察資料,也觀察訓練好的智慧體的視訊。

另外,Spinning Up裡面的實現,和一系列Gym環境都相容:Classic Control,Box2D,MUJOCO等等。

640?wx_fmt=gif

去吧,皮卡丘

看上去,好像真的沒有很難。

OpenAI就是希望其他領域的研究人員,也能很輕易地用強化學習來輔助研究。

所以,試一下吧。

教程入口:
https://spinningup.openai.com/en/latest/index.html

GitHub傳送門:
https://github.com/openai/spinningup

年度評選申請

640?wx_fmt=jpeg

加入社群

量子位AI社群開始招募啦,歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話介面回覆關鍵字“交流群”,獲取入群方式;


此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。


進專業群請在量子位公眾號(QbitAI)對話介面回覆關鍵字“專業群”,獲取入群方式。(專業群稽核較嚴,敬請諒解)

活動策劃招聘

量子位正在招聘活動策劃,將負責不同領域維度的線上線下相關活動策劃、執行。歡迎聰明靠譜的小夥伴加入,並希望你能有一些活動策劃或運營的相關經驗。相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。

640?wx_fmt=jpeg

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態