目录
矩阵计算
矩阵计算就是讲矩阵如何求导数,所有优化模型的求解也是通过求导数实现的。
首先回忆初高中学习的导数知识,这属于标量的导数,将导数拓展到不可微的情况,这就是亚导数,将导数拓展到向量,这就是梯度,向量对向量求导,就是矩阵。
搞清楚它们的形状
x,y中有一个向量的情况,求导后有两种情况:分子布局和分母布局。
分子是向量,就是分子布局,分母是向量,就要转置一下
1.x为向量
理解:梯度就是等高线上变化最大的那个方向b
其中的<u,v>表示内积
2.y为向量
3.两个都是向量
自动求导
我们可以通过链式法则和一些基本的书别技巧把导数展开进行计算,但是神经网络经常由很多层构成,手写链式法则求导太难实现,所以我们需要用到自动求导.
1.定义:自动求导指计算一个函数在指定值上的导数。
2.自动求导其实分为两种情况:
①对符号求导:最常见的求导,给定你f(x)具体的样子,然后进行求导
②对数值求导:只给你f(x)的值,而不给你f(x)具体的样子,通过数值的拟合进行求导
3.自动求导的原理——计算图:计算图也分为显式构造和隐式构造
4自动求导的两种模式——正向累积,反向累积
两者对比:计算复杂度一样,但内存复杂度不同。正向累积的内存复杂度为为O(1),反向复杂度的内存复杂度为O(n)