深度强化学习技术概述

5d166b4323c9ab8745b37a22a4209c28.gif

在本文中详细介绍了深度强化学习技术,将强化学习分成三大类(value-based算法、policy-based算法及结合两者的AC算法)来进行介绍。首先,从数学理论角度介绍了强化学习;接着,从不同适用方向对两类深度强化学习算法进行介绍:基于值函数(Value-based)的深度强化学习算法DQN和基于策略(Policy-based)的深度强化学习算法PG。最后,介绍目前应用广泛的结合前两个算法的结合物AC(Actor-Critic)算法。

深度强化学习介绍

强化学习主要用来学习一种最大化智能体与环境交互获得的长期奖惩值的策略,其常用来处理状态空间和动作空间小的任务,在如今大数据和深度学习快速发展的时代下,针对传统强化学习无法解决高维数据输入的问题,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)的决策控制系统,广泛应用于动态决策、实时预测、仿真模拟、游戏博弈等领域,其通过与环境不断地进行实时交互,将环境信息作为输入来获取失败或成功的经验来更新决策网络的参数,从而学习到最优决策。深度强化学习框架如下:

d4b5c34c3cfc47c848a7388382f8a64e.png

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

  深度强化学习的数学模型

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

1881c60daed584d932805e365b2e57be.png

上图强化学习基本模型中,智能体(Agent)是强化学习的动作实体,智能体在当前状态下根据动作选择策略执行动作,执行该动作后其得到环境反馈奖惩值 和下一状态,并根据反馈信息更新强化学习算法参数,此过程会反复循环下去,最终智能体学习到完成目标任务的最优策略。



马尔可夫决策过程(Markov Decision Process,MDP)[11]是强化学习理论的数学描述,其可以将强化学习问题以概率论的形式表示出来。



在MDP中可将强化学习以一个包含四个属性的元组表示:{S,A,P,R},其中:



S 和 A 分别表示智能体的环境状态集和智能体可选择的动作集;

P 表示状态转移概率函数,假设 t 时刻状态为03c757caa13f1bd6e1a8c0319c9e2234.png,智能体执行动作后以概率转移进入下一个状态601a1164e6f4f6cd7963318b3f043b9a.png,则状态转移概率函数可以表示为:

3525e86956219d5d12e26bb3867936ec.png

R 表示智能体获得的反馈奖励函数,即智能体执行一个动作 a 后获得的即时奖励,可表示为:96f38120ff288b7f9c999a0a3ede0a4f.png

一个完整的马尔科夫决策过程可以用下图进行解释:

30699fb94e0ebfb2c94581138ac017e9.png

马尔可夫决策过程样例

上图 MDP 样例中,t 时刻智能体在状态84af1096a73afc6a0c307324731f0bb6.png下选择并执行动作be555629ad283782f3cb3f709a460c07.png,执行完动作后智能体得到环境反馈的奖惩值5d12559a4df91e3f31abea4c356e8f26.png,并以概率 P 转移到下一个时刻 t+1 的状态2223ed2003fd0a1c00a8ba85dee84004.png;智能体在状态014836984d3d53cbec6677e2541861d2.png下选择并执行动作0f0a280f55c449c1078e5a7fb7c7088d.png,同时获得该时刻奖惩值6799c3b6c04a823b9650820eea2db332.jpeg,并以概率 P 转移到下一个时刻 t+2 的状态0b6bddbbb0183a8823679ea404d82e7e.png。这个过程一直会进行下去,直至到达最终目标状态68877b41ebbd2c54b73103d71f9a86ed.png。强化学习的目标是使得MDP中长期奖惩值最大化,从而学习到一种选择最优动作的策略,其中,MDP中长期奖惩可以被表示为:

5fc9c77956b59c5beed728497ed89e3b.png

式中折扣因子222705a5fc2f5c98de76e9f839c255f7.png表示当前选择的动作对未来影响程度,其值在0到1之间;n 表示MDP中当前状态到目标状态的步数。

