深度强化学习(一):概论

一、起源与发展

1.1、思想基础

强化学习(Reinfrocement Learning)的思想源于行为心理学(behavioural psychology)的研究。1911年Thorndike提出了效用法则(Law of Effect):一定情境下让动物感到愉快的行为,就会与此情景加强联系,当此情景再现时,动物的这种行为也更易再现;相反,让动物感觉不愉快的行为,会减弱与此情景的联系,此情景再现时,此行为将很难再现。
换句话说,那种行为会被记住取决于该行为产生的效用。例如:在主人扔出飞盘时,狗叼回飞盘给主人的行为获得了肉骨头,将会使得“狗叼回扔出的飞盘”这个行为和“主人扔出飞盘时”这个情景加强了联系,“获得肉骨头”的效用将使狗记住“叼回扔出的飞盘”的行为。
这样一种生物智能模式使得动物可以从不同行为尝试获得的奖励或惩罚学会在该情境下选择训练者最期望的行为。这就是强化学习的核心机制:用试错(trail-and-error)来学会在给定的情境下选择最恰当的行为。Sutton定义强化学习为:通过试错学习如何最佳地匹配状态(states)和动作(actions),以期获得最大的回报(rewards)。

1.2、重要节点事件

1956年Bellman提出了动态规划方法。
1977年Werbos提出只适应动态规划算法。
1988年sutton提出时间差分算法。
1992年Watkins 提出Q-learning 算法。
1994年rummery 提出Saras算法。
1996年Bersekas提出解决随机过程中优化控制的神经动态规划方法。
2006年Kocsis提出了置信上限树算法。
2009年kewis提出反馈控制只适应动态规划算法。
2014年silver提出确定性策略梯度(Policy Gradents)算法。
2015年Google-DeepMind提出Deep-Q-Network算法。
2016年Google-DeepMind开发的基于RL的AlphaGo战胜围棋高手李世石。
2018年Open AI 在DOTA 5v5 比赛中战胜职业选手

1.3、强化学习的地位

强化学习是一个交叉学科,与计算机科学、脑神经科学、数学、工程学、心理学、经济学都有密切关系。例如:数学中的Markov决策过程和Bellman方程是其理论基础;工程学中的优化控制提供了动作选择的策略;脑神经科学为DQN算法的提出提供了诸多灵感;经济学的目标同样是根据不完全信息以获取最大化回报,等等,不一而足。
强化学习与其他学科的关系

强化学习是机器学习的一个分支,具有以下特点:
a. 无特定数据,只有奖励信号
b. 奖励信号不一定实时
c. 主要研究时间序列的数据,而不是独立同分布的数据
d. 当前行为影响后续数据
对比其他机器学习方法,监督学习和无监督学习都需要静态的数据,不需要与环境交互,数据输入到相关函数训练就行。而且对于有监督学习和无监督学习来说,有监督学习强调通过学习有标签的数据,预测新数据的标签,无监督学习更多是挖掘数据中隐含的规律。强化学习不需要给出“正确”标签作为监督信息,只需要给出策略的(延时)回报,并通过调整策略来取得最大化的期望回报。


强化学习与机器学习的关系

1.4、深度学习与强化学习

深度强化学习框架

深度强化学习是深度学习和强化学习的结合,利用了深度学习的感知能力,来解决策略和值函数的建模问题,然后使用误差反向传播算法来优化目标函数;同时利用了强化学习的决策能力,来定义问题和优化目标。深度强化学习在一定程度上具备了解决复杂问题的通用智能,并在一些领域取得了成功。
下图的例子说明了深度学习和强化学习的关系,即深度学习能够识别图片中的对象,而不会进行任何决策;而强化学习能够在识别对象的基础上进一步提供决策信息。


深度学习
强化学习

2、算法种种

在介绍具体结构和理论之前,不妨先了解一下算法目前的发展状况。

2.1、算法家族

到目前为止,(深度)强化学习已经发展出了多种算法,从模型的角度看,可分为基于模型和无模型;从优化的角度看,可分为基于值函数和基于策略梯度的。每种下又有多种具体的算法,其关系如下图所示,在之后的帖子中多数算法的原理都会被介绍并加以实践,在此不再赘述。
深度强化学习算法

2.2、强化学习家族

由于具体问题、场景、算法、组成的不同,强化学习又可以被分为多个子分支,这些分支表现了不同行业的研究者对于问题的不同认知方式,同时也代表了一个或多个研究和发展的方向。
强化学习种种

最后附上与强化学习有关的多种因素,其中涉及算法、概念、学科、思想等多方面,能够充分理解和运用这些因素足以表明在此领域的较高水平(当然,笔者此刻还远未达到,尚需努力~)。


概念、算法及其它

3、现状与不足

3.1、一些有意思的应用

众所周知,(深度)强化学习已经在一些领域取得了很好的成果。目前而言,至少在运动控制、自动驾驶、推荐系统、市场交易、智能电网等领域取得了实验室级的应用成果,本节仅简要展示其中一小部分。

心塞塞的柯洁
FlappyBird小游戏

