When Does Label Smoothing Help?

本文探讨了标签平滑如何提高多类神经网络的泛化和学习速度,以及它对模型校准的积极影响。研究发现,标签平滑通过减少过自信的预测并形成类别的紧密聚类,提高了模型的准确性。然而,它也降低了知识蒸馏的有效性,因为丢失了不同类别的实例间相似性的信息。此外,文章通过线性投影的可视化方法揭示了标签平滑对倒数第二层表示的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

When Does Label Smoothing Help?

Rafael Müller, Simon Kornblith, Geoffrey Hinton

Google Brain
Toronto

rafaelmuller@google.com

Abstract

The generalization and learning speed of a multi-class neural network can often be significantly improved by using soft targets that are a weighted average of the hard targets and the uniform distribution over labels. Smoothing the labels in this way prevents the network from becoming over-confident and label smoothing has been used in many state-of-the-art models, including image classification, language translation and speech recognition. Despite its widespread use, label smoothi

### Label Smoothing Loss 的概念 Label smoothing 是一种正则化技术,在训练分类模型时可以防止过拟合并提高泛化能力。通过引入少量噪声到 one-hot 编码的目标标签上,使得模型不会过度自信于某个特定类别预测[^1]。 具体来说,对于一个多类别的分类问题,传统的方法会将真实标签表示成 one-hot 向量形式;而采用 label smoothing 技术后,则会对这些目标概率分布做平滑处理,即给正确类别分配稍微低一点的概率值 (不再是严格的 1),同时给予其他错误类别非常小但非零的概率权重。 这种做法有助于减少由于数据标注不准确带来的负面影响,并促使网络学习更加鲁棒性的特征表达。 ### 实现方法 下面展示了一个简单的 PyTorch 版本的实现方式: ```python import torch.nn.functional as F def cross_entropy_loss_with_label_smoothing(pred, target, epsilon=0.1): n_class = pred.size(1) log_preds = F.log_softmax(pred, dim=1) true_dist = torch.full_like(log_preds, epsilon / (n_class - 1)) true_dist.scatter_(1, target.unsqueeze(dim=1), 1 - epsilon) return -(true_dist * log_preds).sum(dim=1).mean() ``` 此函数接受两个参数 `pred` 和 `target` 分别代表预测输出以及实际标签,并允许指定一个可选参数 `epsilon` 来控制平滑程度,默认设置为 0.1 表明有90%的信心认为样本属于其原始类别,剩余10%平均分给了其它所有可能类别。 ### 应用场景 监督学习中的简单方法能够有效提升模型性能,尤其是在面对大规模图像识别任务时表现出色[^2]。除此之外,label smoothing 还被广泛应用于自然语言处理领域内的各种序列建模任务中,比如机器翻译、文本摘要生成等。它同样适用于语音识别系统来增强对抗性攻击下的稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adam婷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值