下面关于矩阵的导数计算的知识是参考李沐老师的深度学习课程得来的。
1.标量的导数
标量导数:导数是切线的斜率
将导数拓展到不可微的函数
2.向量的导数总结
总结如下:
- x和y都是标量,那么导数也是标量
- x是向量,y是标量,那么导数就是一个行向量
- x是标量,y是向量,那么导数就是一个列向量
- 如果x和y都是向量,那么导数就是一个矩阵
3.x向量,y标量
x是向量,y是标量,那么导数就是一个行向量
样例:
4.x标量,y向量
x是标量,y是向量,那么导数就是一个列向量
5.x和y均是向量
如果x和y都是向量,那么导数就是一个矩阵
样例:
6.拓展到矩阵
7.向量链式法则
首先我们看下标量的链式法则如下:
进行类比,我们可以得到:
x是向量,y是标量,u是标量的链式求导法则:
x是向量,y是标量,u是向量的链式求导法则:
x是向量,y是向量,u是向量的链式求导法则:
8.向量链式法则例子
例子1:
例子2:
8.计算图
自动求导是计算一个函数在指定值上的导数,通常是使用计算图来完成的。
首先,我们可以根据式子构建下面的一个计算图:
接着我们可以采用反向传播算法得到我们想要的导数值:
这里是先进行正向的计算,然后再进行反向求导。再进行反向计算过程中,可以利用正向计算中已经计算过的结果。
流程主要如下: