Policy Gradient——一种不以loss来反向传播的策略梯度方法

目录

1.前言

这次介绍的基于策略梯度的Policy Gradient的算法属实比之前的算法没那么好理解,笔者看完莫烦教程之后还是有许多细节没搞懂,又看了李宏毅教授的DRL Lecture才弄懂,希望能把他讲清楚。

2.核心算法

之前我们所学的DQN,Q-Learning都是通过计算动作得分来决策的,我们是在确定了价值函数的基础上采用某种策略(贪婪-epsilon)的方式去选取价值最大的动作。仔细一想可以得知其实这种方式是间接的,因为还需要通过价值来选取动作。

Policy Gradient就是一种直接的方法,他可以直接输出每种动作的概率进行直接的选择。这里有一点要注意,Policy Gradient没有误差,他不通过误差进行反向传播,它是通过观测信息选出一个行为直接进行反向传播。他利用reward奖励直接对选择行为的可能性进行增强和减弱,好的行为会被增加下一次被选中的概率,不好的行为会被减弱下次被选中的概率。举例如下图所示:输入当前的状态,输出动作的概率分布,选择概率最大的一个action作为执行的操作。

而一个完整的策略τ代表的是一整个回合中,对于每个状态下所采取的的动作所构成的序列,而每个回合episode中每个动作的回报和等于一个回合的回报值

通过以上可知π在参数为θ情况下时 τ 发生的概率:

我们可以看到概率是拆分为我们可以控制的(上图的红色部分,与自身actor有关)我们不可控制的(上图的黄色部分,来自环境)

得到概率之后我们就可以根据采样得到的回报值计算出数学期望。

得到奖励的数学期望后我们要做的自然就是max这个奖励的数学期望,如何做呢,就是Gradient Asent(注意是梯度上升不是梯度下降)这个期望。

这里我们要注意两点:首先R这个奖励期望不需要是可微分的,即使是不可微分也是可以做这个运算。另外这里用到一个技巧,就是公式推导的第二步,大家也可以直接看蓝色框背下来。

后面那项的梯度由于概率中我们只能控制之前我们说过跟actor有关的部分,所以后面那项就可以简化为:

所以最后整个式子就可以化为:

最后化出来的整个式子也十分地好理解,假如在某个state下采取的action最后的Reward为正的,那就增加最后一项的概率,反之如果Reward为负的,那就减少这项的概率。 所以在这里,如果reward为正,那就最大化这个好的动作的G概率。

3.Add a Baseline



我们来考虑一种情况,在游戏中可能我们的期望永远是正的,比如一场游戏某个好的动作可以得20分,而不好的动作也能得1分,这样会导致什么样的后果呢,我们可以看上图。

  • 在理想的情况,考虑某个state下有三个动作a,b,c,每一项的概率加起来为1,每一项的weight®是不一样的,可能有的大,有的小,乘起来之后经过Normalize,奖励高的自然概率就高了,这也是我们想要的。
  • 在现实中,由于我们采用的是采样的方法,我们只能是采样到部分的action,我们可能只采样到了b和c,没采样到a的,但是由于采样到的b和c概率在上升,没采样到的a只能下降,这样是非常不科学的。

解决的办法就是让期望减掉一个Baseline,让一些不那么好的行为能得到一个负的反馈,也就是让我们的奖励减去一个b,这个b有很多取法,只要能达到目的就行。

4.总结

优点

  • 连续的动作空间或高维空间中更加高效。
  • 可以实现随机化策略
  • 某种情况下,价值函数可能比较难以计算,而策略函数容易

缺点

  • 通常收敛到局部最优而非全局最优
  • 评估一个策略通常低效(这个过程可能慢,但是具有更高的可变性,其中也会出现很多并不有效的尝试,而且方差高)

参考:

  1. 李宏毅教授DRL Lecture https://www.youtube.com/watch?v=z95ZYgPgXOY
  2. 莫烦课程 http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
强化学习中的策略梯度policy gradient)是一种基于优化策略方法,它直接对策略进行优化,而不是先估计值函数,再通过值函数来优化策略策略梯度方法可以解决连续动作空间的问题,并且可以处理高维状态空间的问题。 策略梯度方法的主要思想是通过梯度上升来优化策略,即不断地调整策略参数,使得策略获得更高的奖励。这个过程可以通过计算策略在当前状态下采取各个动作的概率,然后根据奖励函数来更新策略参数。 策略梯度方法的优点是可以处理连续动作空间和高维状态空间的问题,并且可以处理非凸、非线性的问题。但是,策略梯度方法的缺点是收敛速度慢,容易陷入局部最优解。 以下是一些关于RL-Policy Gradient的资料: 1. Reinforcement Learning: An Introduction(强化学习:导论)书籍中关于Policy Gradient的章节:https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf 2. Policy Gradient Methods for Reinforcement Learning with Function Approximation论文:https://papers.nips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf 3. Deep Reinforcement Learning: Pong from Pixels论文:https://arxiv.org/pdf/1312.5602.pdf 4. Policy Gradient Methods for Robotics论文:https://arxiv.org/pdf/1709.06009.pdf 5. RL-Adventure-2:Policy Gradient Algorithms Pytorch实现的代码:https://github.com/higgsfield/RL-Adventure-2 6. Policy Gradient Algorithms笔记:https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值