标签平滑-labellabellabel smoothingsmoothingsmoothing
在深度学习样本训练的过程中,当我们采用 oneoneone-hothothot 标签去进行计算交叉熵损失时,只考虑到训练样本中正确的标签位置(oneoneone-hothothot 标签为 111 的位置)的损失,而忽略了错误标签位置(oneoneone-hothothot 标签为 000 的位置)的损失。这样一来,模型可以在训练集上拟合的很好,但由于其他错误标签位置的损失没有计算,导致预测的时候,预测错误的概率增大。为了解决这一问题,标签平滑的正则化方法便应运而生。
什么是标签平滑
标签平滑采用如下思路:在训练时即假设标签可能存在错误,避免“过分”相信训练样本的标签。当目标函数为交叉熵时,这一思想有非常简单的实现,称为标签平滑(LabelLabelLabel SmoothingSmoothingSmoothing)。 在训练样本中,我们并不能保证所有的样本标签都标注正确,如果某个样本的标注是错误的,那么在训练时,该样本就有可能对训练结果产生负面影响。一个很自然的想法是,如果我们有办法“告诉”模型,样本的标签不一定正确,那么训练出来的模型对于少量的样本错误就会有“免疫力”。
为了达到这个目标,我们很自然想到的方法是:在每次迭代时,并不直接将(xi{x_i}xi,yi{y_i}yi)放入训练集,而是设置一个错误率 ϵ\epsilonϵ,以 1-ϵ\epsilonϵ 的概率将(xi{x_i}xi,yi{y_i}yi)代入训练,以 ϵ\epsilonϵ 的概率将(xi{x_i}xi,1-yi{y_i}yi)代入训练。这样,模型在训练时,既有正确标签输入,又有错误标签输入,可以想象,如此训练出来的模型不会“全力匹配”每一个标签,而只是在一定程度上匹配。这样,即使真的出现错误标签,模型受到的影响就会更小。
那么,这是否意味着我们在每次训练时,都需要对标签进行随机化处理呢?答案是否定的,我们有更好的方法来解决,也就是标签平滑。下面我们介绍标签平滑的具体思路。
标签平滑的推理
假设(xi{x_i}xi,yi{y_i}yi)是训练集的一个样本。当我们采用交叉熵来描述损失函数时,对于每一个样本 iii,损失函数为:
Li=−yiP(yi~=1∣xi)−(1−yi)P(yi~=0∣xi) L_i = -y_iP(\tilde{y_i}=1|x_i)-(1-y_i)P(\tilde{y_i}=0|x_i) Li=−yiP(yi~=1∣xi)−(1−yi)P(yi~=0∣xi)
经过随机化之后,新的标签有 111-ϵ\epsilonϵ 的概率与 yi{y_i}yi 相同,有 ϵ\epsilonϵ 的概率不同(即 111-yi{y_i}y

标签平滑是一种正则化方法,用于改进深度学习模型的泛化能力。它通过在训练过程中对one-hot标签进行平滑处理,避免模型过度依赖单一的正确标签,增加对错误标签的考虑,从而降低过拟合风险。在标签平滑中,正确标签会被赋予一个小的噪声值,而错误标签也会被赋予一个小的概率,使得模型在优化过程中同时关注正确分类和错误分类的概率,提升整体学习效果。
最低0.47元/天 解锁文章
642

被折叠的 条评论
为什么被折叠?



