神经网络Transformer架构中的最大似然估计训练
字数 2044 2025-12-14 20:18:55

神经网络Transformer架构中的最大似然估计训练

  1. 基础概念:最大似然估计 (MLE)
    最大似然估计是一种统计方法,用于从观测数据中估计模型参数。其核心思想是:寻找一组参数,使得在这组参数下,观测到当前数据的“可能性”(似然度)达到最大。在机器学习的语境下,“模型”就是我们的神经网络(如Transformer),“参数”就是网络的所有权重和偏置,“数据”就是我们用于训练的一组输入-输出对(例如,一段文本和它的下一句或翻译)。我们可以将模型对给定输入产生特定输出的过程,看作是一个由模型参数决定的概率分布。MLE的目标就是调整参数,让模型预测的分布与真实数据的分布尽可能一致,即让模型认为“真实数据”出现的概率最大。

  2. 在语言模型中的具体应用:下一个词预测
    Transformer架构(如GPT系列)的核心训练任务通常是“下一个词预测”或“掩码语言建模”。这完美地契合了MLE框架。对于一个输入文本序列(例如“今天天气很”),模型的任务是预测下一个词(例如“好”)的概率。具体来说:

    • 数据:我们的训练样本是“今天天气很”作为输入,“好”作为目标输出。
    • 模型输出:模型(Transformer)会处理输入序列,并在最后一个位置输出一个概率分布,这个分布覆盖了整个词汇表(“好”、“坏”、“热”、“晴朗”...),表示模型认为每个词是下一个词的可能性。
    • 似然计算:我们关心的是,在模型当前的参数下,目标词“好”被分配到的概率有多大。这个概率值(例如P(好 | 今天天气很) = 0.7)就是该样本的“似然度”。
    • 目标函数:我们的目标是最大化这个似然度。实际操作中,我们通常取概率的对数(称为对数似然),因为概率相乘会得到极小的数值,对数化后可以转化为相加,更稳定且便于计算。所以,对于单个样本,我们的目标是最大化 log(P(目标词 | 输入序列))。
  3. 扩展到整个训练集:负对数似然损失 (NLL Loss)
    单个样本的优化不足以训练模型。我们需要考虑整个训练数据集(包含数百万甚至数十亿个样本)。MLE原则指导我们寻找一组参数,使得所有训练样本的联合似然度最大。假设样本之间独立,联合似然度就是每个样本似然度的乘积。同样,我们对乘积取对数,得到对数似然之和。
    然而,在优化算法(如梯度下降)中,我们习惯最小化一个损失函数。因此,标准做法是将最大化对数似然等价地转化为最小化负对数似然。这就是Transformer训练中最常用的损失函数之一——负对数似然损失。对于一批数据,损失函数计算为每个目标词对应概率的负对数的平均值:Loss = - (1/N) * Σ log(P(目标词_i | 输入序列_i))。模型训练的过程,就是通过反向传播和优化器不断调整参数,以最小化这个损失值。

  4. MLE训练在Transformer中的实现细节与挑战

    • 自回归生成:在训练像GPT这样的解码器-only模型时,为了预测序列中的每一个词,模型采用自回归方式。即,为了预测位置t的词,输入是前t-1个词,目标就是第t个词。整个序列的损失是所有位置负对数似然损失的总和。这确保了模型学会基于历史上下文生成连贯的文本。
    • 与交叉熵损失的关系:在分类任务(如词汇表大小的分类)中,负对数似然损失本质上等同于交叉熵损失。交叉熵衡量的是模型预测的概率分布与真实分布(一个“one-hot”向量,只有目标词位置为1)之间的差异。最小化交叉熵等价于最大化目标类别的似然度。
    • 挑战
      • 暴露偏差:在训练时,模型总是基于真实的“前文”来预测下一个词。但在推理(生成)时,模型使用的是自己生成的前文,一旦生成错误,错误会不断累积。这种训练与推理的不匹配称为暴露偏差。
      • 似然与质量的脱节:MLE目标是最大化数据似然,但这并不总是与人类判断的文本质量(如创造性、多样性、趣味性)完全一致。模型可能倾向于生成安全、常见但乏味的词句,因为它们的概率高。
      • 无法建模复杂分布:MLE假设数据可以由一个相对简单的参数化模型完美表示。对于非常复杂、多模态的文本分布,标准Transformer + MLE可能难以捕捉全部细节。
  5. 超越MLE:为改进生成质量而设计的训练目标
    为了缓解MLE的局限性,研究人员提出了多种替代或补充的训练目标:

    • 强化学习(如RLHF):引入人类反馈,通过奖励模型来指导策略(语言模型)的优化,直接优化生成内容与人类偏好的一致性,而不仅仅是模仿训练数据。
    • 对抗性训练:使用判别器来区分模型生成的数据和真实数据,推动生成器(语言模型)产生更逼真的文本。
    • 去噪目标(如BART):训练模型重构被破坏(如掩码、打乱)的输入文本,这比单纯的下一词预测能学习到更丰富的上下文和语义表示。
      尽管如此,MLE训练因其简单、稳定和高效,仍然是预训练大型语言模型最核心、最基础的范式,为模型提供了强大的语言建模能力基础,后续的微调或对齐训练往往建立在此基础之上。
