深度学习和深度强化学习的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习和深度强化学习的区别相关的知识,希望对你有一定的参考价值。

强化学习和深度学习是两种技术,只不过深度学习技术可以用到强化学习上,这个就叫深度强化学习.

1.强化学习其实也是机器学习的一个分支,但是它与我们常见的机器学习不太一样。它讲究在一系列的情景之下,通过多步恰当的决策来达到一个目标,是一种序列多步决策的问题。强化学习是一种标记延迟的监督学习。

2.强化学习实际上是一套很通用的解决人工智能问题的框架,很值得大家去研究。另一方面,深度学习不仅能够为强化学习带来端到端优化的便利,而且使得强化学习不再受限于低维的空间中,极大地拓展了强化学习的使用范围。

参考技术A 强化学习要求agent去探索环境,然后对状态进行evaluate,在每一个状态下agent可以选择多种action,每次选择的依据可以是贪婪或者softmax等,但是得到的reward是无法表明当前的选择是正确的还是错误的,得到的只是一个score,监督学习的labels可以给agent简洁明了的correct or wrong,并且在agent 在对环境充分的探索前即在每一种状态下选择的每个action的次数不够多时,无法充分求expect,并且在action之间也无法进行对比择优。但是当监督学习的label信息有噪声干扰或者是利用一些active learning 获得到的labels的时候,强化学习的agent与环境直接交互获取到的信息是更加可靠。
强化学习也是使用未标记的数据,但是可以通过某种方法知道你是离正确答案越来越近还是越来越远(即奖惩函数)。传统的“冷热游戏”(hotter or colder,是美版捉迷藏游戏 Huckle Buckle Beanstalk 的一个变种)很生动的解释了这个概念。你的朋友会事先藏好一个东西,当你离这个东西越来越近的时候,你朋友就说热,越来越远的时候,你朋友会说冷。冷或者热就是一个奖惩函数。半监督学习算法就是最大化奖惩函数。可以把奖惩函数想象成正确答案的一个延迟的、稀疏的形式。
在监督学习中,能直接得到每个输入的对应的输出。强化学习中,训练一段时间后,你才能得到一个延迟的反馈,并且只有一点提示说明你是离答案越来越远还是越来越近。
DeepMind 在自然杂志上发表了一篇论文 ,介绍了他们把强化学习和深度学习结合起来,让神经网络学着玩各种雅达利(Atari)游戏(就是各种街机游戏),一些游戏如打砖块(breakout)非常成功,但是另一些游戏比如蒙特祖玛的复仇,就表现的很糟糕。
参考技术B 强化学习其实也是机器学习的一个分支,但是它与我们常见的机器学习(比如监督学习supervised
learning)不太一样。它讲究在一系列的情景之下,通过多步恰当的决策来达到一个目标,是一种序列多步决策的问题。强化学习是一种标记延迟的监督学习。强化学习实际上是一套很通用的解决人工智能问题的框架,很值得大家去研究。另一方面,深度学习不仅能够为强化学习带来端到端优化的便利,而且使得强化学习不再受限于低维的空间中,极大地拓展了强化学习的使用范围。
参考技术C 深度强化学习就是在传统强化学习的基础上增加了神经网络,如Q-learning上加了网络变成DQN就是深度强化学习了,通过深度网络来拟合函数获得Q值,解决Q-table面对连续状态和高维动作空间时很吃力的问题。

深度强化学习技术概述

深度强化学习介绍

强化学习主要用来学习一种最大化智能体与环境交互获得的长期奖惩值的策略,其常用来处理状态空间和动作空间小的任务,在如今大数据和深度学习快速发展的时代下,针对传统强化学习无法解决高维数据输入的问题,2013年Mnih V等人首次将深度学习中的卷积神经网络(Convolutional Neural Networks,CNN)[1][2][3]引入强化学习中,提出了DQN(Deep Q Learning Network)[4][5]算法,至此国际上便开始了对深度强化学习(Deep Reinforcement Learning,DRL)的科研工作。除此之外,深度强化学习领域中一个里程牌事件是2016年的AlphaGo 对战李世石的围棋世纪大战[6][7],谷歌旗下的人工智能团队DeepMind 基于深度强化学习开发出的围棋程序 AlphaGo击败了世界顶级围棋大师李世石,震惊了世界,也因此拉开了深度强化学习从学术界走向大众认知的帷幕。 深度强化学习结合了深度学习[8](Deep Learning,DL)的特征提取能力和强化学习(Reinforcement Learning,RL)的决策能力[9],可以直接根据输入的多维数据做出最优决策输出,是一种端对端(end-to-end)的决策控制系统,广泛应用于动态决策、实时预测、仿真模拟、游戏博弈等领域,其通过与环境不断地进行实时交互,将环境信息作为输入来获取失败或成功的经验来更新决策网络的参数,从而学习到最优决策。深度强化学习框架如下:

