Skip to content

强化学习概览

本页介绍强化学习(Reinforcement Learning, RL)在整个分类体系中的定位:它是与监督、无监督并列的机器学习第三范式,而非传统 ML 或深度学习之下的子分支。2024 年,RL 奠基人 Andrew Barto 与 Richard Sutton 获得 ACM 图灵奖(2025 年 3 月正式颁奖),标志着 RL 作为一门独立学科的地位获得计算机科学最高荣誉的认可——从 1980 年代的冷门课题到驱动 AlphaGo、ChatGPT、DeepSeek-R1 的核心技术,RL 用四十年完成了从理论到产业落地 的闭环。

强化学习的本质可以用训练小狗来理解:

  • 小狗就是智能体(Agent),它不知道什么是对错,只会尝试各种行为。
  • 你(训练环境)在小狗做对动作时给零食(正奖励),做错时说”不行”(负奖励)。
  • 小狗通过不断试错,逐渐学会”在什么情况下该做什么”——这就是策略(Policy),形式化地记作 π(a∣s)\pi(a|s),表示在状态 ss 下选择动作 aa 的概率。
  • 核心矛盾是探索 vs 利用(Exploration vs Exploitation):是一直尝试新动作(可能发现更好的,但有风险),还是重复已知有效的动作(安全但可能错过更优解)?这个权衡是 RL 区别于其他机器学习范式的本质特征——监督学习没有这个问题,因为数据是给定的。

与监督学习的区别:监督学习是”每道题都有标准答案”,RL 是”没有标准答案,只有好/坏的反馈信号”——就像生活本身,你不会立刻知道某个选择的”正确答案”,只有在事后才知道结果好不好。更技术化地说:监督学习从 iid(独立同分布)的静态数据集学习输入到输出的映射;RL 的数据是智能体自身与动态环境交互产生的序列,既是非 iid 的,又会随着策略变化而变化——学习对象和数据来源耦合在一起,这是 RL 训练不稳定的根本原因之一。

与无监督学习的区别:无监督学习从无标注数据中发现结构(聚类、降维、密度估计),没有”动作”和”奖励”的概念;RL 虽然也不依赖标注答案,但有一个明确的目标信号(累积奖励)和决策序列结构。

从零到实战的推荐学习顺序:先理解核心概念,再依次掌握表格方法、深度价值方法、策略梯度,最后进入进阶方向:

RL 的一切都围绕这个循环展开:智能体观察环境 → 选择动作 → 环境返回新状态和奖励 → 重复。

Q-learning 的核心思想:用一张”状态-动作价值表”(Q 表)记录”在状态 s 下做动作 a 有多好”,然后每次选 Q 值最大的动作。Q-learning 是一种 off-policy(离策略) 算法——它学习的是最优策略的 Q 值(目标策略),但实际执行时可以用任意探索策略(行为策略),两者解耦使得经验可以被反复利用,样本效率高。与之相对的 SARSA 是 on-policy(在策略) 算法,它用实际执行的动作来更新 Q 值,因此学到的 Q 值反映了当前探索策略(含探索噪声)的真实表现。

强化学习问题被形式化为马尔可夫决策过程(Markov Decision Process, MDP),由五个要素构成,通常记作 (S, A, P, R, γ):

  • 状态集合 S:环境所有可能局面的集合。MDP 要求状态满足马尔可夫性——未来的演化只依赖当前状态,与更早的历史无关(“当下足够”)。
  • 动作集合 A:智能体在每个状态下可采取的动作集合,可以是离散(上/下/左/右)或连续(关节力矩)。
  • 状态转移概率 P(s’ | s, a):环境的动力学,描述在状态 s 执行动作 a 后转移到 s’ 的概率。P 决定了环境的”物理规则”,可能确定也可能随机。
  • 奖励函数 R(s, a, s’):环境在转移后返回的标量反馈,是智能体唯一的”老师”。注意奖励是信号而非目标——智能体的真正目标由下面的回报定义。
  • 折扣因子 γ:未来奖励的折算系数,取值范围 0 到小于 1。γ 越接近 1 越”有远见”,γ 等于 0 则完全只看当下。它同时保证无限长的交互序列下回报仍然收敛。

