總結一下自己入坑強化學習的經驗。
在入坑之前,自己對強化學習基本一無所知,所以對於強化學習的學習基本上是從零開始。
下面總結一下自己學習強化學習所看的網課,教材,論文,代碼
網課
- 莫煩的強化學習教程。這個教程真的是通俗易懂,完全針對初學者,也有配套的代碼。不過講解的內容不是很深。快速看一遍就行,形成對強化學習的一個基本認識。他的代碼是tensorflow的,我還是更喜歡Pytorch一些。
- David Silver的課程。這個課程不算有難度,從MDP開始講也是最適合初學者的,看完之後基本對強化學習的整個體系有了清晰的認知。這門課的側重點還是傳統強化學習的基本理論和概念,也是非看不可的課程。
- 李宏毅的強化學習課程 這門課基本上就是對DRL幾個算法的具體介紹,可以作爲一個補充看一下,不是非看不可。
- cs294|cs285 這門課應該是非看不可的課,也是一門有難度的課,課程網站上也有相應的project可以做。內容上偏重policy gradient。建議看完David Silver的課程之後再看。
教材
- 《Reinforcement Learning: an Introduction》:這本書的中文第二版也出來了,不過英文版讀起來也不費事。David Silver 的課程就是根據這本教材設計的。書中包含的內容十分豐富,不過也主要是傳統強化學習中的內容。個人還是建議看一下,畢竟是強化學習的聖經,看完之後會對強化學習的整個體系有一個更加清晰的認識。
論文
論文基礎部分就是看openAI 提供的key papers 入門的話就是看一下第一部分Model free 的前a,b,c小結的17篇文章。
代碼
GitHub 上有很多優秀的強化學習論文的代碼。個人建議是使用pytorch ,因爲代碼更容易閱讀,對初學者也更友好。下面列兩個自己看的。
- DRL-with-pytorch 這個包含的算法很全
- RL-adventure 這個基本是DQN 和它的變種
代碼基本作爲閱讀學習使用。基本沒有包含trick。
完成上面相關內容的學習,基本就算是入門了,入門之後就全靠自己去學習,去探索了。