repost: Deep Reinforcement Learning
From:
http://wanghaitao8118.blog.163.com/blog/static/13986977220153811210319/
accessed 2016-03-10
深度强化学习(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和教程呢!有些视频得翻墙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/ 。
四、补充
在跑Deep Mind的程序的时候,可能会遇到一些问题
问题1
在convnet.lua的22行中报错,返回nill value,这个地方对于torch的设置有问题,请看如下网址。
http://stackoverflow.com/questions/29564360/bug-encountered-when-running-googles-deep-q-network-code
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.
repost: Deep Reinforcement Learning的更多相关文章
- (转) Playing FPS games with deep reinforcement learning
Playing FPS games with deep reinforcement learning 博文转自:https://blog.acolyer.org/2016/11/23/playing- ...
- (zhuan) Deep Reinforcement Learning Papers
Deep Reinforcement Learning Papers A list of recent papers regarding deep reinforcement learning. Th ...
- Learning Roadmap of Deep Reinforcement Learning
1. 知乎上关于DQN入门的系列文章 1.1 DQN 从入门到放弃 DQN 从入门到放弃1 DQN与增强学习 DQN 从入门到放弃2 增强学习与MDP DQN 从入门到放弃3 价值函数与Bellman ...
- (转) Deep Reinforcement Learning: Playing a Racing Game
Byte Tank Posts Archive Deep Reinforcement Learning: Playing a Racing Game OCT 6TH, 2016 Agent playi ...
- 论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning
Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper 摘要:本文的贡献点主要是在 DQN ...
- getting started with building a ROS simulation platform for Deep Reinforcement Learning
Apparently, this ongoing work is to make a preparation for futural research on Deep Reinforcement Le ...
- (转) Deep Reinforcement Learning: Pong from Pixels
Andrej Karpathy blog About Hacker's guide to Neural Networks Deep Reinforcement Learning: Pong from ...
- 论文笔记之:Asynchronous Methods for Deep Reinforcement Learning
Asynchronous Methods for Deep Reinforcement Learning ICML 2016 深度强化学习最近被人发现貌似不太稳定,有人提出很多改善的方法,这些方法有很 ...
- 论文笔记之:Deep Reinforcement Learning with Double Q-learning
Deep Reinforcement Learning with Double Q-learning Google DeepMind Abstract 主流的 Q-learning 算法过高的估计在特 ...
随机推荐
- CLR Exception---E0434F4D
什么是CLR Exception---E0434F4D 就是公共语言运行时(CLR)异常,异常代码为0xE0434F4D.因此任何托管异常,如NullReferenceException.invali ...
- diffy 方便的bug 以及流量测试系统
diffy 是twiiter 开源的流量以及bug 查找系统 参考使用图 几点说明 使用diffy我们需要三个角色 candidate instance 候选实例,运行新的代码 primary ins ...
- cf 1179 C
目录 A B C A 模拟出A不是最大值的情况,存起来. 最多有n个.当A为最大值的时候,后面n-1个数开始循环. 查询分两种情况讨论就行了 #include <bits/stdc++.h> ...
- web前端开发高级
前端高效开发框架技术与应用 Vue 基础Vue 框架简介 MVX 模式介绍Vue 框架概述如何使用 Vue.js 基础语法 实例对象生命周期模板语法计算属性Methods 方法 渲染 列表渲染条件渲染 ...
- 第08组 Alpha冲刺(3/6)
队名:955 组长博客:https://www.cnblogs.com/cclong/p/11872693.html 作业博客:https://edu.cnblogs.com/campus/fzu/S ...
- FZU Monthly-201906 tutorial
FZU Monthly-201906 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 AE B DG CF H A. X ...
- EventHandler
表示将处理不包含事件数据的事件的方法 作用:这句话的意思就是把这两个事放在一起了,意思就是叫你吃完饭了喊我一声.我委托你吃完饭了,喊我一声.这样我就不用过一会就来看一下你吃完了没有了,已经委托你了.
- abp中使用同步方法调用异步方法
var result= AsyncHelper.RunSync(()=>{ return _service.GetUserAsync(); });
- R3300L Android相关的记录
在寻找高版本Android固件的过程中遇到一个Android6.0的固件, 刷上去之后发现没有Root. 因为原发布者设置了收费的QQ群, 固件开机图上就是QQ群号, 满以为交了钱之后应该能有Root ...
- Data truncation: Out of range value for column 'quanity' at row 问题解决方案
由于之前在自己电脑上搭建了mysql 5.6的数据库,但是在服务器上搭建的是mysql 5.7的环境,在运行过程中出现了如下错误: Data truncation: Out of range valu ...