Softmax,Label Smoothing原理与其NVCaffe实现

背景

对于多分类的任务,最后通常会连接一个全连接层作为分类器,输出每个类别预测出的confidence scores。这些scores会被softmax归一化为一个概率分布,表示每一个类别的预测概率。假设共有K个类别,对类i,网络输出的confidence score为 z i z_i zi,那么softmax得到的输出为 q i = s o f t m a x ( z i ) q_i = softmax(z_i) qi=softmax(zi),其中softmax的计算定义为:
q i = e x p ( z i ) ∑ j = 1 K e x p ( z j ) q_i = \frac {exp(z_i)} {\sum_{j=1}^{K} exp(z_j)} qi=j=1Kexp(zj)exp(zi)

显然,有 q i > 0 q_i > 0 qi>0 ∑ i = 1 K q i = 1 \sum_{i=1}^K q_i = 1 i=1Kqi=1,这是一个有效的概率分布。

假设图片的真实标签为 y y y,我们通常会认为真实的概率分布应该为 p i = 1    i f    i = y p_i = 1\;if\;i=y pi=1ifi=y否则 p i = 0 p_i = 0 pi=0。在训练时,就会最小化预测概率分布与真实概率分布的交叉熵:
l ( p , q ) = − ∑ i = 1 K p i   l o g   q i l(p,q) = - \sum_{i=1}^K p_i\,log\,q_i l(p,q)=i=1Kpilogqi

为了最小化交叉熵,最优的预测概率分布应为 z y ∗ = i n f z_y^*=inf zy=inf,且 z i ∗ → 0    ( i ≠ y ) z_i^*\to0\;(i \neq y) zi0(i̸=y),也就是说,神经网络的输出会被鼓励尽量去增加正确标签与错误标签的输出值之差,这样就容易出现过拟合问题。

Label smoothing

Label smoothing最早在 I n c e p t i o n    v 2 Inception\;v2 Inceptionv2中被提出,作为一种正则化手段,可以提高网络的top-1和top-5各0.2%

Label;smoothing将认为的真实概率分布改变为
p i = { 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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值