神经网络Transformer架构中的最大似然估计训练 基础概念:最大似然估计 (MLE) 最大似然估计是一种统计方法,用于从观测数据中估计模型参数。其核心思想是: 寻找一组参数,使得在这组参数下,观测到当前数据的“可能性”(似然度)达到最大 。在机器学习的语境下,“模型”就是我们的神经网络(如Transformer),“参数”就是网络的所有权重和偏置,“数据”就是我们用于训练的一组输入-输出对(例如,一段文本和它的下一句或翻译)。我们可以将模型对给定输入产生特定输出的过程,看作是一个由模型参数决定的概率分布。MLE的目标就是调整参数,让模型预测的分布与真实数据的分布尽可能一致,即让模型认为“真实数据”出现的概率最大。 在语言模型中的具体应用:下一个词预测 Transformer架构(如GPT系列)的核心训练任务通常是“下一个词预测”或“掩码语言建模”。这完美地契合了MLE框架。对于一个输入文本序列(例如“今天天气很”),模型的任务是预测下一个词(例如“好”)的概率。具体来说: 数据 :我们的训练样本是“今天天气很”作为输入,“好”作为目标输出。 模型输出 :模型(Transformer)会处理输入序列,并在最后一个位置输出一个概率分布,这个分布覆盖了整个词汇表(“好”、“坏”、“热”、“晴朗”...),表示模型认为每个词是下一个词的可能性。 似然计算 :我们关心的是,在模型当前的参数下, 目标词“好”被分配到的概率有多大 。这个概率值(例如P(好 | 今天天气很) = 0.7)就是该样本的“似然度”。 目标函数 :我们的目标是 最大化这个似然度 。实际操作中,我们通常取概率的对数(称为对数似然),因为概率相乘会得到极小的数值,对数化后可以转化为相加,更稳定且便于计算。所以,对于单个样本,我们的目标是最大化 log(P(目标词 | 输入序列))。 扩展到整个训练集:负对数似然损失 (NLL Loss) 单个样本的优化不足以训练模型。我们需要考虑整个训练数据集(包含数百万甚至数十亿个样本)。MLE原则指导我们寻找一组参数,使得 所有训练样本的联合似然度最大 。假设样本之间独立,联合似然度就是每个样本似然度的乘积。同样,我们对乘积取对数,得到对数似然之和。 然而,在优化算法(如梯度下降)中,我们习惯 最小化 一个损失函数。因此,标准做法是将 最大化对数似然 等价地转化为 最小化负对数似然 。这就是Transformer训练中最常用的损失函数之一—— 负对数似然损失 。对于一批数据,损失函数计算为每个目标词对应概率的负对数的平均值: Loss = - (1/N) * Σ log(P(目标词_i | 输入序列_i)) 。模型训练的过程,就是通过反向传播和优化器不断调整参数,以最小化这个损失值。 MLE训练在Transformer中的实现细节与挑战 自回归生成 :在训练像GPT这样的解码器-only模型时,为了预测序列中的每一个词,模型采用自回归方式。即,为了预测位置t的词,输入是前t-1个词,目标就是第t个词。整个序列的损失是所有位置负对数似然损失的总和。这确保了模型学会基于历史上下文生成连贯的文本。 与交叉熵损失的关系 :在分类任务(如词汇表大小的分类)中,负对数似然损失本质上等同于 交叉熵损失 。交叉熵衡量的是模型预测的概率分布与真实分布(一个“one-hot”向量,只有目标词位置为1)之间的差异。最小化交叉熵等价于最大化目标类别的似然度。 挑战 : 暴露偏差 :在训练时,模型总是基于真实的“前文”来预测下一个词。但在推理(生成)时,模型使用的是自己生成的前文,一旦生成错误,错误会不断累积。这种训练与推理的不匹配称为暴露偏差。 似然与质量的脱节 :MLE目标是最大化数据似然,但这并不总是与人类判断的文本质量(如创造性、多样性、趣味性)完全一致。模型可能倾向于生成安全、常见但乏味的词句,因为它们的概率高。 无法建模复杂分布 :MLE假设数据可以由一个相对简单的参数化模型完美表示。对于非常复杂、多模态的文本分布,标准Transformer + MLE可能难以捕捉全部细节。 超越MLE:为改进生成质量而设计的训练目标 为了缓解MLE的局限性,研究人员提出了多种替代或补充的训练目标: 强化学习(如RLHF) :引入人类反馈,通过奖励模型来指导策略(语言模型)的优化,直接优化生成内容与人类偏好的一致性,而不仅仅是模仿训练数据。 对抗性训练 :使用判别器来区分模型生成的数据和真实数据,推动生成器(语言模型)产生更逼真的文本。 去噪目标(如BART) :训练模型重构被破坏(如掩码、打乱)的输入文本,这比单纯的下一词预测能学习到更丰富的上下文和语义表示。 尽管如此, MLE训练因其简单、稳定和高效,仍然是预训练大型语言模型最核心、最基础的范式 ,为模型提供了强大的语言建模能力基础,后续的微调或对齐训练往往建立在此基础之上。