回报(Return):智能体的优化目标是从时刻 t 开始的累积折扣回报:

Gt=r1+γ⋅r2+γ2⋅r3+⋯=∑k=0∞γk⋅rt+k+1G_t = r_1 + \gamma \cdot r_2 + \gamma^2 \cdot r_3 + \cdots = \sum_{k=0}^{\infty} \gamma^k \cdot r_{t+k+1}

γ 使指数项 γ²、γ³ 快速衰减,因此回报有界。理解回报是理解价值函数与 Q 值的前提——价值函数就是在状态 s 下回报的期望。

价值函数(Value Function):在策略 π 下,状态 s 的价值定义为回报的期望:

Vπ(s)=Eπ[Gt∣st=s]V^\pi(s) = \mathbb{E}_\pi[G_t \mid s_t = s]

Vπ(s)V^\pi(s) 回答了”如果我按策略 π 行动,从状态 s 出发,平均能拿到多少累积奖励”。

动作价值函数(Action-Value Function / Q 值):在策略 π 下,状态 s 执行动作 a 的价值:

Qπ(s,a)=Eπ[Gt∣st=s,at=a]Q^\pi(s, a) = \mathbb{E}_\pi[G_t \mid s_t = s, a_t = a]

Q 值比 V 值多了一个条件——它额外指定了”第一步做哪个动作”。最优策略就是每步选 Q 值最大的动作。

Bellman 方程(Bellman Equation):价值函数满足递归关系——当前状态的价值 = 即时奖励 + 折扣后的下一状态价值:

