【深度强化学习】TRPO、PPO

发布时间:2023年12月18日

策略梯度的缺点

  • 步长难以确定,一旦步长选的不好,就导致恶性循环
    步长不合适 → 策略变差 → 采集的数据变差 → (回报 / 梯度导致的)步长不合适 步长不合适 \to 策略变差 \to 采集的数据变差 \to (回报/梯度导致的)步长不合适 步长不合适策略变差采集的数据变差(回报/梯度导致的)步长不合适

  • 一阶信息不限制步长容易越过局部最优,而且很难回来
    在这里插入图片描述

TRPO 置信域策略优化

思想:

  • 步子不要太大,应该保证更新在某个邻域内 ∣ ∣ θ ? θ o l d ∣ ∣ < Δ ||\theta-\theta_{old}||<\Delta ∣∣θ?θold?∣∣<Δ(或者 K L ( π θ ( ? ∣ ? ) ) , π θ o l d ( ? ∣ ? ) ) < Δ \mathrm{KL}(\pi_\theta(\cdot|\cdot)),\pi_{\theta_{old}}(\cdot|\cdot))<\Delta KL(πθ?(??)),πθold??(??))<Δ
  • 利用二阶信息估计邻域 N ( θ o l d ) \mathcal{N}(\theta_{old}) N(θold?) 内的 θ \theta θ

步骤

  1. 对循环的每一步,用 θ o l d \theta_{old} θold? 策略采样一条轨迹(MC 思想)
  2. 对每一个轨迹位置,都计算它们的折扣回报 G i G_i Gi?
  3. 用采样的样本估计期望作为近似的目标函数 L ( θ ∣ θ o l d ) L(\theta|\theta_{old}) L(θθold?)(除以 π o l d \pi_{old} πold?是因为重要性采样)
    L ( θ ∣ θ o l d ) = E a i ~ π [ π ( a i ∣ s i ; θ ) G i ] L(\theta|\theta_{old}) = \mathbb{E}_{a_i\sim\pi}[{\pi(a_i|s_i;\theta)}G_i] L(θθold?)=Eai?π?[π(ai?si?;θ)Gi?]
    L ( θ ∣ θ o l d ) = E a i ~ π o l d [ π ( a i ∣ s i ; θ ) π ( a i ∣ s i ; θ o l d ) G i ] \red{L(\theta|\theta_{old}) = \mathbb{E}_{a_i\sim\pi_{old}}[\frac{\pi(a_i|s_i;\theta)}{\pi(a_i|s_i;\theta_{old})}G_i]} L(θθold?)=Eai?πold??[π(ai?si?;θold?)π(ai?si?;θ)?Gi?]
  4. 利用某种(二阶)优化方法(涉及 Fisher Information Matrix、共轭梯度法)求邻域内的能够最大化近似代价函数的最大值
    在这里插入图片描述

优势:

  • 训练更稳定,收敛曲线不会剧烈波动,而且对超参数不敏感
  • 样本有效,用更少的经验就能达到和 PG 相同的表现

缺点:

  • 重要性采样:除法引起高方差
  • 有约束优化问题,不容易优化

PPO 近端策略优化

PPO 实际上就是为了解决 TRPO 的这两个问题而提出的,做的改进是:

  • Clip 截断重要性采样的值,防止过大(类似于梯度截断)
    C l i p { π ( a i ∣ s i ; θ ) π ( a i ∣ s i ; θ o l d ) , 1 ? ? , 1 + ? } \mathrm{Clip} \left\{ \frac{\pi(a_i|s_i;\theta)}{\pi(a_i|s_i;\theta_{old})} , 1-\epsilon, 1+\epsilon \right\} Clip{π(ai?si?;θold?)π(ai?si?;θ)?,1??,1+?}
  • KL散度条件转为无约束,自适应 β \beta β超参
    max ? θ L ( θ ∣ θ o l d ) ? β K L ( θ ∣ θ o l d ) \max_\theta L(\theta|\theta_{old}) - \beta \mathrm{KL} (\theta|\theta_{old}) θmax?L(θθold?)?βKL(θθold?)

John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov: Proximal Policy Optimization Algorithms. CoRR abs/1707.06347 (2017)

总结

策略梯度
REINFORCE (MC,从梯度上升开始、除以 π \pi π变成 Ln)

REINFORCE基线 REINFORCE (MC, G ? v ( s ) G-v(s) G?v(s))→ Actor-Critic(TD, r + γ v ( s ) ? v ( s ′ ) r+γv(s)-v(s') r+γv(s)?v(s)
REINFORCETRPO (有约束、二阶信息)→ PPO(有约束转无约束、截断重要性)
REINFORCE → …

More

https://spinningup.openai.com/en/latest/algorithms/trpo.html
https://jonathan-hui.medium.com/rl-the-math-behind-trpo-ppo-d12f6c745f33
https://towardsdatascience.com/trust-region-policy-optimization-trpo-explained-4b56bd206fc2

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