1. PPO (Proximal Policy Optimization)

PPO 通过限制策略更新幅度,在保证计算效率的同时实现了类似 TRPO 的稳定性。

1.1. 概率比率 (Probability Ratio)

定义 为新旧策略在相同状态下采取相同动作的概率比:

  • :该动作在当前策略中概率增加。
  • :新旧策略分布一致。

1.2. 截断代理目标 (Clipped Surrogate Objective)

为了防止策略更新过猛,PPO 构造了一个“悲观”的目标函数 (最大化目标):

逻辑说明:

  • (正向动作): 限制 上限,防止过分增加好动作的权重。
  • (负向动作): 限制 下限,防止过分压低坏动作的权重。
  • 算子: 确保更新步长始终处于“置信域”内,提供单调提升的保障。

2. GAE (Generalized Advantage Estimation)

GAE 通过指数加权平均来平衡优势估计的方差与偏差。

2.1. 推导与证明

定义 步优势估计为前 个 TD 残差 的累加:

GAE 是对所有步长估计的指数加权平均:

2.2. 递归形式(工程实现)

利用倒序递推实现 复杂度计算:


3. 完整算法流程 (统一损失函数最小化视角)

在深度学习框架中,通常通过最小化负的目标函数来实现最大化奖励。

3.1. 综合损失函数 (Total Loss)

定义需要最小化的总损失

  • :负的代理目标,最小化它等同于最大化期望奖励。
  • :价值误差 ,需要最小化。
  • :负的熵奖励 ,最小化负熵等同于最大化熵(增加探索)。

3.2. 详细算法伪代码

  1. 初始化:参数 ,超参数
  2. FOR 迭代次数 DO:
    • Sampling:使用并行 Actor 采集 步数据
    • Advantage Estimation
      • 倒序递推:
      • 计算 Critic 目标:
    • Optimization:将数据分为若干 Minibatch。
      • FOR Epoch DO:
        • 对于每个 Minibatch 计算梯度:
        • 更新参数(执行梯度下降):
      • END FOR
    • Sync
  3. END FOR