1. 什么是 On‑Policy
On‑Policy 指在学习过程中,智能体 使用当前正在执行的策略(行为策略) 与环境交互产生的数据,同时 用同一策略 来更新和改进自身的策略。换句话说,行为策略 = 目标策略,数据的生成与策略的更新强耦合,必须用最新的策略重新采样才能继续学习。
2. 核心原理
- 行为策略与目标策略相同:智能体在每一步都依据当前策略 π 选取动作 a,并把 (s, a, r, s′)(或 (s, a, r, s′, a′))的轨迹用于估计价值函数或策略梯度。
- 实时采样:因为数据来源于当前策略,旧数据往往会失效,需要不断收集新样本。
- 不需要重要性采样:由于采样分布与目标分布一致,更新时不必对样本进行加权校正,这在实现上更直接。
3. 常见的 On‑Policy 算法
| 算法 | 关键特征 | 适用场景 |
|---|---|---|
| SARSA(State‑Action‑Reward‑State‑Action) | 直接使用执行的动作 a′ 进行更新,完全基于当前策略 | 离散动作空间、需要保守学习的任务 |
| REINFORCE(Monte‑Carlo Policy Gradient) | 通过完整轨迹的回报来估计梯度,采样完全来自当前策略 | 简单的策略梯度实验 |
| Actor‑Critic(A2C) | 同时学习价值函数(Critic)和策略(Actor),使用当前策略采样 | 连续或离散控制,提升样本利用率 |
| Proximal Policy Optimization(PPO) | 采用裁剪的概率比率限制策略更新幅度,仍然基于当前策略采样,被视为标准的 On‑Policy 方法 | |
| TRPO(Trust Region Policy Optimization) | 通过约束 KL 散度保证更新安全,同样使用 On‑Policy 数据 |
4. 优势
- 实现简单:不需要对采样分布进行重要性加权,代码实现相对直接。
- 策略一致性:行为策略与目标策略相同,理论分析更直观,收敛性证明相对成熟。
- 适合在线学习:在需要实时交互的场景(如机器人控制)中,能够即时利用最新经验进行改进。
5. 局限与挑战
- 样本效率低:每次策略更新后必须重新采样,导致大量交互成本,尤其在高维连续空间中表现突出。
- 对探索依赖强:必须在同一策略下进行探索,若探索不足会导致学习停滞。
- 对旧数据利用不足:与 Off‑Policy 方法不同,On‑Policy 不能直接复用历史经验,导致数据浪费。
6. 与 Off‑Policy 的对比
| 维度 | On‑Policy | Off‑Policy |
|---|---|---|
| 采样策略 | 与目标策略相同 | 采样策略与目标策略不同,可使用行为策略、历史数据或专家示例 |
| 重要性采样 | 不需要 | 需要对样本进行加权校正 |
| 数据复用 | 需要重新采样 | 可重复利用旧数据,提高样本效率 |
| 典型算法 | SARSA、PPO、A2C | Q‑Learning、DQN、DDPG、SAC |
7. 实际应用案例
- 机器人连续控制:PPO 在 MuJoCo 等连续控制基准上表现优秀,采用 On‑Policy 采样实现高质量策略迭代。
- 游戏 AI:SARSA 常用于网格世界或棋类游戏的保守学习,能够在策略更新时保持行为的一致性。
- 策略梯度研究:大量学术工作(如《What Matters In On‑Policy Reinforcement Learning?》)围绕 On‑Policy 的采样误差、数据效率进行实验分析,推动了更高效的采样技术(如 PROPS)。
小结
On‑Policy 强化学习强调“同策略”的核心思想,即智能体在交互、学习、更新三个环节中使用同一套策略。它的实现相对直接,适合需要实时、在线学习的场景,但也面临样本效率低、对探索依赖大的挑战。理解其定义、典型算法及与 Off‑Policy 的区别,有助于在实际项目中选择合适的学习范式。
声明:文章均为AI生成,请谨慎辨别信息的真伪和可靠性!