【强化学习】周博磊第4章 价值函数的近似

周博磊 第4章 价值函数的近似

Model Free

为了减少学习和存储的成本,用函数近似的方式
v ^ ( s , w ) ≈ v π ( s ) \hat{v}(s,w) \approx v^{\pi}(s) v^(s,w)vπ(s)
q ^ ( s , a , w ) ≈ q π ( s , a ) \hat{q}(s,a,w) \approx q^{\pi}(s, a) q^(s,a,w)qπ(s,a)
π ^ ( s , a , w ) ≈ π ( s , a ) \hat{\pi}(s,a,w) \approx \pi(s,a) π^(s,a,w)π(s,a)

无模型预测的Value 函数近似

  • MC
    Δ w = α ( G t − v ^ ( s t , w ) ) ∇ v ^ ( s t , w ) \Delta w = \alpha(G_{t} - \hat{v}(s_t, w))\nabla \hat{v}(s_{t}, w) Δw=α(Gtv^(st,w))v^(st,w)
    Return G t G_{t} Gt无偏的,但是MC采样的噪音较多。
    因为 E ( G t ) = v π ( s t ) \mathbb{E}(G_{t}) = v^{\pi}(s_{t}) E(Gt)=vπ(st),所以是无偏的

  • TD
    Δ w = α ( R t + 1 + γ v ^ ( s t + 1 , w ) − v ^ ( s t , w ) ) ∇ v ^ ( s t , w ) \Delta w = \alpha(R_{t+1} + \gamma \hat{v}(s_{t+1}, w) - \hat{v}(s_t, w))\nabla \hat{v}(s_{t}, w) Δw=α(Rt+1+γv^(st+1,w)v^(st,w))v^(st,w)
    TD是有偏的,因为 E [ R t + 1 + γ v ^ ( s t + 1 , w ) ≠ v π ( s t ) ] \mathbb{E}[R_{t+1}+\gamma \hat{v}(s_{t+1, w}) \neq v^{\pi}(s_{t}) ] E[Rt+1+γv^(st+1,w)=vπ(st)]
    请添加图片描述

无模型的Action-Value的函数近似

  • MC
    Δ w = α ( G t − q ^ ( s t , a t , w ) ) ∇ q ^ ( s t , a t , w ) \Delta w = \alpha(G_{t} - \hat{q}(s_{t}, a_{t},w))\nabla \hat{q}(s_{t}, a_{t}, w) Δw=α(Gtq^(st,at,w))q^(st,at,w)

  • Sarsa 依据同样的策略进行了采样
    Δ w = α ( R t + 1 + γ q ^ ( s t + 1 , a t + 1 , w ) − q ^ ( s t , a t , w ) ) ∇ q ^ ( s t , a t , w ) \Delta w = \alpha(R_{t+1} + \gamma \hat{q}(s_{t+1}, a_{t+1}, w)- \hat{q}(s_{t}, a_{t},w))\nabla \hat{q}(s_{t}, a_{t}, w) Δw=α(Rt+1+γq^(st+1,at+1,w)q^(st,at,w))q^(st,at,w)

  • Q-learning
    Δ w = α ( R t + 1 + γ max ⁡ a q ^ ( s t + 1 , a , w ) − q ^ ( s t , a t , w ) ) ∇ q ^ ( s t , a t , w ) \Delta w = \alpha(R_{t+1} + \gamma \max_{a}\hat{q}(s_{t+1}, a, w)- \hat{q}(s_{t}, a_{t},w))\nabla \hat{q}(s_{t}, a_{t}, w) Δw=α(Rt+1+γamaxq^(st+1,a,w)q^(st,at,w))q^(st,at,w)

Sarsa 算法:
请添加图片描述

代码:
https://github.com/cuhkrlcourse/RLexample/blob/master/modelfree/q_learning_mountaincar.py

价值函数的近似说明

TD的目标函数的梯度是不正确的,因为包含了两个过程:1.bellman backup 过程 2. 函数近似。2个过程都会引入很多噪声。
Off policy:behavior 和 target policy 并不一致,价值函数不一定准确。所以强化学习比较难训练和收敛。

强化学习的死亡三角

Function Approximation: 因为用了近似,会引入误差
Bootstrapping: TD方式是有偏的
Off-policy:behavior 和 target 策略相差太大

DQN Deep Q-Learning

通过深度学习来近似价值函数
请添加图片描述

问题

  1. 样本间的关系,Atari游戏样本间相似度较高,仅有个别像素间差异
  2. 目标的非稳定性

解决方式

  1. Experince Replay
  2. Fixed Q target
Experience Replay

构建一个Replay Buffer D,通过对D的随机采样,解决样本间的相似性
请添加图片描述

Fixed Targets

为了提高训练的稳定性,固定目标函数。
请添加图片描述

为什么采用Fixed Targets

这个很有趣,采取了很形象的例子。老鼠:Q target. 猫:Q_estimation
如果不固定,Q target 和 Q estimation 同时移动,很难可以稳定的训练。
请添加图片描述
请添加图片描述

如果固定后,【Q target 不动,Q estimation 动】 -> 【 一起动 】-> … 这样猫可以不断减少和老鼠的差距,进行逼近。

DQN 的改进

Double DQN: Deep Reinforcement Learning with Double Q-Learning. Van Hasselt et al, AAAI 2016
Dueling DQN: Dueling Network Architectures for Deep Reinforcement Learning. Wang et al, best paper ICML 2016
Prioritized Replay: Prioritized Experience Replay. Schaul et al, ICLR2016
Agent57: https://www.deepmind.com/blog/agent57-outperforming-the-human-atari-benchmark

代码实现:
https://github.com/cuhkrlcourse/DeepRL-Tutorials

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值