Softmax交叉熵损失函数 反向传播公式推导
标签(空格分隔): Caffe源代码
Softmax交叉熵损失函数:
J=−∑i=1Kyiln(zi)zi=exi∑j=1Kexj
现在我们的目的是求
∂J∂xk
在训练集中,假设
ys=1
,其余
yk≠s=0
我们分为两种情况:
(1)当
k=s
时:
∂J∂xk=∂(−ysln(exs∑j=1Kexj))∂xs=−ys×∑j=1Kexjexs×exs×∑j=1Kexj−e2xs(∑j=1Kexj)2=−ys×∑j=1Kexj−exs∑j=1Kexj=−ys(1−zs)
(2)当
k≠s
时:
∂J∂xk=∂(−ysln(exs∑j=1Kexj))∂xk=−ys×∑j=1Kexjexs×−exs×exk(∑j=1Kexj)2=−ysexk∑j=1Kexj=−yszk
总结:
∂J∂xk=zk−yk