MDP中的策略88e182108054b3fd8c6dfd93733bd833.jpeg定义了智能体在状态 S 下到动作的映射关系,即:31cfc9bc8f511fe00c2fa9e9bbeb9bf9.png。由上式可知长期奖惩的获取必须要等整个MDP过程结束,假若状态集合规模过大,则整个强化学习系统存储量太大,运行太慢,故为了学习最优策略,一个可行的建模方法是利用值函数近似表示,强化学习引入两类价值函数:状态值函数361d809d95d892d11e6061e3c84aba87.png和动作值函数97111912d47bed412806120149a960ab.png。其中,状态值函数表示在状态 S 下获得的期望回报,其数学定义为:

43dd2b0857f9688201a3ae1af2aa8390.png

根据上上公式将上公式展开得到:

9e6d4195adbc0b97b5f71bf33a231aa8.png

最终得到的状态价值函数可用贝尔曼(Bellman)方程[12]形式表示:

20afc153d7222970dfbf2ec0f32dc900.png

动作值函数表示在状态 S 下执行动作 a 后获得的期望回报,强化学习的智能体学习目标就是使得动作值函数最大化。动作值函数数学定义如下:

52d6cd8cd711bba946e5bf0e9bae5c70.png

最优动作值函数含义为:所有策略中动作值函数值最大的动作值函数,可表示为:

da99fdca8c305892e315d7aab6bc2c0b.png

式中,5ab91cc532fc61b99dec1fa224b2d526.png表示所有策略,300e44080178d5dfc309805f5318eb51.png表示使动作值函数最大的策略,即最优策略。上式可用Bellman方程表示如下:

4485d38fb629643eb1ab127d9d6e44f5.png

式中,r 和d1def8717545445def38329343bb1fb3.png分别为在状态 S 下采取动作 a 时的奖惩和对应的下一个状态;ffc0bdcdaeb0e2caa84cf3f0b3d1cb1f.jpeg为衰减因子;aff17f70aa01ed634ff7330496b21515.png为在状态a470e1972bf1933fce05ceb46668fa24.png能获取到最大动作值函数值的动作。



根据马尔可夫特性,状态值函数和动作值函数之间关系如下:

f36e8415be38ec77982bdf5fb7dc75a5.png

上式表明,状态值函数是动作值函数关于动作 a 的期望。

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

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



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

d81d61aa4a9f2d5510cb5ae8af3b6cbd.png

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

上图可以看出,基于值函数的深度强化学习算法DQN特征之一就是使用深度卷积神经网络逼近动作值函数。

其中,S 状态和577191d7af6fc89e1393cb46ae936571.png为多维数据;经验池用于存储训练过程中的成败经验。

DQN中有两个相同结构的神经网络,分别称为目标网络和评估网络。目标网络中的输出值fddb29bd4418321815cb6954d39bd44b.png表示当在状态 S 下选择动作 a 时的衰减得分,即:

61644125cd44dbc4982f6e25c38568f3.png

式中,r 和 S' 分别为在状态 S 下采取动作 a 时的得分和对应的下一个状态;af9f854060cfe3258a2cf08c14065041.png为衰减因子;a' 为评估网络输出的 Q 值向量表中在状态 S' 能获取到最大34674bde37e5be0e8dbaed319fb0a186.png值的动作,98e510d73019eb58dd75bf7dcd123572.png为目标网络的权重参数。

评估网络的输出值f788920164d0ac86b8d86a65cc8be8e2.png表示当在状态时采取动作的价值,即:

e82c34f3ec27183c1f085485460c260b.png

式中,03351c775a8125a7414da619e9d97155.png为评估网络的权重参数。

