本站内容由 AI 生成,可能存在错误。如发现问题,欢迎到 GitHub Issues 反馈。

强化学习基础:从 Agent 到 Bellman 方程

强化学习基础:从 Agent 到 Bellman 方程

更新于 2026-04-13

什么是强化学习

强化学习 (Reinforcement Learning, RL) 是机器学习的第三大范式,与监督学习和无监督学习并列。它的核心思想简单而深刻:一个 Agent(智能体)在 Environment(环境)中通过不断试错来学习最优行为策略

与监督学习的关键区别在于:

  • 没有标签:没人告诉 Agent 正确答案是什么,它只能从环境的奖励信号中学习
  • 延迟奖励:一个好的决策可能要很久以后才能看到效果(比如下棋的开局布局)
  • 探索-利用困境(Exploration-Exploitation Dilemma):Agent 必须在”尝试新策略”和”使用已知好策略”之间平衡
Agent-Environment 交互循环S₀起点S₁上方S₂右侧S₃陷阱S₄目标选择动作向上向右向下向左Trajectory累积奖励: 0重置点击动作按钮控制 Agent 移动 | S₄=目标(+5) | S₃=陷阱(-1)

在每个时间步,这个循环不断重复:

  1. Agent 观察当前状态 (State) sts_t
  2. Agent 根据策略选择一个动作 (Action) ata_t
  3. 环境返回奖励 (Reward) rtr_t 和新状态 st+1s_{t+1}
  4. Agent 根据经验调整策略

马尔可夫决策过程 (MDP)

RL 的数学基础是马尔可夫决策过程(Markov Decision Process, MDP),由五元组 (S,A,P,R,γ)(S, A, P, R, \gamma) 定义:

  • SS:状态空间(所有可能的状态集合)
  • AA:动作空间(所有可能的动作集合)
  • P(ss,a)P(s'|s,a):状态转移概率(在状态 ss 执行动作 aa 后转移到 ss' 的概率)
  • R(s,a,s)R(s,a,s'):奖励函数(状态转移时获得的即时奖励)
  • γ[0,1)\gamma \in [0,1):折扣因子(未来奖励的衰减系数,越远的奖励价值越低)

“马尔可夫”的含义是无记忆性:下一个状态只取决于当前状态和动作,不取决于历史。这个假设让问题变得可解。

MDP Grid World — 马尔可夫决策过程γ = 0.9 | 每步 reward = -0.04 | 目标 +1 | 陷阱 -1(0,0)-0.04(0,1)-0.04(0,2)-0.04(0,3)+1(1,0)-0.04(1,2)-0.04(1,3)-1(2,0)-0.04(2,1)-0.04(2,2)-0.04(2,3)-0.04(3,0)-0.04(3,1)-0.04(3,2)-0.04(3,3)-0.04轨迹 (Trajectory)重置使用方向键控制 Agent | 蓝色圆点 = Agent 位置

LLM 连接:在后续文章 当 RL 遇上 LLM 中我们会看到,LLM 的文本生成过程可以完美地建模为 MDP——state 是 prompt + 已生成的 token 序列,action 是从词汇表中选择下一个 token,policy 就是 LLM 本身。这里先建立直觉,详细映射见那篇文章。

策略与价值函数

有了 MDP 的框架,我们需要定义 Agent 的行为模式和评估标准:

策略 (Policy) π(as)\pi(a|s):在状态 ss 下选择动作 aa 的概率分布。策略可以是确定性的(每个状态固定一个动作)或随机的(概率分布)。

状态价值函数 (State Value Function) Vπ(s)V^\pi(s):从状态 ss 开始,遵循策略 π\pi 能获得的期望累积折扣奖励:

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

动作价值函数 (Action Value Function) Qπ(s,a)Q^\pi(s,a):在状态 ss 执行动作 aa 后,遵循策略 π\pi 的期望回报:

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

公式中 s0=ss_0 = s 表示”从时间步 0 开始、初始状态为 ss”,a0=aa_0 = a 表示”第一步选择的动作为 aa“。两个公式的区别仅在于:VV 只固定起始状态,第一步动作由策略 π\pi 决定;QQ 同时固定了起始状态和第一步动作。

V 和 Q 的互推关系

从 Q 到 V — 在状态 ss 下,Agent 可以选择多个动作,每个动作 aa 有各自的 Q 值。状态的价值就是把所有动作的 Q 值按策略选择概率做加权平均:

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

从 V 到 Q — 反过来,在状态 ss 选择动作 aa 之后,环境可能转移到多个下一状态 ss'。动作的价值就是对所有可达的下一状态,按转移概率加权求和(即时奖励 + 折扣后的下一状态价值):

Qπ(s,a)=sP(ss,a)[R(s,a,s)+γVπ(s)]Q^\pi(s,a) = \sum_{s'} P(s'|s,a) \left[R(s,a,s') + \gamma V^\pi(s')\right]

这两个方向合在一起,就构成了下一节 Bellman 方程的完整递推。

Bellman 方程

为什么需要 Bellman 方程?

RL 的终极目标是找到最优策略 π\pi^*——在每个状态都选择最好的动作。如果我们已经知道了 Q(s,a)Q^*(s,a)(每个状态-动作对的最优价值),策略就是直接选 Q 值最大的动作:π(s)=argmaxaQ(s,a)\pi^*(s) = \arg\max_a Q^*(s,a)。所以 RL 的核心问题归结为:如何计算 VV^*QQ^*

直觉上的暴力做法:对每个状态 ss,穷举所有可能的未来轨迹,计算每条轨迹的累积折扣奖励,取期望。问题是轨迹数量随步数指数增长TT 步、每步 A|A| 个动作选择,就有 AT|A|^T 条轨迹)——完全不可行。Bellman 方程的精妙之处:它把这个指数级的全局搜索变成了一个局部递推关系——你不需要看到终点,只需要看”一步之内的邻居”的价值。

