背景
对于多分类的任务,最后通常会连接一个全连接层作为分类器,输出每个类别预测出的confidence scores。这些scores会被softmax归一化为一个概率分布,表示每一个类别的预测概率。假设共有K个类别,对类i,网络输出的confidence score为ziz_izi,那么softmax得到的输出为qi=softmax(zi)q_i = softmax(z_i)qi=softmax(zi),其中softmax的计算定义为:
qi=exp(zi)∑j=1Kexp(zj) q_i = \frac {exp(z_i)} {\sum_{j=1}^{K} exp(z_j)} qi=∑j=1Kexp(zj)exp(zi)
显然,有qi>0q_i > 0qi>0和∑i=1Kqi=1\sum_{i=1}^K q_i = 1∑i=1Kqi=1,这是一个有效的概率分布。
假设图片的真实标签为yyy,我们通常会认为真实的概率分布应该为pi=1  if  i=yp_i = 1\;if\;i=ypi=1ifi=y否则pi=0p_i = 0pi=0。在训练时,就会最小化预测概率分布与真实概率分布的交叉熵:
l(p,q)=−∑i=1Kpi log qil(p,q) = - \sum_{i=1}^K p_i\,log\,q_i l(p,q)=−i=1∑Kpilogqi
为了最小化交叉熵,最优的预测概率分布应为zy∗=infz_y^*=infzy∗=inf,且zi∗→0  (i≠y)z_i^*\to0\;(i \neq y)zi∗→0(i̸=y),也就是说,神经网络的输出会被鼓励尽量去增加正确标签与错误标签的输出值之差,这样就容易出现过拟合问题。
Label smoothing
Label smoothing最早在Inception  v2Inception\;v2Inceptionv2中被提出,作为一种正则化手段,可以提高网络的top-1和top-5各0.2%
Label;smoothing将认为的真实概率分布改变为
pi={
1−ϵif i = yϵ/(K−1)otherwise p_i = \begin{cases} 1-\epsilon & \text{if $i$ = $y$} \\ \epsilon/(K-1) & \text{otherwise} \end{cases} pi={
1−ϵ