上图深度强化学习框架中,智能体与环境进行交互,智能体通过深度学习对环境状态进行特征提取,将结果传递给强化学习进行决策并执行动作,执行完动作后得到环境反馈的新状态和奖惩进而更新决策算法。此过程反复迭代,最终使智能体学到获得最大长期奖惩值的策略。

深度强化学习的数学模型

强化学习[10]是一种决策系统,其基本思想是通过与环境进行实时交互,在不断地失败与成功的过程中学习经验,最大化智能体(Agent)从环境中获得的累计奖励值,最终使得智能体学到最优策略(Policy),其原理过程如下图所示:

上图强化学习基本模型中,智能体(Agent)是强化学习的动作实体,智能体在当前状态下根据动作选择策略执行动作,执行该动作后其得到环境反馈奖惩值 和下一状态,并根据反馈信息更新强化学习算法参数,此过程会反复循环下去,最终智能体学习到完成目标任务的最优策略。 马尔可夫决策过程(Markov Decision Process,MDP)[11]是强化学习理论的数学描述,其可以将强化学习问题以概率论的形式表示出来。 在MDP中可将强化学习以一个包含四个属性的元组表示:S,A,P,R,其中: S 和 A 分别表示智能体的环境状态集和智能体可选择的动作集

基于值函数的深度强化学习算法

基于值函数(Value based)的学习方法是一种求解最优值函数从而获取最优策略的方法。值函数输出的最优动作最终会收敛到确定的动作,从而学习到一种确定性策略。当在动作空间连续的情况下该方法存在维度灾难、计算代价大问题,虽然可以将动作空间离散化处理,但离散间距不易确定,过大会导致算法取不到最优,过小会使得动作空间过大,影响算法速度。因此该方法常被用于离散动作空间下动作策略为确定性的强化学习任务。

基于值函数的深度强化学习算法利用CNN来逼近传统强化学习的动作值函数,代表算法就是DQN算法, DQN算法框架如下:

基于策略梯度的深度强化学习算法

基于策略梯度(Policy based)的深度强化学习算法是一种最大化策略目标函数从而获取最优策略的方法,其相比Value based方法区别在于:

  1. 可以学习到一种最优化随机策略。Policy based方法在训练过程中直接学习策略函数,随着策略梯度方向优化策略函数参数,使得策略目标函数最大化,最终策略输出最优动作分布。策略以一定概率输出动作,每次结果很可能不一样,故不适合应用于像CR频谱协同这类动作策略为确定性的问题中。
  2. Policy based方法容易收敛到局部极值,而Value based探索能力强可以找到最佳值函数。

上述中的策略目标函数用来衡量策略的性能。定义如下:

AC算法

R=\\Sigma^T-1_t=1r_t

AC算法框架被广泛应用于实际强化学习算法中,该框架集成了值函数估计算法和策略搜索算法,是解决实际问题时最常考虑的框架。众所周知的alphago便用了AC框架。而且在强化学习领域最受欢迎的A3C算法,DDPG算法,PPO算法等都是AC框架。 Actor-Critic算法分为两部分,Actor的前身是policy gradient,policy gradient可以轻松地在连续动作空间内选择合适的动作(value-based的Q-learning只能解决离散动作空间的问题)。但是又因为Actor是基于一个episode的return来进行更新的,所以学习效率比较慢。这时候我们发现使用一个value-based的算法作为Critic就可以使用梯度下降方法实现单步更新,这其实可以看做是拿偏差换方差,使得方差变小。这样两种算法相互补充结合就形成了Actor-Critic算法。框架如下:

