反向传播算法中的矩阵求导

反向传播中的梯度


在神经网络算法中,可以把复杂的网络结构看作一个复合函数。即用一个函数表征输入与输出之间的关系。误差的反向传递,提供了确定这个函数的方法。这里的误差,指的就是梯度。所以,BP算法就是根据复合函数求导的链式法则一步步求得。

计算图

在这里插入图片描述
为了更直观的理解这个函数,我们用 m=a+b 、n=c+d 显然,
f=mn
在这里插入图片描述
本例中前向传播的过程中,f=4.5,
a若增加0.001,则m增加0.001,则f增加0.001
n。使用链式法则可以求得对a\b\c\d的偏导数。
在这里插入图片描述

矩阵求导

前馈神经网络嵌入层中,每一层要学习的参数都是一个矩阵。如前一层的神经元个数为n1,本层神经元个数为n2。不计偏置的话,本层的要学习的参数是一个n2*n1的矩阵。此时就涉及到了矩阵求导。其实矩阵求导的实质还是多元函数,只不过把结果写成了矩阵的形式。从原理上讲,完全可以逐元素求导。
在这里插入图片描述

多条链接

与最后一层softmax层(多分类神经网络)不同的是,中间的嵌入层,相邻的神经元独立的影响着最终的结果,如计算图中的m和n的关系。但是softmax层中,变量有多条影响函数值的路径。则需要对每条路径求导再加和。

猜你喜欢

转载自blog.csdn.net/qq_36420612/article/details/82961113