深度强化学习(Deep Reinforcement Learning)的资源

2015-04-08 11:21:00|  分类: Torch |  标签:深度强化学习   |举报 |字号 订阅

Google的Deep Mind团队2013年在NIPS上发表了一篇牛x闪闪的文章,亮瞎了好多人眼睛,不幸的是我也在其中。前一段时间收集了好多关于这方面的资料,一直躺在收藏夹中,目前正在做一些相关的工作(希望有小伙伴一起交流)。

一、相关文章

关于DRL,这方面的工作基本应该是随着深度学习的爆红最近才兴起的,做这方面的研究的一般都是人工智能领域的大牛。最早(待定)的一篇可以追溯到2010年,Lange[1]做的相关工作。 提出了Deep auto-encoder用于基于视觉的相关控制,和目前的架构其实已经很相似了。接下来,在2011年,Cuccu等人[2](Jurgen Schmidhuber课题组的),做了一些相关的工作(有和DRL靠近的意思)。关于这位瑞士的大牛Jurgen先生,他去年写了一篇关于DL的综述,这不是关键,关键是这货引用了888篇参考文献,这货必定受了中国高人指点(因为中国人很喜欢的),事实上他也做中文识别(我都惊呆了)。还是2011年,Abtahi等人[3]用DBN替代传统的强化学习中的逼近器(做RL的人是不是很亲切,和Deep mind就差一点儿额!有木有觉得很可惜,几乎都摸到Nature的门上了), 。2012年的时候,Lange[4]这人更进一步开始做应用了,提出Deep Fitted Q学习做车辆控制,不过效果不咋地。后来2012年的时候,就有人开始写深度强化学习的相关应用前景和综述了,比如Arel[5](大牛们还是看的比较远的)的。然后时间就到了2013年,Deep Mind团队在nips上发表了他们的文章[6],业界都惊呆了,(RL和DL还可以这样玩儿)。但是,刚出来的时候,他们不给代码,各路牛人震惊之余开始搞逆向工程,最后真有一帮人把代码写出来了(囧啊!我为什么写不出来呢?)后来更给力的就是Deep mind[7]居然又更进一步发到nature上去了。 反正我当时知道后都惊呆了,人工智能领域的人开始狂欢了,各种摇旗呐喊的人,然后现在这东西开始变得炙手可热,不知道会不会像Google眼镜一样。关于DRL的发展就是这个样子,接下来就看看那些个人怎么给呐喊的吧!
二、科学评论
  • 先给中文的,这篇分析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)深挖了好久,没想到大牛真的好多好多啊!

  1. 排在第一的当然是google自己公布的代码啊!真是业界良心啊!https://sites.google.com/a/deepmind.com/dqn/ 。可惜注释好少。。。。。是基于Torch 7的代码,本人又硬着头皮学了lua。话说我这几个月我就在和各种脚本语言打交道,都是泪啊!备注,deep mind的git地址https://github.com/deepmind 。话说没有GPU的电脑真心不要跑了,我跑了13个小时才跑了大概1/20~~~建议在ubuntu下面跑,最好版本高一些;
  2. 然后就是各路人马(大牛们)的逆向工程。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之类的,步骤比较多~不过大牛的学生都是大牛。
  3. https://github.com/kristjankorjus/Replicating-DeepMind ,这里Kristjankorjus大牛基于convnet的东东,发布了这一代码,也是基于python的,我表示没有跑过,不清楚状况,貌似也要GPU,也要配置一堆库。
  4. 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上了,有点儿对不起原作者了。
  5. 也有人用caffe实现了,是个日本人。目前有两个地址,https://github.com/chiggum/AI/tree/master/rl/atari_agent,和https://github.com/muupan/dqn-in-the-caffe 第二个是日本人写的(还真牛)。好多人喜欢用caffe,不过貌似是没有torch 7方便,有一个好处就是直接是C++,效率比较高。不过,这两个程序我都没有跑过,看作者给的结果,挺不错的。
  6. 上面说的搞逆向的人爱沙尼亚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。
  7. 还有一些基本都是他们的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.

