深度強化學習(Deep Reinforcement Learning)的資源
Google的Deep Mind團隊2013年在NIPS上發表了一篇牛x閃閃的文章,亮瞎了好多人眼睛,不幸的是我也在其中。前一段時間收集了好多關于這方面的資料,一直躺在收藏夾中,目前正在做一些相關的工作(希望有小伙伴一起交流)。
一、相關文章
- 先給中文的,這篇分析DRL比較客觀,推薦指數3星http://www.infoq.com/cn/articles/atari-reinforcement-learning。不過這里面其實也只是說了一個皮毛,真正的要看內容的話還是去看人家論文把
- 純科普的http://36kr.com/p/220012.html和http://36kr.com/p/217570.html ,兩篇都是36kr報道的,算是國內比較有良心的了,推薦指數2星。
看看人家外國人怎么說吧!
- 這個優點類似綜述,適合搞學術的人看看,而且還有demo和教程呢!有些視頻得KX上網http://nextbigfuture.com/2014/12/deep-learning-and-deep-reinforcement.html。推薦指數5星。
- http://arstechnica.com/science/2015/02/ai-masters-49-atari-2600-games-without-instructions/,這個就是一個科普,有視頻,比國內的科普強點兒,推薦指數3星。
- 還有一個overview, 基本上把deep mind文章的重點部分挑出來說了一下,適合有一定ML基礎的人去看看,推薦指數3星。http://artent.net/2014/12/10/a-review-of-playing-atari-with-deep-reinforcement-learning/ 。
- Nature上還采訪了一個做逆向的深度強化學習的東歐的一個學者科學家,他們還給出了DRL算法的一個缺陷,一個中文翻譯的http://www.7huoxing.com/?p=13035 。推薦指數2星,適合科普。
還有很多很多就不一一列舉了。
三、相關代碼
這部分應該是大家最關心的,我想大部分看到文章的第一想法是代碼呢!擦,其實我也是這么想的,誰叫自己的coding能力不夠呢!沒辦法,本人在網上(github.com)深挖了好久,沒想到大牛真的好多好多啊!
- 排在第一的當然是google自己公布的代碼啊!真是業界良心啊!https://sites.google.com/a/deepmind.com/dqn/ 。可惜注釋好少。。。。。是基于Torch 7的代碼,本人又硬著頭皮學了lua。話說我這幾個月我就在和各種腳本語言打交道,都是淚啊!備注,deep mind的git地址https://github.com/deepmind 。話說沒有GPU的電腦真心不要跑了,我跑了13個小時才跑了大概1/20~~~建議在ubuntu下面跑,最好版本高一些;
- 然后就是各路人馬(大牛們)的逆向工程。https://github.com/spragunr/deep_q_rl ,作者Spragunr公布的基于python各種工具的代碼,這位大牛利用外界工具的能力真實吊炸天,好多工具啊!opencv、cython、rl- glue、theano等等。我表示在ubuntu14.04LTS上面配置了好久,發現電腦沒有GPU,跑不起來,整個人都不好了,還有一個貌似是其學 生的https://github.com/brian473/neural_rl ,里面也需要配置python的庫,theano之類的,步驟比較多~不過大牛的學生都是大牛。
- https://github.com/kristjankorjus/Replicating-DeepMind ,這里Kristjankorjus大牛基于convnet的東東,發布了這一代碼,也是基于python的,我表示沒有跑過,不清楚狀況,貌似也要GPU,也要配置一堆庫。
- Stanford的Karpathy等人復現了DQN,但是是用的js,開始真是嚇尿了,在瀏覽器里面跑額!https://github.com/karpathy/convnetjs ,這個demo不錯,可惜只能show一下沒啥價值,網頁可見http://cs.stanford.edu/people/karpathy/convnetjs/ 。還有一點,這人學生更牛,直接用Torch 7給實現了,(閱讀了代碼之后發現結構和Google給的幾乎一模一樣,而且注釋相當詳細),https://github.com/fangzai/DeepQLearning 。忘了源地址在哪兒了,我把這個到我的git上了,有點兒對不起原作者了。
- 也有人用caffe實現了,是個日本人。目前有兩個地址,https://github.com/chiggum/AI/tree/master/rl/atari_agent,和https://github.com/muupan/dqn-in-the-caffe 第二個是日本人寫的(還真牛)。好多人喜歡用caffe,不過貌似是沒有torch 7方便,有一個好處就是直接是C++,效率比較高。不過,這兩個程序我都沒有跑過,看作者給的結果,挺不錯的。
- 上面說的搞逆向的人愛沙尼亞Ilya Kuzovkin的關于google源碼的改進,還有相關電腦的配置信息。https://github.com/kuz/DeepMind-Atari-Deep-Q-Learner 。這里跟一下他們的報告https://courses.cs.ut.ee/MTAT.03.291/2014_spring/uploads/Main/Replicating%20DeepMind.pdf ,趕腳特別專業,和這個作者聯系過,人特別很nice。
- 還有一些基本都是他們的fork出來改進的,讀者自己去挖吧!
基本上重要的就是這么多了,然后外圍的關于Torch 7和其他東西的安裝就不提了。
三、論壇
這是google上的一個小組,里面有不少人討論DQN的算法以及代碼使用心得,有興趣的可以加入。
https://groups.google.com/forum/#!topic/deep-q-learning。
最后用Deep Mind的主頁鎮樓http://deepmind.com/ 。
PS:歡迎各位大小牛牛補充~~~
[1] S. Lange and M. Riedmiller, "Deep auto-encoder neural networks in reinforcement learning," in IJCNN, 2010, pp. 1-8.
[2] G. Cuccu, M. Luciw, J. Schmidhuber, and F. Gomez, "Intrinsically motivated neuroevolution for vision-based reinforcement learning," in Development and Learning (ICDL), 2011 IEEE International Conference on, 2011, pp. 1-7.
[3] F. Abtahi and I. Fasel, "Deep belief nets as function approximators for reinforcement learning," RBM, vol. 2, p. h3, 2011.
[4] S. Lange, M. Riedmiller, and A. Voigtlander, "Autonomous reinforcement learning on raw visual input data in a real world application," in Neural Networks (IJCNN), The 2012 International Joint Conference on, 2012, pp. 1-8.
[5] I. Arel, "Deep Reinforcement Learning as Foundation for Artificial General Intelligence," in Theoretical Foundations of Artificial General Intelligence, ed: Springer, 2012, pp. 89-102.
[6] V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wierstra, et al., "Playing Atari with deep reinforcement learning," arXiv preprint arXiv:1312.5602, 2013.
[7] V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, J. Veness, M. G. Bellemare, et al., "Human-level control through deep reinforcement learning," Nature, vol. 518(7540), pp. 529-533, 2015.
來自:http://wanghaitao8118.blog.163.com/blog/static/13986977220153811210319/