核心要点

  • 把硬 one-hot 标签 (1, 0, ...) 软化为 (1-ε, ε/(K-1), ...),K 为类别数,ε 为平滑系数

  • 防止模型对正确类输出过度自信,改善概率校准(confidence 更贴近真实准确率

  • 是一种正则化手段,能提升泛化、缓解过拟合,让类间表示更紧凑

  • 代价:整体置信度略降;对知识蒸馏 / 检索类任务可能不利,需谨慎

标准回答

做法

标准交叉熵用 one-hot 目标,迫使正确类 logit 趋于无穷大、其余趋于负无穷,导致模型过度自信。标签平滑把目标分布改为:正确类为 \(1-\varepsilon\),其余每类为 \(\varepsilon/(K-1)\),\(K\) 为类别数,\(\varepsilon\) 常取 0.1。

为什么有效

软化目标避免了无界的 logit 追逐,相当于对输出加正则,使模型不会把全部概率压到单一类上。好处包括:改善校准(预测概率与真实准确率更一致)、提升泛化与对噪声标签的鲁棒性、让同类样本表示更聚拢、类间更可分。

代价与边界

它会系统性地降低模型的最高置信度,因此在需要精确置信度排序的场景(如检索、阈值决策)要小心。对知识蒸馏也常不利:平滑会抹掉教师 logit 中类间的细粒度「暗知识」,使学生学到的信息变少。

常见误区

⚠️ 常见踩坑

认为标签平滑总能提升效果——它会压低置信度,对知识蒸馏和需要精确概率/置信度排序的任务可能反而有害。

追问

追问 1标签平滑和加 Dropout / L2 正则有何区别?

Dropout/L2 作用在模型参数或激活上,标签平滑作用在监督信号(目标分布)上,三者是互补的正则方式。标签平滑专门约束输出分布、改善校准,而 L2/Dropout 主要约束模型复杂度,可以同时使用。

追问 2ε 取多大合适?

经验上 0.1 是常用默认值;类别数很多或标签噪声大时可适当增大,但过大(如 0.3+)会过度抹平监督信号、损害准确率。最好在验证集上配合校准指标(如 ECE)调参。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。