Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions docs/data/cards/extended/paper_pid_lagrangian.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
id: paper:pid_lagrangian
title: "Responsive Safety in RL by PID Lagrangian Methods"
title_zh: "PID-Lagrangian(PID 控制的乘子更新)"
kind: paper
tier: B
authors: [Stooke, A., Achiam, J., Abbeel, P.]
venue: "ICML 2020"
year: 2020
topic: safety
phase: core
deep_links:
- {label: "arXiv 2007.03964", url: "https://arxiv.org/abs/2007.03964"}
---

# PID-Lagrangian(PID 控制的乘子更新)

> Stooke 等 2020 把安全 RL 中的乘子更新从纯梯度上升换成 PID 控制器,让约束响应在违反扩大或缩小时都更平滑。它解决了 [Lagrangian Safe RL](paper_lagrangian_safe_rl.md) 长期存在的乘子震荡问题——纯积分(梯度上升)相当于 PI 控制器漏掉 D 项,PID 引入比例与微分让控制更稳。

## 一个最小公式 / Math anchor

把约束违反 $J^{C}(\pi) - d$ 看作误差信号 $e(t)$,PID 控制器更新乘子

$$
\lambda(t) \;=\; K_P\,e(t)\ +\ K_I \int_0^t e(\tau)\,d\tau\ +\ K_D\,\frac{de(t)}{dt}
$$

- **P (比例)**:当约束被违反时立刻把 $\lambda$ 推高 → 加快响应。
- **I (积分)**:积累历史违反 → 等价于传统 Lagrangian 的梯度上升。
- **D (微分)**:根据违反的变化速率超前调整 → 抑制震荡。

实际工程上 $\lambda \ge 0$ 必须保证,所以 $\lambda(t) = [\cdot]_+$。

## 在图谱里的位置

PID-Lagrangian 是 [`paradigm:safe_rl`](paradigm_safe_rl.md) 中"乘子更新工程化"路线的代表,扩展 [Lagrangian Safe RL](paper_lagrangian_safe_rl.md) 与 [RCPO](paper_rcpo.md)(纯 I 控制器)到 PID 控制器。它响应 [`insight:safety_emerges_from_constraint_lagrangian_not_reward_shaping`](insight_safety_emerges_from_constraint_lagrangian_not_reward_shaping.md) 中乘子震荡的核心痛点,并通过 [`insight:alignment_is_constraint_satisfaction_over_generation`](insight_alignment_is_constraint_satisfaction_over_generation.md) 与 RLHF 的偏好对齐建立类比——两者都是"多约束下的稳定优化"问题。

## 工程上真正要注意什么

- PID 参数调节比单个学习率更复杂——$K_P, K_I, K_D$ 需要联合调参。Stooke 等给出 Safety Gym 上的默认配置。
- D 项对噪声敏感——cost critic 估计有噪时 D 项可能放大震荡,需要先平滑(exponential moving average)。
- 与控制论的 PID tuning 理论可借鉴——Ziegler-Nichols 自调谐方法在 Safe RL 上也有人尝试。
- 工业上自适应学习率(Adam)+ PID 乘子是常见组合,但 Adam 的二阶矩估计会与 PID 的 D 项干扰,需要小心。
- 没有官方仓库,常通过 OpenAI safety-starter-agents 改装。

## Bitter-Lesson 视角

PID-Lagrangian 在 Bitter Lesson 维度上是工程改良——它不挑战"约束 + 对偶"的根本结构,只是用更聪明的控制理论把乘子更新规则做精。它和 RCPO 一起把 Lagrangian Safe RL 推到工业部署友好的水平。

## 接下来读什么

- [Lagrangian Safe RL](paper_lagrangian_safe_rl.md) — 直接前作
- [RCPO](paper_rcpo.md) — 平行的奖励 shaping 路线
- [CPO](paper_cpo_safe_rl.md) — 信赖域投影对照
- [`insight:safety_emerges_from_constraint_lagrangian_not_reward_shaping`](insight_safety_emerges_from_constraint_lagrangian_not_reward_shaping.md)
- [`paradigm:safe_rl`](paradigm_safe_rl.md)
58 changes: 58 additions & 0 deletions docs/data/cards/extended/paper_rcpo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
id: paper:rcpo
title: "Reward Constrained Policy Optimization (RCPO)"
title_zh: "RCPO(奖励约束的策略优化)"
kind: paper
tier: B
authors: [Tessler, C., Mankowitz, D. J., Mannor, S.]
venue: "ICLR 2019"
year: 2018
topic: safety
phase: core
deep_links:
- {label: "arXiv 1805.11074", url: "https://arxiv.org/abs/1805.11074"}
---

