趋近智
训练大型Transformer模型时,管理过拟合 (overfitting)以及确保模型对未见过的数据有良好的泛化能力,是令人关注的问题。仅仅构建一个大型网络并在大量数据集上训练是不够的;需要技巧来防止模型仅仅记住训练样本。正则化 (regularization)方法是实现工具箱中获得稳定表现的必不可少的工具。两种广泛用于Transformer的技巧是Dropout和标签平滑。
Dropout是一种简单而有效的正则化 (regularization)技术,最初是为了对抗前馈神经网络 (neural network)中的过拟合 (overfitting)而提出的。其核心思想是在每次训练更新时,随机地将一部分神经元输出“置零”。这可以防止单元过度依赖于特定的其他单元,促使网络学习到更分散、更具弹性的表示。
在标准的Transformer架构中,Dropout应用于以下几个位置:
将单元输出置零的概率 是一个超参数 (parameter) (hyperparameter)。典型值范围为0.1到0.3,尽管最佳值取决于具体的模型大小、数据集和任务。在训练期间,Dropout之前那一层的输出会以 的概率随机置零。其余的输出通常会按 的因子进行缩放,以保持输出的期望总和。这种缩放确保了下一层的期望输入在训练和推理 (inference)之间保持一致。
在推理或评估期间,Dropout被禁用。所有单元都被使用,并且不应用任何缩放(假设缩放已在训练期间完成)。这确保了给定输入的确定性输出。
考虑一个子层内的简化示例:
# 示例(例如,使用PyTorch)
import torch
import torch.nn as nn
dropout_prob = 0.1
# 假设 'sublayer_output' 是MHA或FFN之后的张量
dropout_layer = nn.Dropout(p=dropout_prob)
# 'x' 是子层的输入(用于残差连接)
# 'layer_norm' 是归一化层
# 训练期间
# 在残差连接和归一化之前应用dropout
output_dropped = dropout_layer(sublayer_output)
normalized_output = layer_norm(x + output_dropped)
# 评估期间 (model.eval() 模式)
# Dropout层自动将输入直接传递,不进行修改
output_no_drop = dropout_layer(sublayer_output) # 表现为恒等映射
normalized_output = layer_norm(x + output_no_drop)
通过这种方式注入噪声,Dropout促使模型发展出冗余性,并防止神经元之间复杂的共同适应,从而提高了泛化表现。
标签平滑处理了过拟合 (overfitting)的另一个方面,它与模型对其预测的置信度相关。在分类任务中(例如在语言建模中预测下一个词元 (token)),模型通常使用交叉熵损失进行训练,并采用硬性、独热编码的目标标签。例如,如果正确的下一个词对应词汇表 (vocabulary)中大小为 的索引5,则目标向量 (vector)为 [0, 0, 0, 0, 1, 0, ..., 0]。
使用这种硬性目标进行训练会促使模型将正确类别对应的logit推向正无穷,而将所有其他类别对应的logit推向负无穷,导致预测类别具有极高的置信度(概率接近1.0)。这种过度的置信度可能是有害的:
标签平滑正则化 (regularization)(LSR)修改目标标签,以纳入少量的不确定性。我们不再要求模型将1.0的概率分配给正确类别,而是将一个小的概率质量 (epsilon)均匀地分配给所有类别,包括不正确的类别。
原始的独热目标分布 (即当真实类别为 时 ,否则 )被平滑分布 所取代:
这里, 是类别的总数(例如,词汇表大小)。真实类别现在具有 的目标概率,而所有其他类别都具有 的目标概率。
我们通过一个小的例子来说明这一点。假设我们有 个类别,真实类别是索引2(基于0)。当 时:
[0.0, 0.0, 1.0, 0.0, 0.0][0.02, 0.02, 0.92, 0.02, 0.02] (注意:总和为1.0)比较了5类别问题中独热目标向量和标签平滑目标向量(当 时)。真实类别的概率质量被降低,并均匀地分配给所有类别。
在计算交叉熵损失时,模型现在会因对正确预测过于自信而受到惩罚,并被鼓励为其他合理输出分配小的非零概率。损失函数 (loss function)变为:
这里 是模型对类别 预测的概率。这促使正确类别和不正确类别之间logit的差异是有限的,起到正则化作用。
的常用值是0.1。研究表明,标签平滑通常能改善序列到序列任务中的困惑度和BLEU分数,并能带来更好的模型校准。
Dropout和标签平滑都是大型Transformer模型训练方案中的标准组成部分。它们与其他元素(如适当的权重 (weight)初始化、优化算法(AdamW)和学习率调度)相互配合,以稳定训练并提高最终模型在未见过数据上的表现。为 和 选择合适的值通常需要根据验证集表现进行实验和调整。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•