Vπ(s)=∑aπ(a∣s)∑s′P(s′∣s,a)[R(s,a,s′)+γ⋅Vπ(s′)]V^\pi(s) = \sum_a \pi(a|s) \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma \cdot V^\pi(s') \right]

这个方程是所有 RL 算法的数学基石:无论是 Q-learning、DQN 还是 PPO,本质上都在用不同方式近似求解 Bellman 方程。Richard Bellman 1957 年提出这个递归结构时称之为”最优性原理”,它把无限长的决策序列优化问题分解为可迭代求解的子问题。

Bellman 最优方程:当替换为最优价值函数 V∗V^*(所有策略中的最大值)时:

V∗(s)=max⁡a∑s′P(s′∣s,a)[R(s,a,s′)+γ⋅V∗(s′)]V^*(s) = \max_a \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma \cdot V^*(s') \right]

求解这个非线性方程(通过价值迭代或策略迭代)就得到最优策略——但前提是 P 和 R 已知(即”规划”场景)。RL 的挑战在于 P 和 R 未知,必须通过交互采样来估计。

规划 vs 学习:当 S、A、P、R、γ 全部已知时,求解最优策略称为规划(如价值迭代、策略迭代);当 P 和 R 未知、只能通过与真实环境交互采样来估计时,就是强化学习。绝大多数现实问题属于后者。

强化学习是机器学习三范式之一,与监督学习、无监督学习并列(AIMA、Sutton & Barto 教科书、Wikipedia 均采用此划分):

  • 监督学习:从有标注数据学习输入→输出映射;
  • 无监督学习:从无标注数据发现结构;
  • 强化学习:智能体与环境交互,通过试错最大化累积奖励信号。

两点注意:① RL 有双重归属——运筹学/控制论界称之为”近似动态规划”,数学基础是 Bellman 动态规划与 MDP 框架;② RL 与深度学习是正交维度(范式 vs 函数逼近工具),两者交叉产生深度强化学习(DRL),如 DQN、AlphaGo。

强化学习(RL)
├── 基础框架
│ ├── MDP(Markov Decision Process)/ POMDP
│ ├── Bellman 方程;动态规划解法(Value/Policy Iteration)
│ ├── Monte Carlo 方法
│ └── Temporal-Difference(TD)学习
├── Model-free RL(无模型)
│ ├── 价值方法:Q-learning、SARSA
│ │ └── 深度价值:DQN → Double/Dueling/Rainbow
│ ├── 策略梯度:REINFORCE、Policy Gradient Theorem
│ └── Actor-Critic:A3C、DDPG→TD3、TRPO、PPO、SAC
├── Model-based RL(基于模型)
│ ├── Dyna 架构
│ ├── 世界模型:World Models、Dreamer 系列
│ └── 学习模型+MCTS:MuZero
└── 在 LLM 中的应用(RL × NLP 交叉)
├── RLHF → InstructGPT/ChatGPT
├── RLAIF / Constitutional AI
├── DPO(无显式 RL 循环)
└── RLVR / 推理模型:GRPO、OpenAI o1、DeepSeek-R1

一个 4×4 网格世界:智能体从左上角出发,目标是到达右下角的宝藏,中间有一个陷阱。用 Q-learning 学会最优路径。

import numpy as np
# 4x4 网格:0=空地,1=陷阱,2=宝藏
grid = np.array([[0,0,0,0],[0,1,0,0],[0,0,0,0],[0,0,0,2]])
n_states, n_actions = 16, 4 # 16个状态,4个动作(上下左右)
Q = np.zeros((n_states, n_actions)) # Q 表初始化为 0
alpha, gamma, eps = 0.1, 0.95, 0.3 # 学习率、折扣因子、探索率
for episode in range(2000):
s = 0 # 从状态 0(左上角)出发
while s not in (5, 6, 9, 10, 15): # 陷阱或宝藏时结束
a = np.random.randint(4) if np.random.random() < eps else np.argmax(Q[s])
row, col = divmod(s, 4)
# 执行动作,计算新状态
if a == 0 and row > 0: row -= 1 # 上
elif a == 1 and row < 3: row += 1 # 下
elif a == 2 and col > 0: col -= 1 # 左
elif a == 3 and col < 3: col += 1 # 右
s_next = row * 4 + col
r = -1 if grid[row, col] == 0 else (10 if grid[row, col] == 2 else -10)
# Q-learning 更新公式
Q[s, a] += alpha * (r + gamma * np.max(Q[s_next]) - Q[s, a])
s = s_next
print("学到的策略(每格最优动作):")
for i in range(4):
print(["上下左右"[np.argmax(Q[i*4+j])] for j in range(4)])
# 输出示例: ['右', '右', '下', '下'] / ['-', '-', '下', '-'] / ...
  • 奖励设计是最难的环节:RL 对奖励信号极度敏感——如果给”移动”正奖励,智能体可能在原地反复横跳刷分(reward hacking)。设计奖励时要想清楚你真正想要的行为是什么。
  • 探索率 ε 要逐渐衰减:训练初期多探索(ε=0.5),后期多利用(ε=0.05),否则永远学不到最优策略。
  • 折扣因子 γ 的含义:γ 越接近 1,智能体越”有远见”(重视长期奖励);γ 越小越”短视”。通常取 0.9–0.99。
  • Q-learning 只适合小状态空间:状态数超过几万时,Q 表存不下,需要用神经网络替代 Q 表——这就是 DQN 的思路。
  • 调试 RL 比监督学习难得多:没有”标准答案”,bug 可能藏在奖励设计、探索策略、网络结构任何一处,建议先在小环境中验证。

游戏与竞技

  • 围棋 AI:DeepMind 的 AlphaGo 用 RL 自对弈从零学习,2016 年击败李世乭——RL 在完全信息博弈中的标志性突破。
  • 多人即时战略游戏:OpenAI Five 在 Dota 2 中击败世界冠军,DeepMind 的 AlphaStar 达到星际争霸 II 宗师级——展示了 RL 处理不完全信息、长时序决策的能力。

互联网产品

  • 推荐系统(Bandit 算法):Multi-Armed Bandit 在”探索新内容 vs 推荐已知好内容”之间自动平衡,Netflix、字节跳动的推荐系统中广泛使用,冷启动场景效果尤为突出。
  • 广告竞价:RL 智能体实时调整出价策略,在拍卖中最大化广告主 ROI——阿里巴巴、腾讯广告平台均有应用。

物理世界

  • 机器人控制:Boston Dynamics 机器人的运动技能、灵巧手抓取等任务大量采用 RL 训练,让机器人在模拟环境中通过试错学会复杂动作再迁移到真实世界。
  • 自动驾驶决策:Waymo、特斯拉等用 RL 训练变道、超车、路口通行等决策策略,在模拟器中反复试错学习安全的行为模式。
类库语言说明
GymnasiumPythonOpenAI Gym 的官方维护继任者,提供标准化 RL 环境接口(CartPole、Atari 等)
Stable-Baselines3Python高层 RL 算法库,封装 PPO、SAC、DQN 等主流算法,开箱即用
RLlib (Ray)Python基于 Ray 的分布式 RL 库,支持大规模多机多卡训练
TianshouPython模块化 RL 研究库,代码清晰、高度可定制,适合复现论文算法
术语英文解释
马尔可夫决策过程MDP (Markov Decision Process)RL 的数学框架,由状态、动作、转移概率、奖励定义
策略Policy智能体在给定状态下选择动作的规则,是 RL 要学的核心对象
价值函数Value Function某状态下未来累积折扣奖励的期望,衡量状态的长期好坏
Q 值Q-value在状态 s 下执行动作 a 后可获得的期望累积奖励
奖励Reward环境对智能体动作的标量反馈信号,RL 优化的目标
折扣因子Discount Factor (γ)衡量未来奖励相对当前奖励重要性的参数(取值 0–1)
探索与利用Exploration vs Exploitation尝试新动作以发现更优策略 vs 利用已知最优动作的权衡
时序差分学习TD Learning结合蒙特卡洛采样与动态规划思想的无模型学习范式
  • 强化学习概览:RL 的定位(机器学习第三范式)、核心直觉、Agent-Environment 交互循环与分类体系。
  • 里程碑:从 TD-Gammon 到图灵奖:表格方法→深度 RL→RL 用于 LLM 的三波浪潮与关键年表。
  • RLHF 与 LLM 训练:RLHF 三阶段流水线、AlphaGo 归类与”RLHF 算不算真正 RL”的争议。
  • 高级强化学习:离线 RL、多智能体 RL 与 RLVR/GRPO 等进阶方向的概览。
  • 多臂老虎机与 Bandit 算法:ε-greedy、UCB、Thompson Sampling 到 Contextual Bandit 的完整谱系。
  • 离线强化学习:从静态数据集学习策略、分布偏移问题、CQL/BCQ/Decision Transformer。
  • 多智能体强化学习:合作/竞争/混合设定、Nash 均衡、MADDPG/MAPPO 与自对弈。
  • 分层强化学习:时间抽象与任务分解、Options 框架、FeUdal Networks 与目标条件 RL。
  • 安全强化学习:约束 MDP、CVaR、风险敏感 RL 与 Shielded RL 等约束下学习方法。
  • Sim-to-Real 迁移:Reality Gap、Domain Randomization、Domain Adaptation 与系统辨识。
  • 逆强化学习:从专家示范反推奖励函数、最大熵 IRL 与 GAIL。
  • 模仿学习:行为克隆、DAgger、数据集聚合及其与监督学习/IRL 的关系。
  • 自对弈与 AlphaZero:自己当对手的自我进化闭环、AlphaZero 从零学棋、Elo 评估与对手池管理。
  • 经典 RL 算法详解:Q-learning/SARSA 对比、DQN 系列改进与 DDPG/TD3/SAC 连续控制算法。
  • 世界模型与 Dreamer:基于模型 RL 的”脑内沙盘”、World Models 架构、Dreamer 系列与 MuZero。
  • 数学奠基:Bellman 1957 年提出动态规划与 Bellman 方程,奠定了 RL 的数学框架(MDP)。
  • TD 学习:Sutton 1988 年形式化 Temporal-Difference 学习,将 Monte Carlo 与动态规划的思想融合。
  • Q-learning:Watkins 1989 年在其剑桥博士论文中提出,1992 年与 Dayan 发表期刊版。
  • 教科书:Sutton & Barto《Reinforcement Learning: An Introduction》是 RL 领域的圣经,2024 年 RL 奠基人 Barto & Sutton 获 ACM 图灵奖。