论文链接:paper
Hinton大神19年发表在NIPS的论文
Summary:多分类的任务通常可以通过Label Smoothing(LS)来提升泛化性,具体做法是在hard label的基础上增加一个均匀分布来使目标值变得soft。本文通过一系列实验和可视化证明了label smoothing到底带来了哪些变化,除了提升泛化性还有哪些好处,以及LS和知识蒸馏之间的冲突。
Conclusion
- LS可以是不同分类的cluster变得更紧密
- LS可以提升算法的calibration
- LS会降低蒸馏的效果(对teacher做LS,会让student的效果变差)
Preliminaries
- 在图像分类、语音识别、机器翻译中,使用LS的效果:
- hard label的情况下loss计算(K个分类):
- label smoothing中调整y值:
提升效果:Penultimate layer representation(倒数第二层layer的表达)
LS和hard label的对比:
- LS:正确类别和所有错误类别的logits都相差常数
- hard label: 正确类别的logits大于错误类别的logits & 错误类别的logits彼此不同
直觉上,通过pk公式中的xT*wk可以把类别k的logits看做是类别k的模板wk和输入x之间的欧氏距离:
image.png image.png
当x距离某个分类K的模板距离更近时,x属于K分类的概率就越大。
从这个角度看,LS鼓励penultimate layer接近正确类别的模板,并且距离其他错误类别模板相等。
可视化:4行对应4个数据集&类别
- CIFAR-10数据集,飞机、车、鸟
- CIFAR-100数据集,海狸、海豚、水獭
- ImageNet数据集,x鱼、狐獴、x刀,相差很大
- ImageNet数据集,a贵宾犬、b贵宾犬、x鱼,前两个类别很相似
可以看到,LS会让每个类别的cluster变得更加tight
image.png image.png提升calibration(防止model过于自信)
model输出的logits应该表明了confidence,理想情况下,这个值应该和accuracy是相等的。换言之,收集所有model输出概率是0.7的样本,accuracy也应该是0.7。但是实际上深度学习模型经常会过于自信。接下来通过ECE(expected calibration error)来衡量模型过于自信的程度。
根据之前的经验,Temprature scaling可以降低ECE。这篇paper证明了LS也可以降低ECE。
- 图片分类:α是LS的超参,T是Temprature scaling的超参
- 机器翻译:在分类任务中,ECE可能不是很重要(比起来ACC)但是在seq2seq的生成任务中,由于需要做beam search,ECE也很重要
左边的两个图,对比是否使用LS的情况下,不同T的模型效果:蓝线是BLEU score,红线是NLL(negative log-likelihood)。左图是hard label,中间图是LS
右边的图,有叉叉的是LS的,对比的是在任何T下,LS的NLL都没有变好,所以实际上LS在没有提升NLL的情况下,提升了BLEU
image.png知识蒸馏
如果在teacher model中增加LS的优化,teacher model的效果会变好,但是蒸馏的student的模型反而会变差。
在没有LS的时候,各个错误类别的logits不同,这个携带了信息,而且有些正确类别的样本反而会更靠近错误类别(写得像7的2)。但是增加了LS之后,这些信息都被抹去了。
image.png
网友评论