# RCPO(奖励约束的策略优化)

> Tessler 等 2018 提出 Reward Constrained Policy Optimization (RCPO),把约束代价直接通过 Lagrangian 乘子加进奖励信号,再用标准 actor-critic 优化。它简化了 [CPO](paper_cpo_safe_rl.md) 的二阶投影,是 [Lagrangian Safe RL](paper_lagrangian_safe_rl.md) 的早期统一框架——证明用"软"约束(奖励 shaping + 乘子)也能在收敛性上接近 CPO 的"硬"约束。

## 一个最小公式 / Math anchor

RCPO 把 CMDP 改写成等价的标量奖励问题

$$
\tilde R(s, a) \;=\; R(s, a)\ -\ \sum_i \lambda_i\,C_i(s, a)
$$

然后用任意 actor-critic(A2C、PPO、SAC)在 $\tilde R$ 上做训练,同时对 $\lambda_i$ 做对偶上升:

$$
\lambda_i \;\leftarrow\; \big[\lambda_i\ +\ \eta_\lambda\,\big(J^{C_i}(\pi) - d_i\big)\big]_+
$$

Tessler 等证明:在合理的学习率条件下,$(\pi, \lambda)$ 收敛到 CMDP 的鞍点。这给出了"奖励 shaping + 动态乘子"作为安全 RL 工程基线的理论保证。

## 在图谱里的位置

RCPO 是 [`paradigm:safe_rl`](paradigm_safe_rl.md) 中 Lagrangian 路线的早期统一工作,把 [Altman 1999 CMDP](paper_altman_constrained_mdp.md) 的对偶理论用最简单的奖励 shaping 落地。它和 [Lagrangian Safe RL](paper_lagrangian_safe_rl.md) 是平行变体(不同的实现细节),和 [CPO](paper_cpo_safe_rl.md) 形成"软 vs 硬约束"对照,被 [PID-Lagrangian](paper_pid_lagrangian.md) 进一步改良(PID 控制器替换梯度上升)。它实现 [`move:apply_dual_lagrangian_to_safety_constraint`](move_apply_dual_lagrangian_to_safety_constraint.md)。

## 工程上真正要注意什么

- 奖励 shaping 的最大风险是约束违反 → 奖励变负 → 策略 "宁可不动也不违反",需要谨慎设计 $C_i$ 的尺度。
- 乘子学习率 $\eta_\lambda$ 比策略学习率慢 1–2 个数量级是经验常用配比。
- 在 Safety Gym 等基准上 RCPO 与 PPO-Lagrangian 性能接近,但训练曲线在不同任务上互有胜负。
- 没有官方 PyTorch 仓库,多通过 OpenAI safety-starter-agents、tianshou、d3rlpy 等改装实现。
- License:依实现而异。

## Bitter-Lesson 视角

RCPO 接近 Bitter Lesson 路线——它不要求二阶解析(如 CPO),只要求把约束变成可微的奖励 shaping + 简单乘子上升。这让安全 RL 可以挂在任意现代策略梯度算法上,是 "通用学习器 + 简单约束"的胜利。

## 接下来读什么

