强化学习 - 策略梯度(Policy Gradient)

引言

      强化学习常见的方法为基于值函数或者基于策略梯度。

值函数:值函数最优时得到最优策略,即状态s下,最大行为值函数maxQ(s,a)对应的动作。

      但对于机器人连续动作空间,动作连续时,基于值函数,存在以下问题:

  1. 当动作空间很大,或者动作为连续集时,基于值函数的方法无法有效求解。
  2. 基于值函数的方法在进行策略改进时,需要针对每个状态行为求取行为值函数,以求得最优动作\frac{argmax}{a\in A}Q(s,a)),这种情况下,把每一个状态行为严格地独立出来,求取某个状态下应该执行的行为是不切实际的。

总结:用值函数Q求解连续空间action,也能用但不好用,所以出现了,策略梯度法。

1.策略梯度

随机策略梯度:使用P (a,s;\theta )直接逼近\pi (a,s),我们需要求得的就时神经网络参数θ。为了求解θ需要设计一个目标函数J(θ)=G(θ)(累计回报值),θ更新公式为:

      此方法基于目标函数J(θ)的梯度进行策略参数更行。

J(θ)分为两种

1.MC中,有完成的链条:

2.TD中,有步长限制时:

      式中,是基于策略生成的关于状态s的分布

      进一步就得到了梯度的表达式:

2.Actor

      策略梯度就是AC中的A

Actor:从下图可以看出,就是输入智能体观察到的图像(对计算机而言就是矩阵,向量),输出智能体可能采取的动作概率分布。

      进一步我们要衡量Actor的优劣,基于Actor可以得到一系列回报,计算平均回报,比较策略的优劣R就是上文的J。

     

     然后我们想求得最优的Actor,(R就是上文J的延深),使用梯度上升法,进而得到:

3.延深

猜你喜欢

转载自blog.csdn.net/weixin_48878618/article/details/134336260