强化学习中的 On-policy 与 Off-policy 全面解析

本文系统总结强化学习中 On-policy 与 Off-policy 的核心区别、典型算法、底层原理以及现代 RL 中的发展趋势。


1. 什么是 On-policy 与 Off-policy

强化学习中:

text 复制代码
Policy(策略)

表示:

text 复制代码
状态 → 动作

即:

text 复制代码
π(a|s)

而:

text 复制代码
On-policy vs Off-policy

最核心的问题是:

text 复制代码
采样数据的策略
和
被优化的策略
是不是同一个

2. On-policy 的定义

On-policy:

text 复制代码
用当前策略采样的数据
训练当前策略自己

即:

text 复制代码
behavior policy == target policy

直观理解

类似:

text 复制代码
边走边学

Agent:

  1. 用当前 policy 行动
  2. 收集 trajectory
  3. 用这些 trajectory 更新 policy
  4. 更新后重新采样

特点

特点 说明
数据必须最新 旧数据很快失效
通常更稳定 分布一致
sample efficiency 较低 数据利用率低
不适合昂贵采样 真实机器人成本高

3. Off-policy 的定义

Off-policy:

text 复制代码
可以使用其它策略采样的数据
训练目标策略

即:

text 复制代码
behavior policy != target policy

直观理解

类似:

text 复制代码
反复复盘历史经验

Agent:

  • 可以学习旧数据
  • 可以学习别人数据
  • 可以离线训练

特点

特点 说明
可复用历史数据 replay buffer
sample efficiency 高 数据利用率高
更复杂 容易不稳定
更适合高成本环境 robotics / autonomous driving

4. 最核心区别:Replay Buffer

这是理解两者最简单的方法。


4.1 On-policy

通常:

text 复制代码
不能长期使用旧数据

原因:

text 复制代码
旧数据来自旧 policy

会导致:

text 复制代码
distribution mismatch

即:

text 复制代码
数据分布不一致

4.2 Off-policy

核心能力:

text 复制代码
Replay Buffer

即:

text 复制代码
历史数据可以反复训练

例如:

