1. 核心动机:为什么需要 PPO?

在 A2C 等算法中,我们面临一个核心矛盾:

  • 步长太大: 策略更新过猛,导致 发生剧烈坍缩,模型直接”练废”,且由于是 On-policy,数据无法重复利用,崩溃后很难恢复。

  • 步长太小: 训练效率极其低下。

PPO 的目标是:在允许进行多次梯度下降更新的同时,确保新策略不会偏离旧策略太远。


2. 数学基石:重要性采样 (Importance Sampling)

要理解 PPO,必须先理解如何利用”旧数据”更新”新策略”。

2.1 目标函数的重写

传统的策略梯度目标函数为:

如果我们想用旧策略 采集的数据来更新当前策略 ,根据重要性采样公式 ,我们可以将目标函数改写为:

我们令 概率比值 (Probability Ratio) 为:

  • ,说明该动作在新策略中概率增加了。

  • ,说明新旧策略一致。


3. PPO 的两种变体

PPO 主要有两种实现方式:PPO-PenaltyPPO-Clip。工业界几乎统一使用后者。

3.1 PPO-Clip (截断式)

这是 PPO 的精髓。为了限制 的变化范围,我们定义如下目标函数:

数学逻辑拆解:

  1. 第一项 标准的重要性采样目标。

  2. 第二项 强制限制在 之间(通常 )。

  3. 操作: 这是一个非常保守的策略。

    • (好动作): 我们希望增加该动作概率,但 最大不能超过 。梯度为 0,不再鼓励进一步增加。

    • (坏动作):,clip 将比值拉回 ,此时 (两者皆为负,但 更接近 1),同样限制对坏动作的过度惩罚。

核心意义: 无论优势多大或多小,单次更新对策略的改变都被限制在一个”信任区域”内,极大地保证了稳定性。


4. 完整的 PPO 损失函数

在实际代码实现中,PPO 通常采用 Actor-Critic 架构,总损失函数包含三部分:

  1. 上文提到的 Actor 裁剪损失。

  2. Critic 的价值损失(均方误差),

  3. 策略熵(Entropy),鼓励探索,防止过早收敛到局部最优。


5. 训练过程 (Algorithmic Flow)

  1. 初始化 Actor 参数 和 Critic 参数

  2. 对于每一次迭代 (Iteration):

    • 采样: 使用当前策略 在环境中运行 个步长,收集集合

    • 优势估计: 计算每个时刻的优势 。通常使用 GAE (Generalized Advantage Estimation)

    • 更新旧策略:

    • 内部优化循环 (K 个 Epoch):

      • 从采样的数据中随机抽取 Mini-batch。

      • 计算当前新策略与旧策略的比值

      • 计算 、价值损失和熵。

      • 通过 Adam 等优化器同时更新

    • 重复上述循环,直到满足停止条件。


6. GAE (广义优势估计) —— PPO 的黄金搭档

PPO 几乎总是配合 GAE 使用,其公式如下:

其中 是 TD 误差。

6.1 推导与截断理解

注意这是一个无穷级数,但实际实现时会在 horizons 处截断:

或者等价地使用递归形式(更常见于代码实现):

6.2 参数的物理意义

等价于偏差-方差权衡
1-step TD 误差:高偏差,低方差(估计最保守)
Monte Carlo:零偏差,高方差(无偏但震荡大)
有限步 bootstrapping平衡偏差与方差

直觉: 就像是”看多远”的调节器。 意味着你愿意综合很多步的 TD 误差(看得远),但每一步都有 的折扣,防止远处噪声主导。

实践中: 是最常用范围,配合 使用。


7. 可能出现的问题与调试建议

7.1 KL 散度爆炸

尽管有 Clip 机制,如果学习率过高,新旧策略的 KL 散度依然可能激增。

  • 现象: 平均奖励突然掉零,Entropy 迅速下降。

  • 对策: 减小学习率(PPO 对 LR 依然敏感,通常在 左右);增加 的限制。

7.2 价值函数无法收敛

Critic 无法准确预估

  • 现象: 价值损失(Value Loss)居高不下。

  • 对策: 对奖励进行缩放(Reward Scaling);或者对 Observation 进行归一化(Normalization)。

7.3 过早失去探索欲望

  • 现象: 智能体总是执行同一个动作,不再尝试新可能。

  • 对策: 增加熵系数


8. 总结:从 DQN 到 PPO 的进化

||算法|核心思想|解决的问题| |---|---|---| |DQN|神经网络拟合 Q 表|处理高维连续状态空间| |A2C|引入优势函数 A = Q - V|降低策略梯度的方差| |A3C|异步并行采样|加快训练速度,打破样本相关性| |PPO|近端截断 (Clip)|解决训练稳定性与步长敏感问题|

PPO 成功地将强化学习从一种”黑艺术”变成了一项可靠的工程技术。理解了 PPO,你就掌握了通往大模型对齐(Alignment)和复杂机器人控制的大门密钥。