跳转至

【LLM 对齐系列】(二):强化学习的核心概念:策略、奖励和轨迹

上一篇文章中,我们介绍了大模型开发的三个主要阶段:预训练、监督微调和强化学习。我们了解到,强化学习阶段是让模型真正对齐人类偏好的关键环节,它通过奖励模型的反馈来指导模型的优化,使模型不仅能“说话”,还能“说得好”、“说得对”。

要深入理解强化学习算法的工作原理,我们首先需要建立一套完整的符号体系。本文作为 LLM 对齐系列的第二篇,将介绍强化学习中的核心概念:策略、奖励和轨迹。

image.png

策略(Policy)

当我们与 LLM 进行对话时,模型需要在每一步决定生成哪个词(token)。比如,当前对话上下文是“今天的天气”,模型可能会生成“很好”、“不错”或“怎么样”等不同的词。

在自动驾驶场景中也是类似的:汽车的智能系统需要根据当前的路况(前方有车、红绿灯状态等)决定做出加速、减速还是转向等动作。

这种“在给定状态下决定做什么动作”的规则,在强化学习中被称为策略(Policy)

状态、动作、策略参数的符号表示

我们用希腊字母 \(\pi\) 来表示策略(读作 /pai/),这个符号的选择来源于“Policy”这个词的前缀。在现代强化学习中,策略通常由带参数的深度神经网络来实现,我们用 \(\pi_\theta\) 表示参数化的策略:

\[ \pi_\theta(a \mid s) \]

这个符号的含义是:在状态 \(s\) 下,策略 \(\pi_\theta\) 选择动作 \(a\) 的概率。其中:

  • \(s\)(state):当前的状态,描述了智能体所处的环境信息。

  • \(a\)(action):智能体可以执行的动作。

  • \(\theta\)(theta):策略模型的所有参数,比如神经网络的权重和偏置。

本质上,\(\pi_\theta(a \mid s)\) 就是一个概率分布,它告诉我们在状态 \(s\) 下各个动作被选中的概率。对于大语言模型来说,状态 \(s\) 就是当前的对话上下文,也就是已有的文本序列。动作 \(a\) 就是下一个要生成的 token。策略参数 \(\theta\) 就是语言模型的所有参数。\(\pi_\theta(a \mid s)\) 就是模型预测下一个 token 的概率分布。

奖励(Reward)、回报和折扣因子

在强化学习中,当智能体做出一个动作后,如何知道这个动作的好坏呢?在日常生活中,这个反馈可能是老师的作业评分、游戏中的得分等。在强化学习中,这种反馈被称为奖励(Reward)

想象智能体玩一个游戏:每次击败敌人 +10 分,被击中 -5 分,完成关卡 +100 分。这些分数就是奖励,它们告诉智能体:刚才的动作是好还是坏。类似地,在自动驾驶中,安全行驶可能获得正奖励,而偏离车道、闯红灯等错误行为则获得负奖励。

单步奖励

我们用 \(r_t\) 表示在第 \(t\) 步获得的即时奖励,它是一个标量(实数)。更完整地,奖励可以表示为由当前状态、已经执行的动作和下一步的状态共同决定的函数:

\[ r_t = R(s_t, a_t, s_{t+1}) \]

这个符号的含义是:在状态 \(s_t\) 下执行动作 \(a_t\),转移到新状态 \(s_{t+1}\) 后获得的奖励。

需要注意的是,奖励函数 \(R\) 由环境决定,而与策略 \(\pi\) 无关。策略 \(\pi\) 可以决定做出什么动作,但这个动作会获得多少奖励,完全取决于环境本身的奖励机制。智能体无法改变奖励函数本身,只能通过选择更好的动作来获得更高的奖励。

以刚才的游戏为例,游戏程序本身就是环境。“击败敌人 +10 分”这条规则是写在游戏程序代码里的固有机制。无论智能体采取什么策略(比如是激进进攻还是保守防守),这个奖励规则都不会改变。策略只能决定动作 \(a_t\) ——奖励函数的输入之一,而无法改变奖励函数 \(R\) 本身。

回报(Return)

回报(Return),通常用符号 \(G_t\) 表示(Gain 的首字母),是指从当前时间步 \(t\) 开始,直到轨迹结束所获得的所有奖励的总和,可用于评估智能体策略的长期优劣。

根据前文的定义,我们在 \(t\) 时刻执行动作 \(a_t\) 后获得的奖励为 \(r_t\)。那么,从 \(t\) 时刻开始的累积回报可以表示为:

\[ G_t = r_t + r_{t+1} + r_{t+2} + \dots + r_T \]

需要特别注意的是,回报 \(G_t\) 是一个随机变量,而不是一个固定的数值。这种随机性主要来源于两个方面:

  1. 动作的随机性:策略 \(\pi_\theta(a \mid s)\) 给出的动作可能是随机的。在相同的状态下,智能体也可能做出不同的动作。

  2. 状态转移的随机性:环境的状态转移概率 \(P(s_{t+1} \mid s_t, a_t)\) 可能是随机的。在相同的状态下,即使执行了相同的动作,环境也可能转移到不同的新状态。