- [Lagrangian Safe RL](paper_lagrangian_safe_rl.md) — 平行变体
- [CPO](paper_cpo_safe_rl.md) — 二阶投影对照
- [PID-Lagrangian](paper_pid_lagrangian.md) — 乘子更新的进一步改良
- [Altman CMDP](paper_altman_constrained_mdp.md) — 理论基底
- [`paradigm:safe_rl`](paradigm_safe_rl.md)
59 changes: 59 additions & 0 deletions docs/data/cards/extended/paper_safe_rl_carla.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
id: paper:safe_rl_carla
title: "Safe Reinforcement Learning on Driving Benchmarks (CARLA / nuPlan)"
title_zh: "驾驶场景下的安全 RL(CARLA / nuPlan 实证)"
kind: paper
tier: B
authors: [Various — SafeDriver, ConstrainedDrive, Safe-Behavior-Cloning teams]
venue: "ICRA / CoRL / ITSC representative line"
year: 2022
topic: safety
phase: frontier
deep_links:
- {label: "Safe RL for autonomous driving 综述 (arXiv 2305.10076)", url: "https://arxiv.org/abs/2305.10076"}
- {label: "arxiv-not-yet-available (具体论文索引待确认)", url: "https://arxiv.org/search/?query=safe+rl+CARLA"}
phase_note: "frontier"
---

# 驾驶场景下的安全 RL(CARLA / nuPlan 实证)

> 本节代表一类把 [CPO](paper_cpo_safe_rl.md) / [Lagrangian Safe RL](paper_lagrangian_safe_rl.md) 在 CARLA 或 nuPlan 闭环上做实证的工作(如 SafeDriver、ConstrainedDrive、Safe-Behavior-Cloning),把约束 MDP 框架与碰撞、违规、舒适度多约束驾驶任务直接对齐。它是安全 RL 从 Safety Gym 走向驾驶基准的桥梁。注意这是一条研究线索而非单篇论文——arXiv 上有数十篇相关工作,此处把它们作为图谱节点统一引用。

## 一个最小公式 / Math anchor

驾驶任务的典型 CMDP 设置

$$
\max_\pi\ \mathbb E\!\left[\sum_t \gamma^t R_\text{progress}(s, a)\right]\quad \text{s.t.}\ \
\begin{cases}
J^{C_\text{collision}}(\pi) \le 0.001 \\
J^{C_\text{lane\_violation}}(\pi) \le 0.05 \\
J^{C_\text{comfort}}(\pi) \le 1.0\,\text{m/s}^2
\end{cases}
$$

奖励驱动进度,约束分别覆盖碰撞概率、违规率、最大加速度。用 PPO-Lagrangian、CPO、PID-Lagrangian 等任一安全 RL 算法求解。

## 在图谱里的位置

驾驶安全 RL 工作把 [`paradigm:safe_rl`](paradigm_safe_rl.md) 投影到 [CARLA Leaderboard](paper_carla_leaderboard.md) / [nuPlan](paper_nuplan.md) 闭环基准上。它和 [`paradigm:counterfactual_data_centric_safety`](paradigm_counterfactual_data_centric_safety.md) 互补——数据侧用反事实生成补罕见样本,算法侧用安全 RL 框约束。它响应 [`problem:exploration_in_safety_critical_systems`](problem_exploration_in_safety_critical_systems.md)(仿真允许"无成本探索",但安全 RL 让 sim-to-real 更平滑)与 [`problem:reward_specification_for_safe_polite_driving`](problem_reward_specification_for_safe_polite_driving.md)(把"礼让"等隐式要求显式化为约束)。

## 工程上真正要注意什么

- 仿真器假设是关键风险——CARLA 的 NPC 行为可能让安全 RL 学到的策略在真实路况下水土不服。
- 多约束权衡(碰撞 vs 进度 vs 舒适)的乘子互相博弈,常出现训练初期某一约束被严重违反、后期才追回。
- 在 nuPlan 这种真实日志驱动的 benchmark 上,"约束违反"的真值标签必须从日志推断,工程上不易精确。
- 没有统一参考实现——研究界通常基于 stable-baselines3 + safety-gym 风格定制。
- 与 ISO 21448 SOTIF / RSS(Responsibility-Sensitive Safety)的对齐是工业部署关键,但学术论文极少显式讨论。

## Bitter-Lesson 视角

驾驶安全 RL 在 Bitter Lesson 维度上是中间地带——它接受 RL + 约束的统一框架(通用),但约束本身(碰撞代价、违规规则)仍是手工列出。完全交给学习器自动发现约束(如 inverse constrained RL)是更激进的 Bitter Lesson 方向,但目前在驾驶上仍未成熟。

## 接下来读什么

