最近在重温CS231n的Assignment,采用SGD进行参数更新,在back propagation计算gradient时经常涉及到矩阵运算的的“求导”,在许多代码中该步骤仅需进行一次矩阵乘法,对其实现背后的推导没有进行说明,自己只有照抄死记硬背,但是毕竟只有明白背后的原理才能举一反三,在遇到其他需要对矩阵进行求导的情况时能够自己解决,因此今天我试着推导了一下,并且希望记录下来方便以后查阅:
首先简单介绍下Softmax:
假设在神经网络的最后一层输出为f(N,C),N表示train data的数目,C表示种类的数量,f[i,j]可以理解为第i个train data在j类的分数,而Softmax将以f为输入,然后计算各个train data属于j类的概率,再计算Loss(一种对Softmax的解释)。Softmax的Loss function为:

本文详细探讨了在深度学习中,针对Softmax损失函数的矩阵求导过程。首先介绍了Softmax函数及其损失函数的概念,然后通过推导展示了如何从损失函数的梯度df过渡到权重矩阵W的梯度dW,以此加深对反向传播的理解。最后,提供了与CS231n课程相关的Python代码实现链接。
最低0.47元/天 解锁文章
886

被折叠的 条评论
为什么被折叠?



