强化学习DQN系列小结

DQN

前言

DQN 作为 value-based 的强化学习方法,擅长处理离散情境下的强化学习问题。其本质是 deep learning 版本的 Q-learning,所以其基本模型和 Q-learning 类似,基于TD时间差分设置目标函数,并 ϵ − g r e e d y \epsilon-greedy ϵgreedy 的贪心策略进行探索和学习。在此基础上利用深度学习的优势,将难以维护的Q值表用一个神经网络来维护,形成了 Deep Q-Learning(NIPS 2013)。事实上,我们可以认为 deep learning 在其中的主要作用只是替换了 Q 值表,而算法的核心思想仍然可以认为是一种启发式搜索。

在此基础上,Nature DQN (NIPS 2015) 通过解耦目标Q值动作的选择和目标Q值的计算,提高了算法效率。此后又在 Nature DQN 的基础上产生了三种独立的优化策略: Deep Reinforcement Learning with Double Q-learning (AAAI 2016) 在计算 TD 值中的目标 Q值时,先从当前网络中获取动作,再从目标网络中计算;Dueling Network Architectures for Deep Reinforcement Learning (ICML 2016) 将 Q 值拆分成状态值 V 和动作的优势值 A;Prioritized Experience Replay (ICLR 2016) 认为 TD 值越大的样本对训练越有利,所以在经验池中,有更大概率选取那些 TD 值更大的样本进行训练;以上三种方法都优化了原始 DQN ,并且这几种方法可以被组合起来使用,后续的一些工作主要就做了融合的尝试,但是因为这种融合怪工作本身没有其他的创新点,所以这里暂且忽略不表。

基本模型

DQN

DQN 是深度版本的 Q-learning,主要基于 TD 时间差分方法,如果不熟悉时间差分,可以异步本人对强化学习数学模型的介绍 Breif Introduction for Reinforcement Learning (Background Info) 中 Temporal-Difference 一节。

数学记号

为了方便介绍,这里先重新给出接下来要用到的数学记号:

符号 含义
S S S 状态集合
s s s 某状态
A A A 动作集合
a a a 某动作
R ( s ) R(s) R(s) s s s 状态的回报值
Q ( s , a ) Q(s,a) Q(s,a) s s s 状态采取动作 a a a 产生的 Q Q Q
π : s → a \pi:s\rightarrow a π:sa 某策略
公式推导

根据 TD 时间差分方法,我们要最小化当前状态值和目标状态值之间的差,假设当前状态为 s t s_t st,选取动作为 a t a_t at,次状态 s t + 1 s_{t+1} st+1, 那么我们容易得到当前值 y i ′ = Q ( s t , a t ) y_i'=Q(s_t, a_t) yi=Q(st,at) 和目标值 y i = R ( s t + 1 ) + Q ( s t + 1 , π ( s t + 1 ) ) y_i=R(s_{t+1})+Q(s_{t+1},\pi(s_{t+1})) yi=R(st+1)+Q(st+1,π(st+1)) 其中 π ( s ) = arg ⁡ max ⁡ a Q ( s , a ) \pi(s)=\arg\max_a Q(s,a) π(s)=argamaxQ(s,a) 由此我们得到优化目标 td_error l o s s = M S E ( y i , y i ′ ) loss=MSE(y_i,y_i') loss=MSE(yi,yi) 用该损失函数对 Q Q Q 进行梯度下降即可。

算法流程
  • S1:初始化 Q Q Q 的网络参数,清空经验集合 D D D ,初始化 s s s 为初始状态
  • S2:计算 Q ( s )
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值