- [CPO](paper_cpo_safe_rl.md) — 信赖域 + 约束基底
- [Lagrangian Safe RL](paper_lagrangian_safe_rl.md) — 对偶基线
- [`paradigm:safe_rl`](paradigm_safe_rl.md)
- [`problem:exploration_in_safety_critical_systems`](problem_exploration_in_safety_critical_systems.md)
- [`paradigm:counterfactual_data_centric_safety`](paradigm_counterfactual_data_centric_safety.md) — 数据侧互补
54 changes: 54 additions & 0 deletions docs/data/cards/extended/paper_schulman2015_trpo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
id: paper:schulman2015_trpo
title: "Trust Region Policy Optimization (TRPO)"
title_zh: "TRPO(信赖域策略优化)"
kind: paper
tier: S
authors: [Schulman, J., Levine, S., Moritz, P., Jordan, M., Abbeel, P.]
venue: "ICML 2015"
year: 2015
topic: deep_rl
phase: core
deep_links:
- {label: "arXiv 1502.05477", url: "https://arxiv.org/abs/1502.05477"}
- {label: "openai/spinningup TRPO", url: "https://spinningup.openai.com/en/latest/algorithms/trpo.html"}
---

# TRPO(信赖域策略优化)

> TRPO 把策略改进步骤限制在新旧策略 KL 散度不超过 $\delta$ 的信赖域内,并给出近似单调改进的理论保证。它的二阶求解(共轭梯度 + 自然梯度)虽然工程门槛高,但为 [PPO](paper_schulman2017_ppo.md)、[CPO](paper_cpo_safe_rl.md) 等后续算法奠定了"信赖域"几何基石——所有现代约束策略优化都建在 TRPO 的理论之上。

## 一个最小公式 / Math anchor

TRPO 的每步策略更新求解

$$
\max_\theta\ \mathbb E_{s, a \sim \pi_{\theta_\text{old}}}\!\left[\frac{\pi_\theta(a|s)}{\pi_{\theta_\text{old}}(a|s)}\,A^{\pi_{\theta_\text{old}}}(s, a)\right] \quad \text{s.t.}\ \ \mathbb E_s\big[D_{\mathrm{KL}}(\pi_{\theta_\text{old}} \| \pi_\theta)\big] \le \delta
$$

近似单调改进的核心定理:$J(\pi_\theta) - J(\pi_{\theta_\text{old}}) \ge L(\pi_\theta) - C\,D_{\mathrm{KL}}^\text{max}$,其中 $L$ 是 surrogate 目标,$C$ 是与折扣因子相关的常数。在 KL 约束下做策略更新等价于沿着 Fisher 信息度量的自然梯度方向走信赖域步长。

## 在图谱里的位置

TRPO 是 [`paradigm:model_free_rl`](paradigm_model_free_rl.md) 的关键支柱,把"如何让策略改进稳定"从直觉变成有理论保证的几何约束。它直接喂养 [PPO](paper_schulman2017_ppo.md)(用 clipping 近似 KL 约束)、[CPO](paper_cpo_safe_rl.md)(在 TRPO 框架里加约束)、[MPO](paper_mpo.md)(用 E-M 算法替换二阶求解)。它实现 [`move:trust_region_step_for_monotonic_improvement`](move_trust_region_step_for_monotonic_improvement.md) 这条 move 的母版——所有现代约束策略优化都建在 TRPO 的几何之上。

## 工程上真正要注意什么

- 二阶求解需 Fisher 信息矩阵的共轭梯度近似——实现复杂度比 PPO 高一个量级。
- $\delta$ 选择:典型 $\delta = 0.01 \sim 0.05$。太大失去单调性保证,太小收敛慢。
- 经验表明 PPO 的一阶 clipping 在多数任务上和 TRPO 性能相当——这是 PPO 取代 TRPO 成为工业基线的原因。
- 但在带约束设定下(CPO),TRPO 的二阶框架仍有不可替代价值——KL 约束 + 代价约束的联合二阶解析解是 CPO 的核心。
- 仓库参考:joschu/modular_rl 是 Schulman 原作;openai/baselines 提供经典实现;CleanRL 是教学友好版本。
- License:依实现而异,通常 MIT。

## Bitter-Lesson 视角

