Token Lab搜索

← 论文资料库
强化学习与推理 / 2017

PPO:逐样本看懂裁剪目标

理解 advantage 符号、rollout 策略比及裁剪的边界。

Proximal Policy Optimization Algorithms · Schulman et al. · arXiv:1707.06347

Token Lab 原创学习解读 · 来源核对 2026-10-25 · 区分论文主张与合成教学例子。

01 · 论文提出了什么

PPO 交替采集轨迹与小批次优化代理目标。论文比较变体,并评估控制和 Atari 任务。裁剪是实用优化机制,不是每次更新都改善奖励的定理。

一手来源:论文摘要 ↗
学习指南与本课目录LEARNING CONTRACT

理解 → 实现 → 研究

目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。

  • 理解层:写明假设、形状/单位和一个反例。
  • 实现层:复算数值例子并检查边界。
  • 研究层:在匹配预算下比较一个替代方法。

02 · 核心机制

Text / 原始公式
ρₜ(θ)=πθ(aₜ|sₜ)/πold(aₜ|sₜ)
Lclip=E[min(ρₜÂₜ, clip(ρₜ,1−ε,1+ε)Âₜ)]

advantage 为正时,希望提高采样动作概率,但超过上裁剪阈值后,代理目标不再奖励这种增加。advantage 为负时,另一侧分支更重要。old log 概率必须对应生成 rollout 的策略;若优化时不断改变它,就改变了目标。

符号与直觉为教学解释,完整假设及实现细节请对照原论文方法。

机制图与逐步推导

采集策略 rollout → 固定 old 分数,估计 advantage → 优化裁剪代理目标 → 测量 KL 并更新数据
原创机制示意图,按从上到下顺序阅读。 SVG ↓
符号与假设
符号含义
ρ当前策略 / rollout 策略的采样动作概率
Â采样动作的估计 advantage
ε裁剪阈值,不是有保证的 KL 上限
  1. 对 rollout 批次固定 old log 概率,使用 exp(logπθ−logπold) 计算比值,避免极小概率直接相除。
  2. ε 且 advantage 为正时,比值超过 1.2 不再获得额外代理激励;advantage 为负时,低于 0.8 的另一侧对应裁剪。
  3. ρ、Â=−2 时,原始目标 −1,裁剪候选 −1.6,minimum 为 −1.6。advantage 的符号决定哪一支更保守。
实验检查点

测试两种符号与裁剪边界。所有更新立即裁剪时,检查学习率、advantage 尺度及 rollout 陈旧程度。

LOCAL / SYNTHETIC / INTERACTIVE

改变一个变量,解释结果为什么变。

原创教学计算,并非论文 benchmark 复现。条形在面板内相对缩放,具体数值与单位以标注为准。

04 · 手算一个例子

原创算例:ε、。 时 ; 时 。 时两者为 0.5 和 −0.8。这种不对称说明,直接裁剪概率比再相乘、却不取 minimum,并非同一算法。

05 · 设计实验

单元测试两种 advantage 符号及两个裁剪边界。小环境 POC 保存 rollout log 概率与终止标记,按固定约定计算 advantage,并与无裁剪基线比较。匹配环境交互量与评测 episode。每次更新记录奖励、熵、近似 KL 与裁剪比例。

研究交付物

写出一个假设,保存配置与原始结果,提出替代解释,只报告证据支持的结论。关联实验是本地起点,不是完整论文复现。

打开关联课程/实验 →

06 · 局限与审稿式追问

分析提醒:同一 rollout 批次跑多个 epoch 不意味着可无限重用。大更新、价值函数误差与陈旧数据仍可使训练不稳定。某个样本裁剪项变平,不意味着整个网络在所有样本上梯度为零。

裁剪参数是有保证的 KL 上限吗?

不是。它改变采样动作的代理目标激励,整个分布的 KL 取决于更新后策略,需独立测量。

07 · 阅读原文

策略梯度背景、裁剪代理目标与实现细节。

年份采用首次 arXiv 投稿年份。未锁定版本的链接随修订变化,复现报告请记录准确版本。此处 DeepSeek-R1 明确固定为 v1。

继续学习本主题

MATHEMATICAL REVIEW · 2026-10-26

假设、参考实现与验收

最大化裁剪替代目标,或最小化其负值。策略更新期间固定旧 log 概率和 advantage;采样动作的旧概率须非零。裁剪不是硬 KL 约束。

复核所示公式、中英解释及声明滑块范围。代码复现标量教学计算,不是论文训练系统。

运行前:预测一个边界情况

单元测试两种 advantage 符号及两个裁剪边界。小环境 POC 保存 rollout log 概率与终止标记,按固定约定计算 advantage,并与无裁剪基线比较。匹配环境交互量与评测 episode。每次更新记录奖励、熵、近似 KL 与裁剪比例。

提示:隔离假设

固定基线输入,只改变一个参数或边界;同时比较数值与声明单位。单例通过仅验证该样例。

最小可运行算例

将算例及所链接模块保存在同一目录。使用 Node.js 22 或更高版本,然后运行 node ppo.mjs. 无需第三方运行依赖。

import {paperCalc} from './paper-core.mjs';
const result=paperCalc("ppo",1.5);
console.log(result);
参考输出——先预测再展开
{
  "labels": [
    "Unclipped, A=+1",
    "Clipped objective, A=+1",
    "Unclipped, A=−1",
    "Clipped objective, A=−1"
  ],
  "values": [
    1.5,
    1.2,
    -1.5,
    -1.5
  ],
  "unit": "objective"
}

测试与迁移

单元测试两种 advantage 符号及两个裁剪边界。小环境 POC 保存 rollout log 概率与终止标记,按固定约定计算 advantage,并与无裁剪基线比较。匹配环境交互量与评测 episode。每次更新记录奖励、熵、近似 KL 与裁剪比例。

在下方笔记记录输入、代码版本、期望值和实测值;再构造违反上述假设的反例,解释原结论为何不再成立。

下载完整代码包(.tar.gz) · 完整参考代码与回归检查

预测、检验与证据记录

展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。

打开记录/导出/清除 →

数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围