强化学习(三)-策略梯度优化policy Gradient

2023-12-14 03:48:01

直接优化策略梯度而不是优化Q函数来指导agent做决策

1 基本概率

  • 策略 policy: π ( a ∣ s ) \pi(a|s) π(as)
  • 状态价值函数
    V π ( s t ) = E A [ Q π ( s t , A ) ] V_\pi (s_t)=E_A[Q_\pi(s_t,A)] Vπ?(st?)=EA?[Qπ?(st?,A)]
    V π ( s t ) = ∑ a π ( a ∣ s ) ? Q π ( s t , A ) V_\pi (s_t)=\sum_a\pi(a|s)*Q_\pi(s_t,A) Vπ?(st?)=a?π(as)?Qπ?(st?,A)

2 目标最大化 V π ( s t ) V_\pi (s_t) Vπ?(st?)

  • 策略梯度 policy gradient
    ? V π ( s ) ? θ = E A ~ π [ ? I n π ( A ∣ s ; θ ) ? θ ? Q π ( s , A ) ] \frac{\partial V_\pi(s)}{\partial \theta}=E_{A~\pi}[\frac{\partial In\pi(A|s;\theta)}{\partial \theta} * Q_\pi(s,A)] ?θ?Vπ?(s)?=EAπ?[?θ?I(As;θ)??Qπ?(s,A)]

3 添加baseline

如下添加一个b,和动作A是独立,不随A的变化而变化。
E A ~ π [ b ? ? I n π ( A ∣ s ; θ ) ? θ ] E_{A~\pi}[b * \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ] EAπ?[b??θ?I(As;θ)?]

3.1 baseline的梯度为0证明

由于b独立于A
E A ~ π [ b ? ? I n π ( A ∣ s ; θ ) ? θ ] E_{A~\pi}[b * \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ] EAπ?[b??θ?I(As;θ)?]
= b ? E A ~ π [ ? I n π ( A ∣ s ; θ ) ? θ ] b* E_{A~\pi}[ \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ] b?EAπ?[?θ?I(As;θ)?]
= b ? ∑ a π ( a ∣ s ; θ ) ? I n π ( a ∣ s ; θ ) ? θ b *\sum_a\pi(a|s;\theta) \frac{\partial In\pi(a|s;\theta)}{\partial \theta} b?a?π(as;θ)?θ?I(as;θ)?
= b ? ∑ a π ( a ∣ s ; θ ) 1 π ( a ∣ s ; θ ) ? π ( a ∣ s ; θ ) ? θ b *\sum_a\pi(a|s;\theta) \frac{1}{\pi(a|s;\theta)} \frac{\partial \pi(a|s;\theta)}{\partial \theta} b?a?π(as;θ)π(as;θ)1??θ?π(as;θ)?
= b ? ∑ a ? π ( a ∣ s ; θ ) ? θ b *\sum_a\frac{\partial \pi(a|s;\theta)}{\partial \theta} b?a??θ?π(as;θ)?
= b ? ? 1 ? θ b* \frac{\partial 1}{\partial \theta} b??θ?1?
=0

即证: E A ~ π [ b ? ? I n π ( A ∣ s ; θ ) ? θ ] = 0 E_{A~\pi}[b * \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ]=0 EAπ?[b??θ?I(As;θ)?]=0

4 策略梯度添加baseline

  • 策略梯度 policy gradient

? V π ( s ) ? θ = E A ~ π [ ? I n π ( A ∣ s ; θ ) ? θ ? Q π ( s , A ) ] ? E A ~ π [ b ? ? I n π ( A ∣ s ; θ ) ? θ ] \frac{\partial V_\pi(s)}{\partial \theta} =E_{A~\pi}[\frac{\partial In\pi(A|s;\theta)}{\partial \theta} * Q_\pi(s,A)] -E_{A~\pi}[b * \frac{\partial In\pi(A|s;\theta)}{\partial \theta} ] ?θ?Vπ?(s)?=EAπ?[?θ?I(As;θ)??Qπ?(s,A)]?EAπ?[b??θ?I(As;θ)?]
= E A ~ π [ ? I n π ( A ∣ s ; θ ) ? θ ? ( Q π ( s , A ) ? b ) ] E_{A~\pi}[\frac{\partial In\pi(A|s;\theta)}{\partial \theta} * (Q_\pi(s,A)-b)] EAπ?[?θ?I(As;θ)??(Qπ?(s,A)?b)]

5 蒙特卡洛计算策略梯度

随机从策略policy π ( a ∣ s ) \pi(a|s) π(as) 中选择动作a,计算梯度
g ( a t ) = ? I n π ( a t ∣ s t ; θ ) ? θ ? ( Q π ( s t , a t ) ? b ) g(a_t)=\frac{\partial In\pi(a_t|s_t;\theta)}{\partial \theta} * (Q_\pi(s_t,a_t)-b) g(at?)=?θ?I(at?st?;θ)??(Qπ?(st?,at?)?b)

6思考 :b不影响梯度的变化,为什么还要选择b?

因为b虽然不影响梯度的变化,由于我们的Q函数一般是近似的,因此使用一个baseline,能够使采样的数据的方差变小,使估计的数据更准确(相当于对数据做了去均值化)。

7 baseline的选择

baseline的选择有很多种方式,根据不同选择方式,有不同的优化算法。

小结

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_42529756/article/details/134907083
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。