Label Smoothing
了解标签平滑如何防止过拟合并改善模型泛化。发现如何使用 Ultralytics YOLO26 实现此技术以获得更好的结果。
标签平滑是一种在机器学习中广泛使用的正则化技术,旨在提高模型的泛化能力并防止过拟合。在训练神经网络时,目标通常是最小化预测与真实标签之间的误差。然而,如果模型对其预测过于自信(即为单个类别分配接近 100% 的概率),它往往会开始记忆训练数据中的特定噪声,而不是学习稳健的特征。这种现象被称为过拟合,会降低模型在处理新的、未见过的样本时的性能。标签平滑通过阻止模型做出绝对确定的预测来解决此问题,本质上是告诉网络始终存在一定的容错空间。
Link to this section软标签的机制#
要理解标签平滑的运作方式,将其与标准的“硬”标签进行对比会有所帮助。在传统的监督学习中,分类标签通常通过独热编码来表示。例如,在区分猫和狗的任务中,“狗”的图像的目标向量为 [0, 1]。为了完美匹配此目标,模型会将内部得分(即逻辑值)推向无穷大,这可能导致梯度不稳定且难以适应新数据。
标签平滑用“软”标签取代了这些死板的 1 和 0。目标概率不再是 1.0,而是将正确类别设为 0.9,其余的概率质量(0.1)则均匀分布在错误类别中。这种细微的调整改变了损失函数(如交叉熵)的目标,防止激活函数(通常是 Softmax)饱和。其结果是一个在特征空间中学习到更紧凑类别簇的模型,并产生更好的模型校准,这意味着预测的概率能更准确地反映真实的正确可能性。
Link to this section实际应用#
这种技术在数据本身具有模糊性或数据集容易出现标注错误的情况下尤为重要。
- 医学诊断: 在医疗 AI 领域,临床数据很少是黑白分明的。例如,在医学图像分析中,扫描结果可能显示出高度暗示某种疾病但并不明确的特征。使用硬标签进行训练会强迫模型忽略这种不确定性。通过应用标签平滑,模型保留了一定程度的怀疑,这对于决策支持系统至关重要,因为过度自信可能导致误诊。
- 大规模图像分类: 像 ImageNet 这样的大型公共数据集通常包含标注错误的图像或包含多个有效对象的图像。如果模型试图以 100% 的置信度拟合这些带噪声的样本,它就会学习到错误的关联。标签平滑充当了标签噪声的缓冲器,确保少数劣质数据点不会严重扭曲最终的模型权重。
Link to this section使用 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)Link to this section与相关概念的比较#
区分标签平滑与其他正则化策略有助于理解何时使用它。
- 与 Dropout 相比: Dropout 层在训练过程中随机停用神经元,以强迫网络学习冗余表示。虽然两者都能防止过拟合,但 Dropout 动态修改了网络架构,而标签平滑修改的是优化目标(即标签本身)。
- 与知识蒸馏相比: 两种技术都涉及在软标签上进行训练。然而,在知识蒸馏中,软标签来自“教师”模型并包含已学习的信息(例如,“这看起来有 10% 像猫”)。相比之下,标签平滑使用数学推导出的“无信息”软标签(例如,“将 10% 的概率平等分配给所有其他类别”)。
- 与数据增强相比: 数据增强策略通过改变输入数据(旋转、裁剪、变色)来增加多样性。标签平滑则是改变输出预期。Ultralytics Platform 上的综合训练工作流通常会结合增强、Dropout 和标签平滑以实现最高精度。






