强化学习基础(RL Basics)

强化学习(Reinforcement Learning, RL)是机器学习的一个重要分支,它与监督学习和无监督学习有着本质的区别。在监督学习中,我们有“标准答案”(标签)来指导学习;在无监督学习中,我们寻找数据中的隐藏结构;而在强化学习中,智能体通过与环境交互,根据奖励信号来学习最优行为。本文将系统介绍强化学习的基础知识,为理解后续的后训练技术打下基础。

从一个例子开始

在深入技术细节之前,让我们先理解什么是强化学习。 想象一下你在训练一只小狗完成“坐下”这个动作。当小狗正确坐下时,你给它一块零食作为奖励;当它没有正确执行时,你不给它奖励。经过多次尝试,小狗会学会:做出“坐下”这个动作会带来奖励(零食),于是它会越来越多地执行这个动作。

强化学习的核心思想与此类似:我们有一个“智能体”(agent,可以理解为模型),它在环境中采取“行动”(action),环境会给出“奖励”(reward)作为反馈。智能体的目标是学会采取能够获得最高总奖励的行动序列。

强化学习的核心要素

一个强化学习系统包含四个核心要素:与监督学习不同,强化学习没有“标准答案”,而是通过与环境交互获得奖励信号来学习。

马尔可夫决策过程(MDP)

强化学习问题通常形式化为马尔可夫决策过程(Markov Decision Process, MDP)。一个 MDP 由五元组 定义:

马尔可夫性质的核心假设是:未来的状态只取决于当前的状态和动作,而与过去的历史无关。这使得我们可以使用动态规划方法来求解 RL 问题。

智能体的目标是找到一个最优策略 ,使得从初始状态开始的期望累积奖励最大化:

这里 是智能体与环境交互产生的轨迹(trajectory), 可以是有限的(如游戏回合)或无限的(如持续对话)。

为了分解这个目标,我们引入两个关键函数:

  1. 状态价值函数 :从状态 开始,按照策略 行事的期望累积奖励
  2. 动作价值函数 :从状态 采取动作 ,然后按照策略 行事的期望累积奖励

这两个函数满足著名的贝尔曼方程(Bellman Equation):

贝尔曼方程揭示了价值函数的递归性质:当前状态的价值等于即时奖励加上未来状态价值的折扣和。这为我们可以使用动态规划或迭代方法来估计价值函数奠定了基础。

为什么强化学习对语言模型有用?

对于语言模型,我们可以这样理解:生成的过程就是在“选择下一个词”——每一步都是一个行动,而整个生成过程就是一系列行动组成的序列。奖励函数可以衡量生成的文本有多好(比如人类是否喜欢、是否helpful、是否factual)。

传统的语言模型训练使用最大似然估计——让模型学习“给定前文,下一个词应该是什么”。但这种训练目标并不能直接反映这个回复是否是一个好的回复。强化学习提供了一种更灵活的方式来定义和优化“好”的标准:我们只需要能够判断输出好坏(奖励函数),强化学习就能帮我们调整模型参数来产生更好的输出。

强化学习基础:策略梯度

让我们首先形式化问题。假设我们有一个语言模型 ,它可以根据给定的提示生成样本 (这里为了简化,我们考虑单个提示的情况)。

我们定义一个奖励函数 ,该函数为每个生成的样本分配一个标量奖励,奖励越高表示样本越好。现在,我们希望优化模型参数 以最大化期望奖励:

这意味着:我们要找到一组参数 ,使得从模型中采样得到的文本 ,其平均得分 尽可能高。

梯度估计:REINFORCE算法

上述目标函数对 求导并不容易,因为奖励函数 通常是不可微分的——我们无法直接计算 。策略梯度方法(Policy Gradient)提供了解决方案。

这里需要用到机器学习中一个非常有用的技巧:对数导数技巧(log-derivative trick)。 首先,对于概率分布 ,有恒等式:

这个公式的左边是我们想要但无法直接计算的梯度,右边是一个期望形式。利用这个技巧,我们可以把目标函数的梯度写成:

这个式子的直觉解释是:如果某个样本 获得了高奖励 ,我们就增加生成该样本的概率(即增加 );如果获得低奖励,我们就减少其概率。 于是我们可以使用以下更新规则:

小测验

下列哪个不是强化学习的核心要素?
正确答案:C. 神经网络

解析:神经网络是强化学习的可选工具(如 DQN),而非核心要素。强化学习的核心要素包括:智能体、环境、状态、动作、奖励。

其中 是学习率, 是采样的样本数量。这就是著名的REINFORCE算法。