因此,当我们说“最大化回报”时,实际上是指最大化回报的期望值

折扣回报

在实际应用中,我们通常会引入一个折扣因子(Discount Factor) \(\gamma\)(读作 gamma),其取值范围通常为 \([0, 1]\)。引入折扣因子后的回报被称为折扣回报:

\[ G_t = r_t + \gamma r_{t+1} + \gamma^2 r_{t+2} + \dots = \sum_{k=0}^{\infty} \gamma^k r_{t+k} \]

为什么要引入折扣因子 \(\gamma\) 呢?主要有以下三个原因:

  1. 数学收敛性:对于无限长的交互过程,如果不加折扣,累积奖励可能会趋于无穷大,数学上的反散导致无法计算。引入 \(\gamma < 1\) 可以保证回报是一个有限值。

  2. 权衡近期和远期的利益\(\gamma\) 决定了智能体对未来的重视程度。

  3. \(\gamma\) 接近 0 时,未来的奖励会被大幅折扣,导致模型变得“短视”,只关注当前的即时奖励。

  4. \(\gamma\) 接近 1 时,模型变得“远视”,更愿意为了长远的重大利益而牺牲眼前的微小收益。

  5. 训练稳定性:未来的奖励往往具有更大的不确定性,即方差更大。通过折扣因子降低未来奖励的权重,可以减少估计误差,使模型的训练过程更加稳定。

轨迹(Trajectory)

有了单步的决策,我们需要描述智能体与环境的完整交互过程。LLM 生成一段完整回答的过程 是:从接收到用户问题开始,一步步生成词语,直到回答结束。这整个过程就是一条轨迹(Trajectory)

我们用希腊字母 \(\tau\)(读作 /taʊ/,中文谐音“套”)来表示一条轨迹。一条完整的轨迹包含了从开始到结束的所有状态、动作和奖励的链条:

\[ \tau = {s_0, a_0, r_0, s_1, a_1, r_1, \dots, s_T} \]

这里的下标对应关系是:在状态 \(s_t\) 采取动作 \(a_t\),环境反馈奖励 \(r_t\) 并转移到下一状态 \(s_{t+1}\)

轨迹发生的概率

在强化学习中,一条特定轨迹 \(\tau = \{s_0, a_0, r_0, s_1, a_1, \dots, s_T\}\) 的发生是有概率的。依据贝叶斯链式法则,我们可以将该概率分解为初始状态概率策略环境状态转移概率的乘积。

\[ \begin{aligned} p(\tau; \theta) &= p(\{s_0, a_0, r_0, s_1, a_1, r_1, \cdots, s_{T-1}, a_{T-1}, r_{T-1}, s_T \}; \theta) \\ &= \underbrace{p(s_0)}_{\text{初始状态概率}} \cdot \prod_{t=0}^{T-1} \left( \underbrace{\pi_\theta(a_t \mid s_t)}_{\text{动作选择概率}} \cdot \underbrace{P(s_{t+1} \mid s_t, a_t)}_{\text{状态转移概率}} \right) \end{aligned} \]

这个公式表明,轨迹的生成由三部分共同决定,且分属于两个不同的对象:

  1. 环境 (Environment):

    • \(p(s_0)\):初始状态分布。决定了智能体“出生”在哪个状态(例如游戏的开局画面)。这是客观存在的,智能体无法控制。
    • \(P(s_{t+1} \mid s_t, a_t)\):状态转移概率。决定了在当前状态做出某个动作后,环境如何变化。这同样是客观规则,不含参数 \(\theta\)
  2. 智能体 (Agent):

    • \(\pi_\theta(a_t \mid s_t)\):策略函数。决定了智能体在某个状态下选择特定动作的概率。这是唯一包含可训练参数 \(\theta\) 的部分,也是我们优化的对象。

以 LLM 生成句子“你好,世界”为例:状态 \(s_t\) 是当前的文本上下文(如“你好,”);动作 \(a_t\) 是模型生成的下一个 token(如“世界”);策略 \(\pi_\theta\) 是模型预测出“世界”的概率。值得注意的是,在 LLM 文本生成场景下,状态转移 \(P\) 通常是确定性的:一旦选择了 token“世界”,新的状态必然变成“你好,世界”。虽然状态转移是确定的,但由于策略 \(\pi_\theta\) 的采样过程具有随机性,所以整条轨迹的生成是随机的。

总结

本文介绍了强化学习的三个重要概念:

  • 策略(Policy)定义了智能体在特定状态下如何选择动作的概率分布;

  • 奖励(Reward)和回报(Return)提供了评估动作好坏的标尺,并通过折扣因子平衡了短期与长期利益;

  • 轨迹(Trajectory)则描述了智能体与环境交互的完整过程。我们还拆解了一条轨迹发生的概率。

这套符号体系的建立至关重要,它将抽象的“智能体学习”过程转化为可计算、可优化的数学问题。理解了这些概念,我们就具备了推导强化学习算法的前提条件。

在接下来的系列文章中,我们将把这些概念串联起来,理解强化学习的优化目标,并介绍实现优化目标的相关算法。

评论