强化学习笔记之gradient ascent(二)

一般而言,Actor的策略就是gradient ascent
Actor和Environment、Reward的关系如下:
在这里插入图片描述
在一个回合episode中,这些state和action组成一条轨迹:
Trajectory   τ = { s 1 , a 1 , s 2 , a 2 , … , s T , a T } \textbf {Trajectory} \space \tau = \lbrace s_1,a_1,s_2,a_2,\dots,s_T,a_T \rbrace Trajectory τ={s1,a1,s2,a2,,sT,aT}
Agent一般是一个神经网络,θ是它的参数,输出是action和对应的概率,如在这个外星人入侵的小游戏中,输出是三个离散的量:左移、右移和开火,0.7、0.2、0.1分别对应他们被执行的概率。
在这里插入图片描述
那么整个轨迹被sample到的概率为:
p θ ( τ ) = p ( s 1 ) p θ ( a 1 ∣ s 1 ) p ( s 2 ∣ s 1 , a 1 ) p θ ( a 2 ∣ s 2 ) p ( s 3 ∣ s 2 , a 1 ) … = p ( s 1 ) ∏ p θ ( a t ∣ s t ) p ( s t + 1 ∣ s t , a t ) \begin{aligned} p_\theta(\tau)&=p(s_1)p_\theta(a_1|s_1)p(s_2|s_1,a_1)p_\theta(a_2|s_2)p(s_3|s_2,a_1)\dots \\ &=p(s_1)\prod p_\theta(a_t|s_t)p(s_{t+1}|s_t,a_t) \end{aligned} pθ(τ)=p(s1)pθ(a1s1)p(s2s1,a1)pθ(a2s2)p(s3s2,a1)=p(s1)pθ(atst)p(st+1st,at)

在这个过程中,Actor会不断地根据环境反馈的reward来更新他的策略。那么在这条轨迹中可以获得reward为:
在这里插入图片描述

Gradient Ascent

ok,我们要做的就是使得 R ˉ θ \bar R_\theta Rˉθ最大化,采用的方法是梯度法,即求出 ▽ R ˉ θ \triangledown \bar R_\theta Rˉθ,计算如下:
在这里插入图片描述
式中,N为采样数,T为步数。采样N笔 τ \tau τ然后求平均。
通过引入log,将累乘变成累加。
然后使用计算出来的 ▽ R ˉ θ \triangledown \bar R_\theta Rˉθ去更新θ,η为学习速率,从而使得学习到参数会趋向于获取更大的reward。
θ ← θ + η ▽ R ˉ θ \theta\larr\theta+\eta \triangledown \bar R_\theta θθ+ηRˉθ

这样,在实施的时候,如果一个action获得的reward越大,在更新参数θ后,Actor就会越倾向于sample这个action。
在这里插入图片描述

问题-改进

但是这样的更新策略还存在一些问题,actor执行action的依据是概率,如果某个action一直不被sample到,那么machine就永远不知道执行这个action可以获得的reward是多少。而所有action的概率加起来和为1,那么其他被sample到的action的概率会不断增加,没有被sample到的action的概率则会不断减小。这样machine就容易沉迷在容易获取的小reward中,而失去探索未知的动力。
在这里插入图片描述
为了解决这个问题,只需要让你的reward不要永远是正定的,因此引入一个基础偏移量,将 R ( τ n ) R(\tau^n) R(τn)改为 R ( τ n ) − b R(\tau^n)-b R(τn)b,这样reward就会有正有负,那些只能获得较小reward(比如小于b)的action的概率就不会永远增大,这就增加了其他action被sample到的概率。
通常取 b ≈ E [ R ( τ ) ] b \approx E[R(\tau)] bE[R(τ)]

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vehicoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值