小白都能看懂的softmax loss

1. 前向传播

  • 一张图像经过层层计算,在softmax之前得到z1,z2,…
  • 经过softmax变成,pj是softmax的输出 p 1 = e z 1 / ( e z 1 + e z 2 + . . . ) , p 2 = e z 2 / ( e z 1 + e z 2 + . . . ) , . . . . . . p1=e^{z1}/(e^{z1}+e^{z2}+...), p2=e^{z2}/(e^{z1}+e^{z2}+...), ...... p1=ez1/(ez1+ez2+...),p2=ez2/(ez1+ez2+...),......
  • softmax常常使用交叉熵计算loss,如下图
    小白都能看懂的softmax loss_第1张图片

2. 反向传播

  • groundtruth对应的zj和非groundtruth的zj分开计算
  • groundtruth对应的zj
    小白都能看懂的softmax loss_第2张图片
  • 非groundtruth对应的zj
    小白都能看懂的softmax loss_第3张图片
  • 所以groundtruth对应的zj反向传播的梯度是pj-1,非groundtruth对应的zj反向传播的梯度是pj

你可能感兴趣的:(deeplearning)