TRPO 在 Bitter Lesson 维度上偏理论——它显式建模"策略改进的稳定性"用二阶几何工具。PPO 用一阶近似把它简化为工程可达版本,是 Bitter Lesson 在策略梯度上的胜利。但 TRPO 的理论价值至今未被超越:CPO 等带约束 RL 仍需要 TRPO 的二阶框架。

## 接下来读什么

- [PPO](paper_schulman2017_ppo.md) — 一阶近似版本
- [CPO](paper_cpo_safe_rl.md) — 加约束的 TRPO
- [`move:trust_region_step_for_monotonic_improvement`](move_trust_region_step_for_monotonic_improvement.md)
- [SAC](paper_sac.md) — 完全不同的稳定性来源(最大熵)
- [`paradigm:model_free_rl`](paradigm_model_free_rl.md)
8 changes: 4 additions & 4 deletions docs/data/generated/wave_e_stubs.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"topic": "foundation_models",
"phase": "core",
"year": 2022,
"summary_zh": "Chinchilla 通过在 400 余次训练运行上拟合损失曲线,给出了在固定算力下参数量与训练 token 数应该同步放大的最优比例(约 1:20)。它揭示了 GPT-3 等早期大模型把算力过度投向参数而 token 不足,是 LLM scaling 的"compute-optimal" 修正标尺。"
"summary_zh": "Chinchilla 通过在 400 余次训练运行上拟合损失曲线,给出了在固定算力下参数量与训练 token 数应该同步放大的最优比例(约 1:20)。它揭示了 GPT-3 等早期大模型把算力过度投向参数而 token 不足,是 LLM scaling 的 compute-optimal 修正标尺。"
},
{
"id": "paper:watkins_dayan_qlearning",
Expand Down Expand Up @@ -43,7 +43,7 @@
"topic": "foundation_models",
"phase": "core",
"year": 2020,
"summary_zh": "DDPM 把生成模型重新表述为"逐步加噪后再学习反向去噪"的过程,把图像生成的可训练目标压成预测每一步的噪声。它的简洁性与稳定性让扩散模型在两年内取代 GAN 成为图像、视频、动作生成的默认范式,也奠定了 Diffusion Policy、世界模型视频生成的方法学基础。"
"summary_zh": "DDPM 把生成模型重新表述为逐步加噪后再学习反向去噪的过程,把图像生成的可训练目标压成预测每一步的噪声。它的简洁性与稳定性让扩散模型在两年内取代 GAN 成为图像、视频、动作生成的默认范式,也奠定了 Diffusion Policy、世界模型视频生成的方法学基础。"
},
{
"id": "paper:lora",
Expand Down Expand Up @@ -76,7 +76,7 @@
"topic": "deep_rl",
"phase": "core",
"year": 2015,
"summary_zh": "TRPO 把策略改进步骤限制在新旧策略 KL 散度不超过 δ 的信赖域内,并给出近似单调改进的理论保证。它的二阶求解(共轭梯度 + 自然梯度)虽然工程门槛高,但为 PPO、CPO 等后续算法奠定了"信赖域"几何基石。"
"summary_zh": "TRPO 把策略改进步骤限制在新旧策略 KL 散度不超过 δ 的信赖域内,并给出近似单调改进的理论保证。它的二阶求解(共轭梯度 + 自然梯度)虽然工程门槛高,但为 PPO、CPO 等后续算法奠定了信赖域几何基石。"
},
{
"id": "paper:rcpo",
Expand Down Expand Up @@ -125,7 +125,7 @@

{"source": "paper:ddpm", "target": "paper:diffusion_policy_chi2023", "rel": "prereq"},
{"source": "paper:ddpm", "target": "insight:residual_learning_unlocks_arbitrary_depth", "rel": "composes"},
{"source": "paper:ddpm", "target": "move:add_noise_then_denoise_for_score_based_generation", "rel": "composes"},
{"source": "paper:ddpm", "target": "move:diffusion_denoise_sampling", "rel": "composes"},

{"source": "paper:lora", "target": "insight:residual_learning_unlocks_arbitrary_depth", "rel": "composes"},
{"source": "paper:lora", "target": "paper:llama", "rel": "parallel"},
Expand Down
Loading
Loading