标签平滑是一种用于机器学习和深度学习的正则化技术,旨在防止模型对其预测过度自信。不同于训练模型为正确类别输出概率1.0、为所有其他类别输出0.0(即独热编码),标签平滑将这些硬目标替换为软化版本。这是通过将少量概率质量分配给所有不正确的类别来实现的,通常从均匀分布中抽取。该技术在神经网络训练背景下得到推广,特别是在图像分类和自然语言处理任务中,并已成为许多现代训练流程的标准组成部分,包括用于大型语言模型的训练流程。
其核心思想是减少模型的过度自信,这可能导致在未见数据上泛化能力差。硬目标鼓励模型将其输出对数推向极端值,使其变得脆弱且对噪声敏感。通过平滑目标,模型被鼓励产生更适度的概率分布,这通常能改善校准性和鲁棒性。标签平滑是一种简单而有效的方法,所需计算开销极小,且易于集成到现有训练框架中。
数学公式
在具有\(K\)类别的标准分类任务中,样本的真实标签表示为独热向量\(y\),其中正确类别\(c\)的\(y_c = 1\),所有其他类别\(i \neq c\)的\(y_i = 0\)。模型输出类别上的概率分布\(p\),通常通过对对数应用softmax函数获得。训练损失通常是\(y\)和\(p\)之间的交叉熵。
标签平滑将目标分布\(y\)修改为\(y^{LS}\),定义如下:
\[ y^{LS}_i = (1 - \epsilon) \cdot y_i + \frac{\epsilon}{K} \]
其中\(\epsilon\)是介于0和1之间的平滑参数。对于正确类别,目标变为\(1 - \epsilon + \frac{\epsilon}{K}\),对于每个不正确的类别,变为\(\frac{\epsilon}{K}\)。这确保了目标概率之和保持为1。然后使用\(y^{LS}\)而不是\(y\)计算交叉熵损失。
\(\epsilon\)的常见选择是0.1,但根据任务和数据集,值范围可以从0.01到0.2。该参数控制软化程度;较大的\(\epsilon\)导致更均匀的目标分布,而\(\epsilon = 0\)恢复原始硬标签。
历史背景
标签平滑的概念源于早期关于正则化和概率校准的工作。一个显著的先驱是在模型蒸馏中使用“软目标”,其中较小的模型被训练来模仿较大的预训练模型的输出概率。然而,标签平滑作为一种独立技术,在2016年由谷歌深度思维(当时为Google Brain)的研究人员在一篇题为“Rethinking the Inception Architecture for Computer Vision”的论文中正式引入并推广。作者包括Christian Szegedy、Vincent Vanhoucke、Sergey Ioffe、Jonathon Shlens和Zbigniew Wojna,他们提出将其作为改进深度卷积网络图像分类训练的一种方式。
此后,标签平滑已被广泛应用于各个领域。它已被证明在训练大规模模型方面特别有效,包括用于变换器架构的模型,这些架构用于生成式人工智能和自然语言处理。该技术现在是许多开源训练库中的标准组件,并且通常在最先进的模型中默认使用。
益处与机制
标签平滑提供了几个有助于改善模型性能的益处:
- 防止过度自信:通过软化目标,模型被阻止对任何单一类别分配极高的概率。这降低了过拟合训练数据的风险,并提高了模型的泛化能力。
- 改善校准性:使用标签平滑训练的模型往往具有更好的校准概率,这意味着其预测置信度分数与实际准确性更紧密地对齐。这在使用决策阈值的应用中尤为重要。
- 正则化效果:该技术作为一种正则化形式,类似于丢弃或权重初始化策略,通过向目标分布添加少量噪声来帮助模型学习更鲁棒的特征。
- 更平滑的损失景观:标签平滑可以使优化景观更平滑,这可能促进更快的收敛并减少陷入尖锐极小值的可能性。
研究还表明,标签平滑可以改善学习表示的质量。例如,在计算机视觉任务中,使用标签平滑训练的模型通常产生更可分离的特征嵌入,更适合迁移学习。
在现代AI中的应用
标签平滑已成为训练现代AI系统中普遍使用的技术。在大型语言模型领域,它经常在预训练和微调期间使用。例如,GPT和BERT变体等模型已结合标签平滑来提高其鲁棒性和校准性。该技术也应用于序列到序列模型,用于机器翻译和文本摘要等任务。
在强化学习及相关领域,如基于AI反馈的强化学习,标签平滑可用于软化奖励信号或目标分布,帮助稳定训练。此外,它通常与其他正则化方法(如数据增强和梯度裁剪)结合使用,以实现最先进的性能。
与其他技术的关系
标签平滑在概念上与机器学习中的几种其他方法相关:
- 知识蒸馏:在蒸馏中,学生模型在教师模型的软输出上训练。标签平滑可以被视为一种简单的蒸馏形式,其中教师是均匀分布。
- 置信度惩罚:这是一种正则化技术,向损失函数添加惩罚项以阻止过度自信的预测。标签平滑通过直接修改目标来实现类似效果。
- Mixup和CutMix:这些是数据增强技术,通过在成对示例及其标签之间插值来创建新的训练样本。标签平滑可以应用于这些方法之上以进行额外正则化。
- 温度缩放:在温度缩放中,对数在应用softmax之前除以温度参数,这影响输出分布的锐度。标签平滑作用于目标侧,而温度缩放作用于预测侧。
实际考虑
在实现标签平滑时,应考虑几个实际方面:
- 选择epsilon:平滑参数\(\epsilon\)是需要调整的超参数。常见默认值为0.1,但最优值可能有所不同。对于类别数量较多的任务,较小的\(\epsilon\)可能更合适,以避免过度平滑。
- 与损失函数的交互:标签平滑通常与交叉熵损失一起应用。然而,它可以适应其他损失函数,如焦点损失或用于度量学习的损失函数,但公式可能需要调整。
- 对对数的影响:标签平滑的一个已知副作用是可能导致模型的对数幅度更大,这可能影响置信度分数的解释。一些研究指出,这可能导致知识蒸馏问题,因为软化输出可能信息量较少。
- 实现:在实践中,标签平滑通常通过修改损失函数而不是目标向量来实现,以避免存储完整的平滑分布。这在计算上高效且易于集成到现有框架中。
研究与扩展
自推出以来,标签平滑一直是广泛研究的主题。研究分析了其理论性质,表明它可以被解释为一种熵正则化形式或一种结合标签噪声先验知识的方式。扩展包括自适应标签平滑,其中平滑参数在训练期间学习,以及类别相关平滑,其中不同类别接收不同级别的平滑。
在基于变换器的模型中,标签平滑已被证明可以改善训练稳定性,特别是与层归一化和残差网络连接结合使用时。它还与学习率调度和Adam优化器结合使用,以实现最佳性能。
局限性与批评
尽管广泛使用,标签平滑并非没有局限性。一些研究人员指出,在模型需要做出非常自信预测的任务中,例如具有清晰决策边界的某些分类类型,它可能会降低性能。此外,标签平滑可能模糊模型的真实不确定性,使得在高风险应用中解释输出概率更加困难。
另一个批评是,标签平滑可能并不总是改善校准性,在某些情况下,与其他方法(如温度缩放)相比,它可能导致更差的校准性。标签平滑的有效性还取决于数据集和模型架构,并且可能并非在所有场景中都能提供益处。
结论
标签平滑仍然是人工智能中一种基础且广泛使用的正则化技术。其简单性、有效性和低计算成本使其成为许多训练流程中的默认选择。虽然它有一些局限性,但其在泛化和校准方面的益处通常超过缺点,特别是在大规模深度学习应用中。随着研究的继续,标签平滑的新变体和改进可能会不断出现,进一步巩固其在机器学习工具包中的地位。