DQN训练过程中分为三个阶段:

  1. 初始阶段。这时经验池 D 未满,在每一个时刻 t 中随机选择行为获取经验元组e4cbb94e8d6bf93b8c8c1cb7316fa619.png,然后将每一步的经验元组存储至经验池81d80f98910c69a03564343d9bc27185.png。这个阶段主要用来积攒经验,此时DQN的两个网络均不进行训练;

  2. 探索阶段。这一阶段采用了abd7b4c70abc1d0cb39642cdb9ed634c.png贪心策略(66243b3f51e2afa2196f1e4076b92def.png从1至0逐渐减少)获取动作,在网络产生决策的同时,又能以一定的概率探索其他可能的最优行为,避免了陷入局部最优解的问题。这个阶段中不断更新经验池中的经验元组,并作为评估网络、目标网络的输入,得到49ecf6a6951bdd8d64568c2c172fddd9.png6a68b67df56ae54ed5a002c7ce58f3e2.png。然后将两者差值作为损失函数,以梯度下降算法[13][14]更新评估网络的权重参数。为了使训练收敛,目标网络的权重参数更新方式为:每隔一段固定的迭代次数,将评估网络的权重参数复制给目标网络参数;

  3. 利用阶段。这一阶段bb3ae56ec7b681e402020eabb56250d0.png降为0,即选择的动作全部来自评估网络的输出。评估网络和目标网络的更新方法和探索阶段一样。

基于值函数的深度强化学习算法DQN按上述三个阶段进行网络训练,当网络训练收敛,评估网络将逼近最优动作值函数,实现最优策略学习目的。



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

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

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

558f7de66147586ffe77b2346047714e.png

式中,a9b7cc63a4c4a63484151b290fa571d6.png为在策略7036fe42cec616ff4730772a87e36b72.png下处于状态 s 的概率,0970bccadc968aac92086447f97f9832.png为在状态 s 下采用策略eeab7b4cb495e24c475719dadd234f00.jpeg选择动作的概率,02e59d05d908d15b5dbe9a8679cc1395.png为即时奖惩 。



目前有很多基于策略梯度的深度强化学习算法,像:PG[16],DPG[15],DDPG[17]等。下面以PG算法作为该类算法代表进行介绍,基于PG的深度强化学习算法训练过程如下:

ffe176283be105542906c2353d7779a9.png

上述基于PG的深度强化学习算法实现过程为:

  1. 随机初始化神经网络参数6fa508802abc26e3c492a6224bf35cba.png,即随机定义了一个策略。策略c5736669937c217206417d79c5c3aab4.png表示在本回合参数为c3643dff5881ddc477d3291c1dbced02.png下每个状态ed0893571434d38f22be7e968e90cec1.png对应的动作66f10fb68407f751aaf920f58058b716.png的概率分布,表明神经网络输出的是动作概率。

  2. 基于PG的深度强化学习算法在每一个回合(episode)完成后才更新网络参数,其中一个回合内的长期奖惩值为 745509bf34cbe1a37f25d0fe5ac7c450.png

  3. 基于PG的深度强化学习算法的参数更新方法为:

fd3f583215b85ef0a45ed41478daf08e.png

式中,g 为策略梯度;73f6db72f4437f1218bcc43352662eab.png为用来控制策略参数更新速度的学习率。



该算法多次迭代后,训练出的神经网络可逼近最优动作值函数,以一定概率输出连续或离散动作空间下的最优动作。

  AC算法

R

=\Sigma^{T-1}_{t=1}{r_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算法。框架如下:

e47708cd0a9c84ff732e4324acef3a88.png

AC算法框架

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.



团队介绍

阿里巴巴-大淘宝技术 F(x) Team 。使命:前端智能让业务创新更⾼效!愿景:做最懂 AI 的前端团队!

✿  拓展阅读

89ae736f8cc2f3fdde5d29f85a435f7e.jpeg

39e78e35cf447540de0114a762f8cf25.jpeg

作者|江民民(民超)

编辑|橙子君

0529f865cfd8ff6ede36f5d047e22e08.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值