一、神经网络反向传播时的梯度到底怎么求?
利用下面两条原则,便可大杀四方
1.对于矩阵、向量求导先当做一维实数使用链式法则求导,然后做维数相容调整(前后换序、转置),使之符合矩阵乘法原则且维数相容是快速准确的策略。
2.逐维求导,在公式中是点乘的形式。
参考链接:
https://zhuanlan.zhihu.com/p/22473137
梯度是如何计算的 小小将
二、神经网络反向传播过程示例
这里需要说明的是∂L/∂wji的L是指Ltotal总的Loss,即每个下标的z和t计算完损失后,对1到c所有下标的结果进行求和最终只得到一个数Ltotal。所以计算∂L/∂yj时,实际上L已经包含了yj前向传播时会经过的全部路径,拿y1举例,Ltotal对y1求导时相当于拆分成L1,L2一直到LC对y1分别进行求导然后求和,其中比如LC对y1进行求导等同于(zc-tc)对y1进行求导,就已经包含了y1到zc的路径了。