(由于简书还无法插入视频,故仅附上链接)
自动驾驶
Learning to drive in a day
Self-supervised Deep Reinforcement Learning with Generalized Computation Graphs for Robot Navigation
运动控制
Robot Learns to Flip Pancakes
Socially Aware Motion Planning with Deep Reinforcement Learning
游戏
Google DeepMind's Deep Q-learning playing Atari Breakout
Dota 2 Reinforcement Learning
市场交易
reinforcement learning in online stock trading: Strategy 2000$ in 10 minutes never loses very easy trick 2019
Applying Deep Reinforcement Learning to Trading with Dr. Tucker Balch
推荐系统
Reinforcement Learning for Recommender Systems: A Case Study on Youtube
智能电网
Distributed Reinforcement Learning for Electricity Market Bidding
Machine Learning Applications for Energy Efficiency and Customer Care
(友情提供YouTube视频下载工具:https://www.onlinevideoconverter.com/youtube-converter)

3.2、从劝退文说起

尽管深度强化学习取得了一些成果,但不可避免地也会出现一些问题。随着论文Deep Reinforcement Learning That Matters和帖子Deep Reinforcement Learning Doesn't Work Yet的出现,深度强化学习一度受到了巨大的质疑,知乎上也出现了一些类似的讨论这里有一篇深度强化学习劝退文和专栏强化学习从入门到放弃。同时流行一句名言:

Whenever someone asks me if reinforcement learning can solve their problem, I tell them it can’t. I think this is right at least 70% of the time.


质疑指出的问题包括但不仅仅限于以下方面:
1. 样本利用率低。即需要极为大量的训练样本。
2. 最终表现往往不够好。甚至常常不如传统的方法。
3. 好的奖励函数很重要。而奖励函数往往很难设计。
4. 探索-利用困境。可能陷入局部最优。
5. 对环境的过拟合。几乎无法进行场景迁移。
6. 不稳定性。模型的表现易受影响。

不同强化学习算法在 Atari 中的表现

举个例子来说,通过为 57 个 Atari 游戏中的每一个训练一个 DQN 模型,然后将每个智能体的得分进行标准化,使得人类的性能是 100%,然后将模型在 57 款游戏上的中值得分画出来。RainbowDQN 模型的训练数据达到约 1800 万帧的时候突破了 100% 的阈值。这相当于玩了 83 小时的游戏,再加上训练模型所花的时间。而人类通常能够在几分钟之内学会一款 Atari 游戏。
必须承认以上的问题是客观存在的,而正因如此,深度强化学习才更有继续研究的必要,同时问题或许也指明了未来的研究方向。

4、一些有用的学习资料

(笔者在研究强化学习时走过不少弯路,也看过一些文献和资料,在此列举出一些重要的部分,希望对后来的研究者有所帮助)

4.1、论文汇编

https://github.com/muupan/deep-reinforcement-learning-papers
https://github.com/junhyukoh/deep-reinforcement-learning-papers

4.2、教材和参考书

Sutton R S, Barto A G. Reinforcement learning: An introduction[M]. MIT press, 2018.
http://incompleteideas.net/book/RLbook2018.pdf
中文翻译版:https://github.com/rl-cn/rl-cn/releases
Wiering M, Van Otterlo M. Reinforcement learning. 2012
https://link.springer.com/book/10.1007%2F978-3-642-27645-3
Szepesvári C. Algorithms for reinforcement learning. 2010
https://www.morganclaypool.com/doi/abs/10.2200/S00268ED1V01Y201005AIM009

4.3、网上课程

CS 234 at Stanford

http://web.stanford.edu/class/cs234/index.html

CS 294-112 at UC Berkeley

http://rail.eecs.berkeley.edu/deeprlcourse/

Deep Reinforcement Learning and Control , CMU

https://katefvision.github.io/

Udemy高级教程

https://www.udemy.com/deep-reinforcement-learning-in-python/

莫烦教程

https://www.bilibili.com/video/av16921335/

4.4、会议论坛

NIPS 2016 Deep RL workshop

http://rll.berkeley.edu/deeprlworkshop/

4.5、函数库与工具包

RL-Glue:提供了一个将强化学习智能体、环境和程序连接起来的标准界面,且可进行跨语言编程。
http://glue.rl-community.org/wiki/Main_Page
Gym:由OpenAI开发,是一个用于开发强化学习算法和性能对比的工具包,它可以训练多种任务,包括步行和玩乒乓球游戏等。
https://gym.openai.com/
RL4J:是集成在deeplearning4j库下的一个强化学习框架,已获得Apache 2.0开源许可。
https://github.com/deeplearning4j/rl4j
TensorForce:一个用于强化学习的TensorFlow库。
https://github.com/reinforceio/tensorforce
DeeR:主要用于深度强化学习的开发,易于学习和上手。
https://deer.readthedocs.io/en/master/

不同包特点和性能的对比

参考资料

[1] Barto A G, Sutton R S. Reinforcement Learning: An Introduction.MIT press, 2018.
[2] 冯超著 强化学习精要:核心算法与TensorFlow实现. ----北京:电子工业出版社 2018.
[3] 郭宪,方纯勇编著 深入浅出强化学习:原理入门. ----北京:电子工业出版社 2018.
[4] http://baijiahao.baidu.com/s?id=1596735818711610939&wfr=spider&for=pc
[5] 邱锡鹏著,神经网络与深度学习. https://nndl.github.io/ 2019.
[6] Maxim Lapan. Deep Reinforcement Learning Hands-On. 2018.
[7] Li, Yuxi. Deep Reinforcement Learning[J]. 2018.
[8] Henderson P , Islam R , Bachman P , et al. Deep Reinforcement Learning that Matters[J]. 2017.
[9] François-Lavet V, Henderson P, Islam R, et al. An introduction to deep reinforcement learning[J]. Foundations and Trends® in Machine Learning, 2018, 11(3-4): 219-354.

一点态度,一种进取精神

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容