学习RL(五)

1. 为什么要有Policy Gradient

学习RL(三)当中提到,相比策略评估和策略迭代分开进行的方法,GPI已经有了进步,能够在策略评估的阶段就先把actions: (离散的)遍历一遍,找到使得action-value (为了把概念表达清晰,这里我想纠正我之前的blog当中对action-value采用的符号:)最大的那个 : 。之前在写blog的时候,脑子里面一直就藏着一个大问号:如果是控制电机的转速这种连续的场景,该怎么遍历 呢?当时我的想法是将 分段考虑,但是直到我知道有Policy Gradient

2. 什么是函数的Gradient

梯度一般是在函数自变量空间当中的一个向量(假设函数的自变量是一个向量),坐标系统是在一个垂直正交的系统中,就是一个在坐标系统中有方向有大小的向量,方向代表了自变量沿着该方向移动微小距离,函数变化最大。)。 Gradient pic

3. 算法推导

对比之前的依据action-value寻找上的,本方法依旧会使用,但是并不在每次的迭代中(GDI)去直接做action的选择,而是参与到对(1)的梯度计算当中。

In this chapter we consider methods for learning the policy parameter based on the gradient of some performance measure with respect to the policy parameter. These methods seek to maximize performance, so their updates approximate gradient ascent in

Sutton's Book解释了为什么要计算的梯度,因为每次迭代的过程其实就是先计算该梯度,然后更新, 直到最后更新的变化量很小,终止迭代,完成学习。

  • 为了推导,首先针对进行梯度计算。

  • 下面的图作为一个提纲性的指导,把如何迭代地计算某状态的价值函数对的梯度进行了分解。

  • 推导过程中,因为策略是关于的函数,所以都是关于的函数。

  • 使用实际应用的推导

  • 上面的问题,我从书里找到了答案:是环境的输出,在agent基于采取行动之后,输出了和新的。配合下面的图一起看。

这个事件发生的概率是纯粹由环境决定的,跟agent采取什么样的策略无关。所以,该概率不是的函数,从而求梯度为0。

answer to above question
  • 继续推导,把上面对行动价值的梯度结果写入到对价值函数的梯度当中,如下图Policy Gradient的第一个公式,观察该公式是遍历了状态之后的所有可能

  • 都是关于状态的函数,跟action无关,最后推导的结果是,把action隐藏起来了。

  • 直接对策略优化的方法,是on-policy的一种。由于事先并不知道,在一个episode开始的时候,从某一个状态起步,把当作是,所以:

  • 下图解释了在状态离散的情况下,是某种状态出现的次数,通过归一化,就可以计算该状态出现的概率,从而可以扩展到连续状态下,该状态出现的概率密度。

参考


学习RL(五)
https://warden2018.github.io/2025/06/09/2025-06-09-RL_5/
作者
Yang
发布于
2025年6月9日
许可协议