Badge
Badge
Badge

本文目标:让没有任何强化学习基础的读者,理解 RL 的核心原理、数学公式、三大范式,以及为什么它正在改变无人机飞控和自动驾驶。阅读本文大约需要 30 分钟。


引言:为什么 RL 值得学?

2025-2026 年,强化学习(Reinforcement Learning, RL)正在经历一个「第二次爆发」:

  • 无人机竞速:TU Delft 的 SkyDreamer 用 RL 实现了 21 m/s 的自主高速飞行,完成倒飞筋斗和 Split-S 机动
  • 自动驾驶:小鹏 VLA 2.0、理想 MindVLA-o1 纷纷将 RL 嵌入端到端驾驶系统
  • 世界模型:DreamerV3 让飞行器「先做梦再飞」,真机交互量降低 10000 倍
  • 大模型对齐:ChatGPT 的 RLHF 本质就是 RL——人类反馈作为奖励信号

但 RL 的入门门槛确实高——Bellman 方程、策略梯度、TD 误差……术语密集、数学抽象。

本文用一个方法解决:概念→定义→性质→表示→例子→应用,每一步都不跳。


一、概念:强化学习的直觉理解

1.1 核心比喻:训狗

想象你在训一只狗:

  • 你发出指令「坐下」
  • 狗做了各种动作:转圈、叫、坐下
  • 坐下时你给零食(奖励),其他动作不给
  • 狗自己摸索出「坐下 → 有零食」的规律

这个过程的数学抽象就是 RL:

1
2
3
4
5
Agent(狗)在 Environment(训练场)中
选择 Action(动作)
得到 Reward(奖励)
观察到新的 State(状态)
目标:最大化长期累积奖励

RL循环

RL Agent-Environment循环

1.2 与监督学习的本质区别

监督学习 强化学习
数据 人标注的正确答案 环境返回的奖励信号
反馈 即时告知「你错了」 延迟告知「总分多少」
目标 模仿正确答案 最大化长期收益
错误 直接修正 自己尝试发现
适合 分类、检测、翻译 控制、博弈、决策

RL 的核心挑战:延迟奖励——你可能做了 100 步操作,最后一步才知道结果。怎么把最后的结果「归功」到前面的关键步骤?这就是 Bellman 方程要解决的问题。


二、定义:MDP 的数学形式化

2.1 历史渊源

1957 年:Richard Bellman 提出动态规划和 Bellman 方程。他当时研究的是最优控制问题——如何分配有限资源达到最大效益。

1960 年:Ronald Howard 出版《Dynamic Programming and Markov Processes》,将 Bellman 的工作系统化为 MDP 框架。

1989 年:Chris Watkins 提出 Q-Learning,首次将 MDP 与「从经验中学习」结合,开创了现代 RL。

2015 年:DeepMind 的 DQN 在 Atari 游戏中超越人类,标志着深度 RL 时代的到来。

2.2 MDP 五要素

MDP(Markov Decision Process,马尔可夫决策过程)是 RL 的数学框架,由五个要素构成:

MDP Grid World

① 状态空间 S(State Space)

所有可能的状态集合。例如飞行器的状态:

s=[x,y,z,vx,vy,vz,ϕ,θ,ψ]R9s = [x, y, z, v_x, v_y, v_z, \phi, \theta, \psi] \in \mathbb{R}^9

其中 x,y,zx,y,z 是位置,vx,vy,vzv_x,v_y,v_z 是速度,ϕ,θ,ψ\phi,\theta,\psi 是姿态角。

② 动作空间 A(Action Space)

所有可能动作的集合。例如四旋翼:

a=[T,τx,τy,τz]R4a = [T, \tau_x, \tau_y, \tau_z] \in \mathbb{R}^4

其中 TT 是总推力,τx,τy,τz\tau_x,\tau_y,\tau_z 是三个轴的力矩。

③ 转移概率 P(Transition Probability)