递推关系

核心直觉:一个状态的价值 = 走一步的即时奖励 + 折扣后到达的下一状态的价值

Vπ(s)=aπ(as)sP(ss,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 V^\pi(s')\right]

这正是上一节 V→Q→V 两个方向的组合:在状态 ss,按策略 π\pi 选动作 aa(外层求和),环境按 P(ss,a)P(s'|s,a) 转移到下一状态 ss'(内层求和),价值 = 即时奖励 RR + 折扣因子 γ\gamma × 下一状态价值 V(s)V(s')

最优 Bellman 方程——不按策略概率加权,直接取能达到最高价值的动作:

V(s)=maxasP(ss,a)[R(s,a,s)+γV(s)]V^*(s) = \max_a \sum_{s'} P(s'|s,a) \left[R(s,a,s') + \gamma V^*(s')\right]

Bellman Backup 图解

下面的三步可视化展示了 Bellman 方程如何从”一个递推公式”变成”一个可执行的算法”:

第 1 步 — 单步 Backup:给定下一状态的 V(s)V(s'),对每个可选动作算 R+γV(s)R + \gamma \cdot V(s'),取最大值就是当前状态的 V(s)V(s)。这就是一次 Bellman “backup”——从后继状态的价值”回传”到当前状态。

第 2 步 — 链式回传:终端状态的价值是已知的(如目标格 V=10)。通过 Backup 依次算出 s₂、s₁、s₀ 的价值——信息从终点向起点逐层回传。

第 3 步 — Value Iteration:在真实环境中,状态关系是一张图而非一条链。Value Iteration 对所有状态反复执行 Backup——每次迭代,终端附近的价值先确定,然后像波浪一样向外扩散,最终所有状态的 VV 值收敛到 VV^*

1. 单步 Backup 计算
如何用下一状态的价值,反推当前状态的价值?sV = ?s'₁V=3.0r=+1s'₂V=1.0r=0s'₃V=2.0r=+2V(s) = max [R + γ·V(s')] γ=0.9s'₁: 1 + 0.9×3.0 = 3.70s'₂: 0 + 0.9×1.0 = 0.90s'₃: 2 + 0.9×2.0 = 3.80← 最大!∴ V(s) = 3.80,最优动作 = ↓3.80

从方程到算法

Bellman 方程不只是数学性质——它直接导出了 RL 的核心算法:

  • Value Iteration(需要环境模型):反复对每个状态执行 Bellman 更新 V(s)maxasP(ss,a)[R+γV(s)]V(s) \leftarrow \max_a \sum_{s'} P(s'|s,a)[R + \gamma V(s')],直到收敛。但这要求已知转移概率 P(ss,a)P(s'|s,a)——即 model-based 方法。
  • Q-Learning(不需要环境模型):Agent 通过与环境交互采样 (s,a,r,s)(s, a, r, s'),用采样数据近似 Bellman 更新——把”需要完整模型”变成”只需要采样”。这就是下一节要讲的 model-free 方法。

Value-Based 方法

Value-Based 方法的核心思路是:先学到准确的 Q 函数,再从中推导最优策略(贪心:选 Q 值最大的动作)。

Q-Learning 是最经典的 Value-Based 算法,它的更新规则是:

Q(s,a)Q(s,a)+α[r+γmaxaQ(s,a)Q(s,a)]Q(s,a) \leftarrow Q(s,a) + \alpha \left[r + \gamma \max_{a'} Q(s',a') - Q(s,a)\right]

其中 α\alpha 是学习率。这个更新规则直接逼近最优 Q 函数,不需要知道环境的转移概率(model-free)。

当状态空间很大时(比如图像输入),用表格存储 Q 值不现实。DQN(Deep Q-Network)用神经网络近似 Q 函数,是深度强化学习的里程碑之作。

Q-Learning 实时学习演示α=0.1 γ=0.9 ε=0.3 | 已训练 0 0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0训练 1 轮训练 50 轮重置学到的策略·············每格四角显示 Q(s,a) 值 | 颜色深浅 = Q 值大小 | ε-greedy 探索
Value Function ↔ Policy 对照点击格子 +/- 调整 V 值,观察策略箭头如何跟随变化Value Function V(s)3.0+2.5+2.0+0.02.5+1.5+0.0+2.0+1.5+1.0+-0.5+1.5+1.0+0.5+0.0+Policy π(s)·深色 = 高价值 | 浅色 = 低价值 | 策略箭头指向最高价值邻居 | 修改 V 值观察策略变化

从 Value 到 Policy

Q-Learning 和 DQN 在 Atari 游戏等离散动作空间中非常成功,但它们有一个根本限制:不适合 LLM 这样的场景

原因是 LLM 的”动作空间”是整个词汇表(通常 32K-128K tokens),而且是序列决策——生成一个 token 后要生成下一个。用 Q-Learning 需要对每个 token 计算 Q 值,计算量巨大且不自然。

更自然的方式是直接参数化策略:让一个网络直接输出”在当前状态下,每个动作的概率”——这正是 LLM 已经在做的事情(next-token prediction 就是一个策略)。

这就是 Policy Gradient 方法的动机,也是下一篇文章的主题。

RL 方法全景

RL 方法分类树RL 方法Value-BasedPolicy-BasedActor-CriticDQN 系列Policy GradientPPO / TRPORLHF / DPO / GRPO= LLM 对齐相关点击节点查看详情 | 紫色圆点标记 = LLM 对齐相关路径

从图中可以看到,LLM 对齐(RLHF、DPO、GRPO)走的是 Policy-Based → Actor-Critic → PPO 这条路线,而不是 Value-Based 路线。理解这个演进路径是学习后续内容的关键。

推荐学习资源

如果你想更深入地学习强化学习,以下是我们精选的资源:

经典教材

  • Sutton & Barto《Reinforcement Learning: An Introduction》(第二版) — RL 领域的圣经,免费在线阅读。适合系统学习 MDP、动态规划、蒙特卡洛方法、TD 学习等基础内容。
  • Csaba Szepesvári《Algorithms for Reinforcement Learning》 — 更偏数学的简明教材,适合喜欢理论推导的读者。

视频课程

  • David Silver UCL RL 课程 — DeepMind 首席科学家的经典课程,10 讲涵盖从基础到函数近似、策略梯度。每讲约 1.5 小时,配合 slides 效果最佳。
  • Sergey Levine UC Berkeley CS285 — 深度强化学习课程,偏研究前沿,覆盖 model-based RL、offline RL 等高级主题。
  • Hugging Face Deep RL Course — 免费交互课程,边学边实践,有配套代码和作业环境。非常适合动手学习者。
  • Stanford CS234 — Emma Brunskill 主讲,更偏理论和分析。

博客与教程

  • Lilian Weng 博客系列 — 覆盖 RL 基础、Policy Gradient、RLHF、Reward Hacking 等主题,每篇都是高质量综述,图文并茂。
  • OpenAI Spinning Up — 官方 RL 入门教程,从概念到代码实现,特别适合想从零开始理解算法细节的人。
  • Andrej Karpathy “Pong from Pixels” — 经典入门博文,从零用 Policy Gradient 训练 Pong 游戏,直觉解释极佳。
  • Nathan Lambert (interconnects.ai) — 专注 RLHF 和 LLM 对齐领域的深度博客,追踪最新研究动态。
  • Chip Huyen 的 RLHF 综述 — 面向工程师的 RLHF 入门文章,清晰直接。

交互实验

  • Gymnasium (原 OpenAI Gym) — RL 标准环境库,提供 CartPole、MountainCar 等经典环境。
  • CleanRL — 单文件 RL 实现,每个算法一个文件,适合学习和修改。

总结

本文介绍了强化学习的核心概念:

  1. Agent-Environment 循环是 RL 的基本框架
  2. MDP 为 RL 提供数学基础(状态、动作、转移、奖励、折扣)
  3. Bellman 方程是价值函数的递推关系,是几乎所有 RL 算法的基础
  4. Q-Learning / DQN 是经典的 Value-Based 方法
  5. LLM 的特殊性(巨大动作空间、序列决策)使得 Policy-Based 方法更为适合

下一篇,我们将深入 Policy Gradient,理解如何直接优化策略——这是连接经典 RL 和 LLM 对齐的关键桥梁。