Label Smoothing
了解标签平滑如何防止过拟合并提升模型泛化能力。了解如何使用 Ultralytics YOLO26 实现这一技术,以获得更佳结果。
标签平滑是一种广泛用于机器学习的正则化技术,可改善模型的泛化能力并防止过拟合。在训练神经网络时,通常目标是最小化预测结果与真实标签之间的误差。然而,如果模型对其预测结果变得过于自信——将接近 100% 的概率分配给单个类别——它往往会开始记忆训练数据中的特定噪声,而不是学习稳健的模式。这种现象称为过拟合,会降低模型在新的、未见过的样本上的性能。标签平滑通过抑制模型做出绝对确定的预测来解决这一问题,本质上是告诉网络,预测始终存在一定的误差空间。
软目标的工作机制#
要理解标签平滑的工作方式,可以将其与标准的“硬”目标进行对比。在传统的监督学习中,分类标签通常通过独热编码表示。例如,在区分猫和狗的任务中,一张“狗”图像的目标向量将是 [0, 1]。为了完美匹配该目标,模型会将其内部得分(称为logits)推向无穷大,这可能导致梯度不稳定以及模型无法适应。
标签平滑会将这些僵化的 1 和 0 替换为“软”目标。正确类别的目标概率不再是 1.0,而是可能被分配为 0.9,剩余的概率质量(0.1)则均匀分布到错误类别上。这一细微变化会修改损失函数(例如交叉熵)的优化目标,防止激活函数(通常为Softmax)达到饱和。结果是,模型能够在特征空间中学习到更紧密的类别簇,并实现更好的模型校准,也就是说,预测概率能够更准确地反映预测正确的真实可能性。
实际应用#
在数据本身存在固有歧义或数据集容易出现标注错误的领域,这项技术尤为重要。
- **医疗诊断:**在医疗保健领域的 AI中,临床数据很少是非黑即白的。例如,在医学图像分析中,一次扫描可能显示出高度提示某种疾病的特征,但并不能确诊。使用硬标签进行训练会迫使模型忽略这种不确定性。通过应用标签平滑,模型能够保留一定程度的审慎性,这对于决策支持系统至关重要,因为过度自信可能导致误诊。
- **大规模图像分类:**像ImageNet这样的海量公共数据集通常包含标注错误的图像,或包含多个有效对象的图像。如果模型试图以 100% 的置信度拟合这些噪声样本,就会学到错误的关联。标签平滑可以作为抵御标签噪声的缓冲机制,确保少量错误数据点不会大幅扭曲最终的模型权重。
使用 Ultralytics 实现标签平滑#
现代深度学习框架简化了这项技术的应用。使用 ultralytics 软件包,你可以轻松地将标签平滑集成到图像分类或图像分类或检测任务的训练流程中。通常,这样做是为了从YOLO26等先进模型中进一步挖掘性能。
下面的示例演示了如何在启用标签平滑的情况下训练分类模型:
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Train with label_smoothing set to 0.1
# The target for the correct class becomes 1.0 - 0.5 * 0.1 = 0.95 (depending on implementation specifics)
model.train(data="mnist", epochs=5, label_smoothing=0.1)与相关概念的比较#
要理解何时使用标签平滑,最好将其与其他正则化策略区分开来。
- 与 Dropout 对比:Dropout 层会在训练期间随机停用神经元,迫使网络学习冗余表示。虽然两者都能防止过拟合,但 Dropout 会动态修改网络架构,而标签平滑会修改优化目标(即标签本身)。
- **与知识蒸馏对比:**这两种技术都涉及使用软目标进行训练。然而,在知识蒸馏中,软目标来自“教师”模型,并包含学习到的信息(例如,“这看起来有 10% 的可能是猫”)。相比之下,标签平滑使用通过数学方式得到的“无信息”软目标(例如,“为所有其他类别均等分配 10% 的概率”)。
- 与数据增强对比:数据增强策略会改变输入数据(旋转、裁剪、调整颜色),以增加多样性。标签平滑则会改变输出预期。在Ultralytics Platform上,综合性的训练流程通常会结合数据增强、Dropout 和标签平滑,以实现最高准确率。