P(ss,a)P(s' | s, a)

给定当前状态 ss 和动作 aa,下一状态 ss' 的概率分布。对于确定性环境(如物理仿真),这就是牛顿力学:

s=f(s,a)s' = f(s, a)

④ 奖励函数 R(Reward Function)

R(s,a,s)RR(s, a, s') \in \mathbb{R}

环境返回的标量信号。对截击任务:

  • 命中目标:+1000+1000
  • 缩短距离:+1×Δdistance+1 \times \Delta \text{distance}
  • 脱靶:500-500

⑤ 折扣因子 γ(Discount Factor)

0γ10 \leq \gamma \leq 1

控制「远见」程度:

  • γ=0\gamma = 0:只看眼前,鼠目寸光
  • γ=0.99\gamma = 0.99:考虑约 100 步后的长期收益(0.991000.370.99^{100} \approx 0.37

2.3 马尔可夫性

MDP 的核心假设——未来只取决于现在,与过去无关

P(st+1st,at)=P(st+1st,at,st1,at1,...,s0,a0)P(s_{t+1} | s_t, a_t) = P(s_{t+1} | s_t, a_t, s_{t-1}, a_{t-1}, ..., s_0, a_0)

这在物理系统中天然成立——飞行的下一时刻只由当前位置、速度和受力决定。


三、性质:RL 的核心特性与关键折衷

3.1 三个核心性质

性质 含义 飞行器中的体现
试错学习 不需要人教正确答案,自己从奖励中学习 飞控策略在仿真中摔了几万次后学会飞
延迟奖励 动作的后果可能很久才显现 前 50 步的飞行姿态选择,在最后 1 步决定是否命中
探索与利用 已经会的方法 vs 尝试新方法 用已知的 PN 制导律 vs 尝试一个没见过的机动

3.2 探索-利用困境(Exploration-Exploitation Dilemma)

这是 RL 最核心的矛盾:

1
2
3
4
5
已知最优动作:Q值最高 → 选它(利用 Exploitation)
未知动作:Q值未知 → 试一下(探索 Exploration)

困境:如果只利用 → 可能永远找不到更好的策略
如果只探索 → 永远拿不到最好的奖励

经典解法——ε-greedy:

1
2
3
4
以概率 1-ε:选择 Q 值最大的动作(利用)
以概率 ε:随机选择一个动作(探索)

ε 从 1.0 开始(全随机),逐步衰减到 0.01(基本利用)

3.3 三大范式的根本分歧

维度 学什么 怎么决策
Value-Based 价值函数 Q(s,a) 选 Q 值最大的动作
Policy-Based 策略函数 π(a|s) 直接从状态映射到动作
Model-Based 环境模型 f(s,a)→s’ 在世界模型中规划/「做梦」

四、表示:Bellman 方程与价值函数

4.1 历史

Bellman 方程得名于 Richard Bellman(1920-1984),美国应用数学家。他在 1950 年代为兰德公司研究多阶段决策过程时提出了动态规划和「最优性原理」——「最优策略具有这样的性质:无论初始状态和初始决策如何,剩余决策必须构成关于初始决策所产生状态的最优策略。」

这句话被压缩成了那条著名的方程。

4.2 Bellman 方程

Bellman 方程图解

RL 的唯一定理:

Q(s,a)=r+γmaxaQ(s,a)Q(s, a) = r + \gamma \cdot \max_{a'} Q(s', a')

逐字翻译:在状态 ss 做动作 aa 的价值 = 即时奖励 + 折扣 × 新状态下最佳动作的价值。

直觉

  • 右边的 rr — 立刻得到的好处
  • 右边的 γmaxQ(s,a)\gamma \cdot \max Q(s', a') — 后续能走多远
  • 左边的 Q(s,a)Q(s, a) — 当前决策的总价值

4.3 价值函数的标准形式

状态价值函数 V(s)(从状态 s 出发的期望累积奖励):

Vπ(s)=E[t=0γtrts0=s,π]V^\pi(s) = \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t r_t \mid s_0 = s, \pi\right]

动作价值函数 Q(s,a)(从状态 s 做动作 a 出发):

Qπ(s,a)=E[t=0γtrts0=s,a0=a,π]Q^\pi(s, a) = \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t r_t \mid s_0 = s, a_0 = a, \pi\right]

两者关系:

Vπ(s)=aπ(as)Qπ(s,a)V^\pi(s) = \sum_a \pi(a|s) Q^\pi(s,a)

4.4 TD 误差(Temporal Difference Error)

δ=r+γmaxaQ(s,a)Q(s,a)\delta = r + \gamma \cdot \max_{a'} Q(s', a') - Q(s, a)

| δ>0\delta > 0 | 实际比预期好 → 上调 Q(s,a) |
| δ<0\delta < 0 | 实际比预期差 → 下调 Q(s,a) |
| δ=0\delta = 0 | 完美估计 → 不动 |

Q-Learning 的更新规则:

Q(s,a)Q(s,a)+αδQ(s, a) \leftarrow Q(s, a) + \alpha \cdot \delta

其中 α\alpha 是学习率(0~1),控制更新速度。


五、例子:手算 Grid World

5.1 设置

考虑一个 3×4 的网格世界(详见第二节的 MDP 图):

  • 起点 S₀:左上角 (0,0)
  • 目标 ⭐:右下角,奖励 +10
  • 陷阱 ⚠:右上角,奖励 -10
  • :第二行第二列,不可穿越
  • 动作:↑↓←→,每次移动奖励 -1(鼓励走最短路径)
  • γ=0.9\gamma = 0.9

5.2 手算 Bellman 更新

假设 Q 表初始化全是 0。经过多次更新后,目标周边格子的 Q 值:

步骤 1:从目标左边的格子 (3,1) 出发,向右走:

1
Q((3,1), →) = -1 + 0.9 × 0 = -1          # 第一次,还不知道目标值

步骤 2:从目标上方格子 (2,2) 出发,向下走:

1
Q((2,2), ↓) = -1 + 0.9 × max Q((3,2), ·) = -1 + 0.9×0 = -1

步骤 N:多次迭代后 Q 值收敛:

1
2
3
4
Q((3,1), →) = -1 + 0.9 × 10 = 8.0         # 目标右边 → 值很高
Q((2,2), ↓) = -1 + 0.9 × 10 = 8.0 # 目标上方 → 值很高
Q((2,1), →) = -1 + 0.9 × max(8.0, 某值) ≈ 6.2 # 继续传播
Q((0,0), ...) = 最优路径的价值 ≈ 4.8 # 起点 → 最佳路线

5.3 最优策略

经过足够多次更新后,Q 表收敛。最优策略 = 每步选 Q 值最大的动作:

1
2
起点 → 下 → 下 → 右 → 右 → 右 → 目标
(避开上方陷阱和中间墙壁)

六、Value-Based 方法:先学会「评价」,再选动作

6.1 Q-Learning(1989)

核心思想:不学策略,学价值。有了准确的价值估计,最优动作自然就是 Q 值最大的那个。

算法伪代码

1
2
3
4
5
6
7
8
初始化 Q(s,a)=0(或随机)
for 每回合:
重置环境 s=s₀
while 未结束:
选择动作 a:ε-greedy
执行 a,观察 r 和 s'
Q(s,a) ← Q(s,a) + α [r + γ·max_a' Q(s',a') - Q(s,a)]
s ← s'

关键性质:Q-Learning 是 off-policy 的——它学习最优策略,但执行时可以用任意策略(如 ε-greedy)。这意味着可以从历史数据中学习,不需要每次学完重新采样。

6.2 DQN(Deep Q-Network, 2013/2015)

为什么需要 DQN:Q-Learning 用表格存 Q 值,状态空间稍大就存不下。四个电机每个 1000 个取值 → 1000⁴ = 1 万亿个状态。

DQN 的解法:用神经网络拟合 Q 函数:

Q(s,a;θ)Q(s,a)Q(s, a; \theta) \approx Q^*(s, a)
创新 解决的问题 方法
经验回放 样本相关性 → 训练不稳定 随机从历史中采样 batch
目标网络 Q 值估计和更新耦合 → 发散 固定一个旧网络计算目标值
损失函数 回归问题 L=12[r+γmaxaQ(s,a;θ)Q(s,a;θ)]2\mathcal{L} = \frac{1}{2}[r + \gamma \max_{a'} Q(s',a';\theta^-) - Q(s,a;\theta)]^2

历史意义:2013 年 DeepMind 用 DQN 在 7 个 Atari 游戏中超越人类玩家。2015 年 Nature 论文扩展到 49 个游戏。

6.3 后续发展

算法 年份 改进
DDQN 2016 解决 Q 值高估问题:用当前网络选动作,目标网络评价值
Dueling DQN 2016 分解 Q=V+A,分别估计状态价值和动作优势
Rainbow 2017 整合 6 项改进(DDQN+Dueling+优先回放+分布式+噪声网络+多步)

七、Policy-Based 方法:直接学「怎么做」

7.1 为什么需要 Policy Gradient?

Value-Based 方法有一个致命缺陷——只能处理离散动作。飞行器的电机指令是连续值,不能简单地「选油门=50% 还是 51%」。

7.2 REINFORCE(Williams, 1992)

最简单的策略梯度算法:

θJ(θ)=Eτπθ[t=0Tθlogπθ(atst)R(τ)]\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t | s_t) \cdot R(\tau) \right]

直觉

  • 如果一条轨迹的总奖励 R(τ) 高 → 增大这条轨迹上所有动作的概率
  • 如果总奖励低 → 减小概率

问题:方差极大——好轨迹里的坏动作也被鼓励,坏轨迹里的好动作也被惩罚。

7.3 Actor-Critic 架构

引入 Critic(评价者)来降低方差:

1
2
3
4
5
┌──────────┐         ┌──────────┐
│ Actor │ ──a──→ │ Critic │
│ π(a|s) │ ←─V(s)─ │ V(s) │
│ "怎么做" │ │ "有多好" │
└──────────┘ └──────────┘

优势函数(Advantage Function):

A(s,a)=Q(s,a)V(s)A(s, a) = Q(s, a) - V(s)
  • A>0A > 0:这个动作比平均水平好
  • A<0A < 0:这个动作比平均水平差

A(s,a)A(s,a) 替代 REINFORCE 中的 R(τ)R(\tau),方差大幅降低。

7.4 PPO(Proximal Policy Optimization, 2017)

当前最主流的 RL 算法。PPO 解决 Actor-Critic 的核心问题——策略更新太快导致训练崩溃。

核心技巧——Clip

LCLIP(θ)=E[min(rt(θ)At,clip(rt(θ),1ϵ,1+ϵ)At)]L^{CLIP}(\theta) = \mathbb{E}\left[ \min\left( r_t(\theta) A_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) A_t \right) \right]

其中 rt(θ)=πθ(atst)πθold(atst)r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)} 是新旧策略的概率比。

直觉

  • 如果新旧策略差异在 1±ϵ1\pm\epsilon 范围内 → 正常更新
  • 如果差异超过这个范围 → 截断,不更新

PPO 的成功案例

  • OpenAI Five(Dota 2,2018)
  • 波士顿动力 Atlas 行走(2020)
  • SkyDreamer 无人机竞速(2025)

八、Model-Based RL:学一个「世界模型」

8.1 为什么需要世界模型?

PPO 这样的 Model-Free 算法需要海量交互

1
2
3
训练一个四旋翼飞控:
PPO (Model-Free):仿真中飞行 1000 万次 → 学会
DreamerV3 (Model-Based):仿真中飞行 1 万次 + "做梦" 999 万次 → 学会

对于真实飞行器,每次飞行都有时间和磨损成本,不可能在真机上跑 1000 万次。

8.2 DreamerV3:在「梦」中学习

DreamerV3(DeepMind, 2023)是 Model-Based RL 的代表作:

1
2
3
4
5
6
7
8
Step 1: 用少量真机数据学习世界模型
s_t, a_t → [RSSM] → ŝ_{t+1}, r̂_{t+1}

Step 2: 在世界模型内训练策略("做梦")
世界模型的隐状态 ŝ → 策略 π → 动作 → 世界模型预测 → ŝ' → ...

Step 3: 部署到真机
真机的 s → 策略 π(已在梦中训练好) → 动作 a

8.3 SkyDreamer:世界模型驱动的无人机

SkyDreamer(TU Delft, 2025)将 Dreamer 的思想用于无人机竞速:

传统 PPO SkyDreamer (Model-Based)
仿真交互 1000 万步 ~1 万步 + 世界模型训练
世界模型解码 预测真值姿态 + 电池衰减 + 电机上限
真机部署 需要域随机化 + 系统辨识 零微调(世界模型已隐式估计物理参数)
性能 ~10 m/s 21 m/s, 6G, 倒飞筋斗

关键洞察:SkyDreamer 的世界模型不重建图像——它解码到「特权信息」(真实位姿、电机参数),这让策略隐式地学会了状态估计。


九、对比:三大范式一表总结

RL 三大范式对比

维度 Value-Based Policy-Based Model-Based
学什么 Q 函数 策略 π 环境模型 + 策略
代表算法 DQN, Rainbow PPO, SAC DreamerV3, MuZero
动作空间 仅离散 连续 ✓ 离散/连续
样本效率 ★★☆☆☆ ★★☆☆☆ ★★★★★
训练稳定性 ★★★★☆ ★★★☆☆ ★★☆☆☆
在线/离线 可离线 需在线 可「做梦」
适合场景 游戏、推荐 机器人控制 飞行器、自动驾驶

9.1 2025-2026 趋势:范式融合

  • PPO + World Model:Dreamer 系列用 Model-Based 提高样本效率 × Policy Gradient 的灵活性
  • Actor-Critic 统一:PPO/SAC 本来就是 Value+Policy 的融合
  • 在线适应:Neural-Fly 在飞行中在线更新世界模型,不需要离线重训练

十、工程应用:飞行器与自动驾驶

10.1 RL 在无人机中的应用

应用 RL 方法 效果
敏捷飞行 PPO / DreamerV3 21 m/s 竞速、倒飞筋斗
自主避障 DQN / PPO 森林中 20 m/s 穿行
编队控制 Multi-Agent RL 250 架无人机协同
抓取与操作 SAC / PPO 飞行机械臂抓取
截击制导 PPO / SAC 超越 PN 律的拦截策略

10.2 RL 在自动驾驶中的应用

应用 RL 方法 代表
端到端驾驶 PPO + World Model 小鹏 VLA 2.0
轨迹规划 DreamerV3 Wayve GAIA-1
强化学习对齐 RL from Human Feedback
在线学习 X-World + RL 闭环仿真评估

10.3 RLHF:RL 在大模型中的应用

ChatGPT 的核心训练管线最后一步就是 RL:

1
2
3
预训练 → 监督微调(SFT) → 奖励模型 → PPO(RL)

人类标注「这个回答好不好」

RLHF 中的 rr = 奖励模型的输出分数,策略 π = LLM 本身(决定下一个 token 选什么)。这里的「动作空间」是 50000 个 token 的词汇表——Q-Learning 直接失效(动作太多),必须用 PPO。


知识体系总览

完整概念地图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
               ┌──────────────────────────┐
│ MDP(马尔可夫决策过程) │
│ S, A, P, R, γ │
└────────────┬─────────────┘

┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Value-Based │ │Policy-Based │ │ Model-Based │
│ Q(s,a)→动作 │ │ π(a|s)→动作 │ │ 学f(s,a)→s' │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │
▼ ▼ ▼
Bellman 方程 策略梯度定理 RSSM/Dreamer
Q-Learning REINFORCE MuZero/TD-MPC2
DQN/Rainbow PPO/SAC SkyDreamer
│ │ │
└─────────────────┼──────────────────┘

Actor-Critic 统一
优势函数 A(s,a)
TD 误差 δ = r+γV(s')-V(s)

核心公式速查卡

公式 名称 作用
Q(s,a)=r+γmaxaQ(s,a)Q(s,a)=r+\gamma\max_{a'}Q(s',a') Bellman 方程 RL 的核心定理
δ=r+γmaxQ(s,a)Q(s,a)\delta = r+\gamma\max Q(s',a')-Q(s,a) TD 误差 衡量「现实 vs 预期」
QQ+αδQ\leftarrow Q + \alpha\delta Q 更新 用误差修正估计
J=E[logπR]\nabla J = \mathbb{E}[\nabla\log\pi\cdot R] 策略梯度 Policy-Based 的核心
A(s,a)=Q(s,a)V(s)A(s,a)=Q(s,a)-V(s) 优势函数 Actor-Critic 的关键
LCLIP=min(rA,clip(r,1±ϵ)A)L^{CLIP}=\min(rA,\text{clip}(r,1\pm\epsilon)A) PPO 损失 稳定策略更新

给自学者的推荐阅读顺序

  1. 第一步(30 分钟):本文 一~五 节——建立 MDP 和 Bellman 方程的直觉
  2. 第二步(1 小时):本文 六~九 节——理解三大范式的区别
  3. 第三步(动手):OpenAI Gym 跑一个 CartPole(DQN 实现,~50 行代码)
  4. 第四步(进阶):读 DreamerV3 论文(DeepMind, 2023)理解世界模型
  5. 第五步(实战):Flightmare 或 Isaac Gym 环境训练一个四旋翼飞控

参考文献

  1. Sutton, R. S., & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press.
  2. Watkins, C. J. C. H. (1989). Learning from Delayed Rewards. PhD Thesis, Cambridge.
  3. Mnih, V., et al. (2015). Human-level control through deep reinforcement learning. Nature, 518, 529–533.
  4. Schulman, J., et al. (2017). Proximal Policy Optimization Algorithms. arXiv:1707.06347.
  5. Hafner, D., et al. (2023). Mastering Diverse Domains through World Models. arXiv:2301.04104.
  6. Verraest, A., et al. (2025). SkyDreamer: Interpretable End-to-End Vision-Based Drone Racing with Model-Based RL. arXiv:2510.14783.
  7. Bellman, R. (1957). Dynamic Programming. Princeton University Press.
  8. Williams, R. J. (1992). Simple Statistical Gradient-Following Algorithms for Connectionist Reinforcement Learning. Machine Learning, 8, 229–256.