深度强化学习(Deep Reinforcement Learning)的资源相关推荐

  1. 深度强化学习 Deep Reinforcement Learning 学习整理

    这学期的一门机器学习课程中突发奇想,既然卷积神经网络可以识别一副图片,解决分类问题,那如果用神经网络去控制'自动驾驶',在一个虚拟的环境中不停的给网络输入车周围环境的图片,让它去选择前后左右中的一个操 ...

  2. 【DQN】解析 DeepMind 深度强化学习 (Deep Reinforcement Learning) 技术

    原文:http://www.jianshu.com/p/d347bb2ca53c 声明:感谢 Tambet Matiisen 的创作,这里只对最为核心的部分进行的翻译 Two years ago, a ...

  3. 学习笔记|强化学习(Reinforcement Learning, RL)——让AlphaGo进化得比人类更强

    文章目录 1. 题外话:人类棋手的最后赞礼 2. 强化学习概述 2.1 强化学习的目标也是要找一个Function 2.2 强化学习的三个基本步骤 2.2.1 定义一个function 2.2.2 定 ...

  4. 强化学习(Reinforcement Learning)是什么?强化学习(Reinforcement Learning)和常规的监督学习以及无监督学习有哪些不同?

    强化学习(Reinforcement Learning)是什么?强化学习(Reinforcement Learning)和常规的监督学习以及无监督学习有哪些不同? 目录

  5. 【论文汇总】人工智能顶会深度主动学习(Deep Active Learning)相关论文

    汇总2017年至今,ICCV\CVPR\NIPS\ECCV会议上发表的深度主动学习(Deep Active Learning)相关文章,根据原文中report的实验数据集划分为 图像分类 . 语义分割 ...

  6. 强化学习(Reinforcement Learning)背景介绍

    强化学习前世今生 如今机器学习发展的如此迅猛,各类算法层出不群,特别是深度神经网络的发展,为非常经典的强化学习带来了新的思路,虽然强化学习一直在发展中,但在2013年这个关键点,DeepMind大神D ...

  7. 强化学习系列(1):强化学习(Reinforcement Learning)

    强化学习前世今生 也可以直接查看本博主强化学习专栏的简介: https://blog.csdn.net/gsww404/article/details/79763003 [直接点击查看完整版] 如今机 ...

  8. 强化学习(Reinforcement learning)综述

    文章目录 Reinforcement learning 综述 强化学习的分类 环境(Model-free,Model-based) Based(Policy-Based RL & Value- ...

  9. Sam Altman 山姆奥特曼:强化学习进展 Reinforcement Learning Progress

    目录 Reinforcement Learning Progress 强化学习进展 PPO(近端策略优化)

  10. RLHF:基于人类反馈(Human Feedback)对语言模型进行强化学习【Reinforcement Learning from Human Feedback】

    HuggingFace发表了一篇博客,详细讲解了ChatGPT背后的技术原理--RLHF. 笔者读过之后,觉得讲解的还是蛮清晰的,因此提炼了一下核心脉络,希望给对ChatGPT技术原理感兴趣的小伙伴带 ...

最新文章

  1. 黑龙江大学计算机调剂信息,黑龙江大学各学院2019考研调剂信息汇总(4月1日)
  2. OpenCV全向相机校准Omnidirectional Camera Calibration
  3. SQL Server 2008 阻止保存要求重新创建表的更改
  4. maven依赖包下载地址
  5. asp.net 页面静态化
  6. PHP中路径怎么用?
  7. 怎么用PHP修改文字大小,如何利用PHP和CSS改变网页文字大小
  8. 2020中国信息流平台品牌服务价值分析
  9. 框架简述 带你认识 Mybatis
  10. 基于DDD的golang实现
  11. android progressbar 自定义圆形旋转图片,Android progressBar 自定义圆形旋转图片
  12. Shell常用命令大全
  13. FL Studio最新汉化免费下载 水果音乐制作软件
  14. 线程安全单例模式(C++)
  15. 安装和卸载office以及激活电脑系统血淋淋的教训
  16. PythonProgramming.net Python 金融教程(转)
  17. 看在钱的份上,请你不要忽视算法
  18. linux多种方法提取ip地址
  19. 杭州公积金修改手机号信息
  20. PROE CREO 各类3D模型图档大全-8.2G

热门文章

  1. 漫 谈oracle 中 的 空 值
  2. 两幅相同大小图像的相似程度的两个评价指标-PSNR和SSIM
  3. ubuntu远程桌面
  4. linux虚拟网络设备--虚拟机网卡和linux bridge上tap设备的关系(七)
  5. leetcode算法题--两两交换链表中的节点★
  6. python安装好后打不开_windows的cmd中输入python后打不开python?
  7. CDesktopView类
  8. 第二十二章:动画(十五)
  9. 【天池直播】图像系列直播第一讲--带你入坑深度学习
  10. C#连接MySql数据库的方法