强化学习概览
本页介绍强化学习(Reinforcement Learning, RL)在整个分类体系中的定位:它是与监督、无监督并列的机器学习第三范式,而非传统 ML 或深度学习之下的子分支。2024 年,RL 奠基人 Andrew Barto 与 Richard Sutton 获得 ACM 图灵奖(2025 年 3 月正式颁奖),标志着 RL 作为一门独立学科的地位获得计算机科学最高荣誉的认可——从 1980 年代的冷门课题到驱动 AlphaGo、ChatGPT、DeepSeek-R1 的核心技术,RL 用四十年完成了从理论到产业落地 的闭环。
强化学习的本质可以用训练小狗来理解:
- 小狗就是智能体(Agent),它不知道什么是对错,只会尝试各种行为。
- 你(训练环境)在小狗做对动作时给零食(正奖励),做错时说”不行”(负奖励)。
- 小狗通过不断试错,逐渐学会”在什么情况下该做什么”——这就是策略(Policy),形式化地记作 ,表示在状态 下选择动作 的概率。
- 核心矛盾是探索 vs 利用(Exploration vs Exploitation):是一直尝试新动作(可能发现更好的,但有风险),还是重复已知有效的动作(安全但可能错过更优解)?这个权衡是 RL 区别于其他机器学习范式的本质特征——监督学习没有这个问题,因为数据是给定的。
与监督学习的区别:监督学习是”每道题都有标准答案”,RL 是”没有标准答案,只有好/坏的反馈信号”——就像生活本身,你不会立刻知道某个选择的”正确答案”,只有在事后才知道结果好不好。更技术化地说:监督学习从 iid(独立同分布)的静态数据集学习输入到输出的映射;RL 的数据是智能体自身与动态环境交互产生的序列,既是非 iid 的,又会随着策略变化而变化——学习对象和数据来源耦合在一起,这是 RL 训练不稳定的根本原因之一。
与无监督学习的区别:无监督学习从无标注数据中发现结构(聚类、降维、密度估计),没有”动作”和”奖励”的概念;RL 虽然也不依赖标注答案,但有一个明确的目标信号(累积奖励)和决策序列结构。
RL 学习路径
Section titled “RL 学习路径”从零到实战的推荐学习顺序:先理解核心概念,再依次掌握表格方法、深度价值方法、策略梯度,最后进入进阶方向:
Agent-Environment 交互循环
Section titled “Agent-Environment 交互循环”RL 的一切都围绕这个循环展开:智能体观察环境 → 选择动作 → 环境返回新状态和奖励 → 重复。
Q-learning 决策流程
Section titled “Q-learning 决策流程”Q-learning 的核心思想:用一张”状态-动作价值表”(Q 表)记录”在状态 s 下做动作 a 有多好”,然后每次选 Q 值最大的动作。Q-learning 是一种 off-policy(离策略) 算法——它学习的是最优策略的 Q 值(目标策略),但实际执行时可以用任意探索策略(行为策略),两者解耦使得经验可以被反复利用,样本效率高。与之相对的 SARSA 是 on-policy(在策略) 算法,它用实际执行的动作来更新 Q 值,因此学到的 Q 值反映了当前探索策略(含探索噪声)的真实表现。
MDP 五元组:RL 的数学框架
Section titled “MDP 五元组:RL 的数学框架”强化学习问题被形式化为马尔可夫决策过程(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 开始的累积折扣回报:
γ 使指数项 γ²、γ³ 快速衰减,因此回报有界。理解回报是理解价值函数与 Q 值的前提——价值函数就是在状态 s 下回报的期望。
价值函数(Value Function):在策略 π 下,状态 s 的价值定义为回报的期望:
回答了”如果我按策略 π 行动,从状态 s 出发,平均能拿到多少累积奖励”。
动作价值函数(Action-Value Function / Q 值):在策略 π 下,状态 s 执行动作 a 的价值:
Q 值比 V 值多了一个条件——它额外指定了”第一步做哪个动作”。最优策略就是每步选 Q 值最大的动作。
Bellman 方程(Bellman Equation):价值函数满足递归关系——当前状态的价值 = 即时奖励 + 折扣后的下一状态价值:
这个方程是所有 RL 算法的数学基石:无论是 Q-learning、DQN 还是 PPO,本质上都在用不同方式近似求解 Bellman 方程。Richard Bellman 1957 年提出这个递归结构时称之为”最优性原理”,它把无限长的决策序列优化问题分解为可迭代求解的子问题。
Bellman 最优方程:当替换为最优价值函数 (所有策略中的最大值)时:
求解这个非线性方程(通过价值迭代或策略迭代)就得到最优策略——但前提是 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-R1Q-learning 网格世界(纯 numpy)
Section titled “Q-learning 网格世界(纯 numpy)”一个 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 表初始化为 0alpha, 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 训练变道、超车、路口通行等决策策略,在模拟器中反复试错学习安全的行为模式。
典型类库与工具
Section titled “典型类库与工具”| 类库 | 语言 | 说明 |
|---|---|---|
| Gymnasium | Python | OpenAI Gym 的官方维护继任者,提供标准化 RL 环境接口(CartPole、Atari 等) |
| Stable-Baselines3 | Python | 高层 RL 算法库,封装 PPO、SAC、DQN 等主流算法,开箱即用 |
| RLlib (Ray) | Python | 基于 Ray 的分布式 RL 库,支持大规模多机多卡训练 |
| Tianshou | Python | 模块化 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 | 结合蒙特卡洛采样与动态规划思想的无模型学习范式 |
本目录导航(15 页)
Section titled “本目录导航(15 页)”- 强化学习概览: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 图灵奖。