Actor 基于概率分布选择行为, Critic 基于 Actor 生成的行为评判得分, Actor 再根据 Critic 的评分修改选行为的概率。下面分析优缺点:

优点:可以进行单步更新,不需要跑完一个episode再更新网络参数,相较于传统的PG更新更快。传统PG对价值的估计虽然是无偏的,但方差较大,AC方法牺牲了一点偏差,但能够有效降低方差;

缺点:Actor的行为取决于 Critic 的Value,但是因为 Critic本身就很难收敛和actor一起更新的话就更难收敛了。(为了解决收敛问题, Deepmind 提出了 Actor Critic 升级版 Deep Deterministic Policy Gradient,后者融合了 DQN 的一些 trick, 解决了收敛难的问题)。

参考文献

  1. Ketkar N . Convolutional Neural Networks[J]. 2017.
  2. Aghdam H H , Heravi E J . Convolutional Neural Networks[M]// Guide to Convolutional Neural Networks. Springer International Publishing, 2017.
  3. Gu, Jiuxiang, Wang, et al. Recent advances in convolutional neural networks[J]. PATTERN RECOGNITION, 2018.
  4. MINH V, KAVUKCUOGLU K, SILVER D, et al.Playing atari with deep reinforcement learning[J].Computer Science, 2013, 1-9.
  5. MNIH V,KAVUKCUOGLU K,SILVER D,et al.Human-level control through deep reinforcement learning[J].Nature,2015,518(7540):529-533.
  6. 曹誉栊. 从AlphaGO战胜李世石窥探人工智能发展方向[J]. 电脑迷, 2018, 115(12):188.
  7. 刘绍桐. 从AlphaGo完胜李世石看人工智能与人类发展[J]. 科学家, 2016(16).
  8. Lecun Y, Bengio Y, Hinton G. Deep learning.[J]. 2015, 521(7553):436.
  9. 赵冬斌,邵坤,朱圆恒,李栋,陈亚冉,王海涛,刘德荣,周彤,王成红.深度强化学习综述:兼论计算机围棋的发展[J].控制理论与应用,2016,33(06):701-717.9
  10. 陈学松, 杨宜民. 强化学习研究综述[J]. 计算机应用研究(8):40-44+50.
  11. L. C. Thomas. Markov Decision Processes[J]. European Journal of Operational Research, 1995, 46(6):792-793.
  12. Bardi M, Bardi M. Optimal control and viscosity solutions of Hamilton-Jacobi-Bellman equations /[M]// Optimal control and viscosity solutions of Hamilton-Jacobi-Bellman equations. 1997.
  13. Ruder S . An overview of gradient descent optimization algorithms[J]. 2016.
  14. R. Johnson, T. Zhang. Accelerating stochastic gradient descent using predictive variance reduction[J]. News in physiological sciences, 2013, 1(3):315-323.
  15. Sutton, Richard& Mcallester, David& Singh, Satinder& Mansour, Yishay. (2000). Policy Gradient Methods for Reinforcement Learning with Function Approximation. Adv. Neural Inf. Process. Syst. 12.
  16. Silver, David& Lever, Guy& Heess, Nicolas& Degris, Thomas& Wierstra, Daan& Riedmiller, Martin. (2014). Deterministic Policy Gradient Algorithms. 31st International Conference on Machine Learning, ICML 2014. 1.
  17. Lillicrap, Timothy& Hunt, Jonathan& Pritzel, Alexander& Heess, Nicolas& Erez, Tom& Tassa, Yuval& Silver, David& Wierstra, Daan. (2015). Continuous control with deep reinforcement learning. CoRR.

原文链接

本文为阿里云原创内容,未经允许不得转载。

以上是关于深度学习和深度强化学习的区别的主要内容,如果未能解决你的问题,请参考以下文章

深度强化学习与深度Q网络

PyTorch深度学习实战 | 自然语言处理与强化学习

深度学习+强化学习=深度强化学习

深度强化学习技术概述

海云译见 | 深度学习最新进展:“IMPALA”深度强化多任务学习架构

深度强化学习