每天五分钟深度学习:基于softmax交叉熵损失的反向传播
本文重点
在前面的课程中,我们学习了softmax回归的前向传播的计算,那么当我们计算出损失之后,我们应该如何使用这个损失进行反向传播梯度下降呢?本文我们对其进行详细的讲解。
softmax回归和逻辑回归
在之前的课程中,我们学习了逻辑回归的反向传播,可以看之前的文章
这里简单说一下,在逻辑回归中,我们可以算出来dL/dz=a-y,也就是说这个样本如果类别是y=1,那么此时的dL/dz=a-1,如果要是y的类别是y=0,那么此时dL/dz=a,
如果使用softmax来完成二分类问题,只需要建立一个输出层有两个神经元的神经网络,如下所示:
那么每一个神经元的dL/dz=(a-y),假如现在的样本是y=1,那么第一个神经元的dL/dz=a,而第二个神经元的dL/dz=a-1
这里我们将softmax回归和逻辑回归建立了联系,之后我们会介绍多分类的softmax回归,其实本质都是一样的,只有对应类别的神经元的dL/dz=a-1,剩下的所有神经元都是dL/dz=a
softmax回归的反向传播
现在有一个如上所示的神经网络,