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. 详细算法伪代码
- 初始化:参数 ,超参数 。
- FOR 迭代次数 DO:
- Sampling:使用并行 Actor 采集 步数据 。
- Advantage Estimation:
- 倒序递推:
- 计算 Critic 目标:
- Optimization:将数据分为若干 Minibatch。
- FOR Epoch DO:
- 对于每个 Minibatch 计算梯度:
- 更新参数(执行梯度下降):
- 对于每个 Minibatch 计算梯度:
- END FOR
- FOR Epoch DO:
- Sync:。
- END FOR