深度学习常见Loss推导

1. Softmax Loss 推导

(1) $N$为类别数

(2) $a$为输出向量,$a_j$为向量$a$的第$j$个值

参考:卷积神经网络系列之softmax loss对输入的求导推导


1.1 Softmax

x

1.2 Cross-entropy Loss

1.3 Softmax Loss

  • 当Cross-entropy的$P_j=S_i$ ,即Softmax输出的时候。

1.4 Softmax对Softmax输入的导数

  • $S_i$对$a_j$求导:
  • 这里求导有两种情况

    • 1)当$i=j$时:

    • 2)当$i≠j$时:

1.5 Softmax Loss对softmax输入的导数

  • 第③个等号就用到了上面$S_i$对$a_j$求导的结论,第三个等号结果的左半部分是$i=k$的时候$S_i$对$a_j$求导的导数,右半部分是$i≠k$的时候S_i$对​$a_j$求导的导数。
  • 第⑥、⑦个等号是将$y_iS_i​$合并到∑里面。最后一个等号的成立是建立在假设$∑y_k=1​$的前提下,这个对于常见的单标签分类任务而言都是成立的。

1.6 总结

因此假设一个5分类任务,经过Softmax层后得到的概率向量$S$是$[0.1,0.2,0.25,0.4,0.05]$,真实标签$y$是$[0,0,1,0,0]$,那么损失回传时该层得到的梯度就是$p-y=[0.1,0.2,-0.75,0.4,0.05]$。这个梯度就指导网络在下一次forward的时候更新该层的权重参数。

本文标题:深度学习常见Loss推导

文章作者:zhkmxx930

发布时间:2019年02月16日 - 20:02

最后更新:2019年07月11日 - 17:07

原始链接:https://zhkmxx9302013.github.io/post/19fc17a4.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

一分钱也是爱,mua~