text 复制代码
(s,a,r,s')

可存储数百万条经验。


5. 为什么 On-policy 更稳定?

因为:

text 复制代码
训练数据
和
当前 policy 分布一致

即:

text 复制代码
No Distribution Shift

例如 PPO:

当前 policy:

text 复制代码
πθ

采样:

text 复制代码
trajectory ~ πθ

训练:

text 复制代码
仍然优化 πθ

所以训练更稳定。


6. 为什么 Off-policy 更高效?

因为:

text 复制代码
一份数据可以反复学习

例如:

  • DQN
  • SAC

一条 transition:

text 复制代码
(s,a,r,s')

可能被训练:

text 复制代码
上百次

所以:

text 复制代码
sample efficiency 极高

7. 典型 On-policy 算法


7.1 REINFORCE

最早的 Policy Gradient。

特点:

  • Monte Carlo
  • 无 critic
  • episode 结束后更新

更新:

text 复制代码
∇θ log π(a|s) * G_t

缺点

  • variance 大
  • sample efficiency 低

7.2 A2C(Advantage Actor-Critic)

经典 Actor-Critic。

结构:

text 复制代码
Actor + Critic

Actor

学习:

text 复制代码
policy

Critic

学习:

text 复制代码
V(s)

特点

  • synchronous
  • on-policy
  • advantage based

7.3 A3C(Asynchronous Advantage Actor-Critic)

A2C 异步版。

特点:

  • 多线程采样
  • CPU 时代经典算法

曾是 DeepMind 代表工作。


7.4 TRPO(Trust Region Policy Optimization)

核心:

text 复制代码
限制 policy update 不要变化太大

使用:

text 复制代码
KL divergence constraint

优点

  • 理论稳定

缺点

  • 二阶优化复杂
  • 工程实现困难

7.5 PPO(Proximal Policy Optimization)

当前最经典 On-policy RL 算法。

本质:

text 复制代码
TRPO 的简化版

核心思想

限制:

text 复制代码
policy ratio

不要偏移太大。


PPO 的 clipped objective

text 复制代码
clip(r_t(θ),1-ε,1+ε)

避免:

text 复制代码
policy collapse

PPO 优点

优点 说明
简单 易实现
稳定 不易崩
强大 泛化好

PPO 应用

广泛用于:

  • RLHF
  • Robotics
  • 游戏AI
  • 自动驾驶

8. 典型 Off-policy 算法


8.1 Q-Learning

经典 Off-policy TD Learning。

更新:

text 复制代码
Q(s,a) ← r + γ max Q(s',a')

为什么是 Off-policy?

因为:

behavior policy:

text 复制代码
ε-greedy

target policy:

text 复制代码
greedy max Q

不是同一个。


8.2 DQN(Deep Q-Network)

本质:

text 复制代码
Q-learning + Deep Neural Network

两大核心创新


Replay Buffer

作用:

text 复制代码
打破数据相关性

Target Network

作用:

text 复制代码
稳定训练

8.3 Double DQN

解决:

text 复制代码
Q overestimation

问题。


8.4 Dueling DQN

拆分:

text 复制代码
V(s)
和
A(s,a)

分别建模。


8.5 DDPG(Deep Deterministic Policy Gradient)

连续动作经典算法。

特点:

  • deterministic policy
  • actor-critic
  • replay buffer

可以理解为:

text 复制代码
连续动作版 DQN

8.6 TD3(Twin Delayed DDPG)

DDPG 改进版。

解决:

  • Q overestimation
  • unstable training

核心技巧

技术 作用
twin critics 降低 overestimate
delayed update 稳定训练
target smoothing 降低误差

8.7 SAC(Soft Actor-Critic)

当前最主流 Off-policy 算法之一。

核心目标:

text 复制代码
reward + entropy maximization

SAC 特点

特点 说明
exploration 强 entropy regularization
稳定 actor-critic
sample efficient replay buffer

SAC 广泛应用于

  • robotics
  • manipulation
  • locomotion

8.8 CQL(Conservative Q-Learning)

Offline RL 经典算法。

核心:

text 复制代码
保守估计 Q value

避免:

text 复制代码
OOD action overestimation

9. Actor-Critic 不等于 On-policy

很多人误解:

text 复制代码
Actor-Critic = On-policy

实际上:

Actor-Critic 只是:

text 复制代码
policy + value

结构。


On-policy Actor-Critic

  • A2C
  • PPO

Off-policy Actor-Critic

  • DDPG
  • TD3
  • SAC

10. PPO 为什么是 On-policy?

虽然 PPO:

text 复制代码
会重复使用 trajectory 多个 epoch

但:

text 复制代码
这些 trajectory 必须来自当前 policy

不能长期 replay。

所以:

text 复制代码
PPO 仍然是 On-policy

11. DQN 为什么是 Off-policy?

因为:

行为策略:

text 复制代码
ε-greedy

学习目标:

text 复制代码
max_a Q(s,a)

并不是同一个策略。

因此:

text 复制代码
DQN 是 Off-policy

12. 从数据利用率理解


On-policy

类似:

text 复制代码
现学现卖

采一次学一次。


Off-policy

类似:

text 复制代码
刷题复盘

历史经验反复利用。


13. 为什么现代 RL 越来越偏向 Off-policy?

因为:

text 复制代码
真实世界采样成本太贵

尤其:

  • 机器人
  • 自动驾驶
  • 大模型 RL

例如机器人

真实机器人采样:

text 复制代码
1小时 = 数百美元

不能像 Atari 那样无限采样。

因此:

text 复制代码
sample efficiency 极其重要

14. 为什么 RLHF 仍大量使用 PPO?

因为:

text 复制代码
稳定性 > sample efficiency

大模型训练中:

  • 数据不是最大问题
  • 稳定训练最重要

因此 PPO 成为:

text 复制代码
RLHF 默认方案

15. 现代趋势:On-policy 与 Off-policy 融合

当前很多研究:

text 复制代码
希望同时获得:
稳定性 + 高 sample efficiency

典型方向

  • Offline RL
  • Importance Sampling
  • Hybrid RL
  • Model-based RL

16. 最常见算法分类总表

算法 On/Off Policy 类型 动作空间
SARSA On Value-based 离散
Q-Learning Off Value-based 离散
DQN Off Value-based 离散
REINFORCE On Policy Gradient 任意
A2C On Actor-Critic 任意
PPO On Actor-Critic 连续常见
DDPG Off Actor-Critic 连续
TD3 Off Actor-Critic 连续
SAC Off Actor-Critic 连续
CQL Off Offline RL 连续

17. 一句话总结


On-policy

text 复制代码
现采现学

稳定但数据利用率低。


Off-policy

text 复制代码
历史经验反复学习

数据效率高但更复杂。


18. 最终总结

强化学习中:

text 复制代码
On-policy 与 Off-policy

本质区别是:

text 复制代码
采样策略
和
优化策略
是否一致

On-policy

强调:

text 复制代码
稳定

典型:

  • PPO
  • A2C

Off-policy

强调:

text 复制代码
数据效率

典型:

  • DQN
  • SAC

现代强化学习的发展方向:

正在不断尝试融合:

text 复制代码
On-policy 的稳定性
+
Off-policy 的高效率

References

  1. Sutton & Barto --- Reinforcement Learning: An Introduction

  2. OpenAI Spinning Up

  3. Lilian Weng RL Overview

    https://lilianweng.github.io/posts/2018-02-19-rl-overview/

  4. PPO Paper

    https://arxiv.org/abs/1707.06347

  5. SAC Paper

    https://arxiv.org/abs/1801.01290

相关推荐
sunneo1 小时前
03-从Chat到Act-Agent行动闭环的产品心理学拆解
人工智能·产品运营·aigc·产品经理·ai-native
Marvel__Dead1 小时前
基于 AI 大模型的百度旋转验证识别(通用能力极强)
人工智能·爬虫·python·验证码识别·ai 大模型
小船跨境1 小时前
ChatGPT助力高效网页数据抓取实战
人工智能·网络协议
code bean1 小时前
【LangChain 】 自定义解析器实战指南:从原理到 10 个业务场景落地
算法·langchain
Juicedata1 小时前
AI 战略下架构演进:小米基于 JuiceFS 的统一存储实践
人工智能·架构
速易达网络1 小时前
ChatGPT Images 2.0视觉的突破
人工智能
TENSORTEC腾视科技1 小时前
腾视科技TS-SG-SM7系列AI算力模组:32TOPS算力引擎,开启边缘智能新纪元
人工智能·ai·算力·ai算力模组·超低功耗·超强算力·灵活扩展
Deepoch1 小时前
Deepoc 具身模型开发板:让农业除草机器人实现更稳定的自主作业
人工智能·机器人·开发板·具身模型·deepoc·除草
云栖梦泽在1 小时前
AI安全入门:AI系统被攻击的常见场景与应对思路
大数据·人工智能·安全