深度强化学习简介

点击我爱计算机视觉标星,更快获取CVML新技术


本文原载于知乎,已获作者授权转载,请勿二次转载。

https://zhuanlan.zhihu.com/p/112151840

深度Q-网络(DQN)点燃了深度强化学习的浪潮,通过经验重放(experience replay)和目标网络(target network)来解决稳定性和收敛问题,使Q学习更接近有监督的学习。

接下来介绍价值分布(value distribution),而不是经典的TD学习和Q学习中的价值期望(value expectation)。

然后讨论普遍(general)价值函数,除了状态或状态-行动对以外,通常将目标(goal)作为价值函数的参数。普遍价值函数为RL和AI的进一步发展带来了巨大希望。

在DQN之前,众所周知,当行动价值函数近似于神经网络等非线性函数时,RL不稳定甚至发散。当结合无策略、函数逼近和自举时,那就变成了致命的三元组问题(triad issue)。DQN做出了一些贡献:

  • 用经验重放和目标网络,深度神经网络(特别是CNN)使行动价值的函数逼近训练稳定;

  • 设计端到端RL方法,仅像素和游戏分数作为输入,这样仅需要最少的领域知识;

  • 使用相同的算法、网络架构和超参数训练灵活的网络,在许多不同的任务上表现良好,优于先前的算法,并且与人类专业测试者相当。

DQN使用CNN来近似最佳行为价值函数,

有几个因素导致不稳定:

1)序列观测中的相关性;

2)对行动价值函数Q的小更新可能会显著改变策略,从而改变数据分布;

3)行动价值Q和之间的相关性,通常是批处理Q-学习中的目标价值。

DQN使用经验重播和目标网络来解决不稳定性问题。在经验重放中,观测序列(st,at,rt,st + 1)存储在重放缓冲器中,并随机采样,以去除数据中的相关性,还平滑数据分布变化。

在DQN中,经验被均匀采样,优先经验重放(prioritized experience replay)根据重要性对经验进行采样。目标网络保持其单独的网络参数,并且仅周期性地更新,这样减少行动价值Q和目标之间的相关性。

Q-learning在迭代i更新网络参数的损失函数如下:

其中theta i是迭代i处的Q网络的参数,theta- i是迭代i处的目标网络的参数。目标网络参数周期更新,期间保持固定。

DQN的伪代码实现如下:

DQN有一个预处理步骤来减少输入维度。为提高稳定性,DQN还使用错误剪切,即在[-1,1]中剪切更新

行动者-批评(AC)算法学习策略和状态价值函数,并且价值函数用于自举,即从后续估计更新状态以减少方差并加速学习。

异步优势行动者–批评(asynchronous advantage actor-critic,A3C)在异步方法中实现了最佳性能,并且可以用于离散和连续情况。

A3C的伪代码实现如下:

每次tmax行动或到达终端状态之后,A3C在前视图用n-步返回更新策略π(at | st;θ)和价值函数V(st;θv)估计,类似于使用小批量(mini-batch)。在n-步更新中,做n-步返回更新,定义为:

对于策略和价值函数参数,每个n-步更新都会导致最后一个状态的一步更新,倒数第二个状态的两步更新,以及总共最多到tmax的更新。梯度更新可以看作是:

其中

是优势函数(advantage function)的估计值,k上限为tmax。

在A3C中,并行参与者采用不同的探索策略来稳定训练,因此不会用经验重放,尽管经验重放可以提高数据效率。经验重放使每次交互消耗更多的内存和计算,并且需要非策略RL算法。异步方法可以使用带策略RL方法。

此外,与大多数深度学习算法不同,异步方法可以在单个多核CPU上运行。


强化学习交流群

关注最新、最前沿的强化学习技术,扫码添加CV君拉你入群,如已为CV君其他账号好友请直接私信,

(请务必注明:强化学习):

喜欢在QQ交流的童鞋可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过还请见谅)


长按关注我爱计算机视觉

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值