【神经网络原理】梯度下降法如何更新权值和偏差?
损失函数的减小意味着神经网络的预测值(实际输出)更接近标签值(期望输出)。
损失函数通常是多元函数,它的自变量包括网络中包含的所有权值W和所有偏移量B。在某些地方,它也被称为成本函数或价值函数。这里只介绍均方误差损失函数(MSE ):
多元函数的梯度类似于一元函数的导数:依次求多元函数各变量的一阶偏导数,然后将偏导值组合成一维列向量,得到多元函数的梯度。损失函数通常是多元函数,其梯度如下:
对于神经网络结构&;如果对符号约定有疑问,可以参考我的文章——神经网络原理与神经网络结构& amp;象征性惯例
梯度负方向:因为梯度是矢量,所以具有方向性。这里的减少是指损失函数值的减少。
那么为什么损失函数值沿着梯度的负方向下降最快呢?这里主要用多元函数的一阶泰勒展开式(一阶形式比较简单)和向量点积公式来证明:
这里只给出L层网络参数&权(矩阵)和偏(向量)的梯度下降更新公式,其它层网络参数的更新公式可以用& amp;amp;amp;方法得到。对符号有疑问的,请参考:神经网络原理、神经网络结构&;象征性的约定。
有了各层网络参数(向量/矩阵)的更新公式,如何求解损失函数对各参数的梯度?实际上,由于神经网络中通常有很多参数(权值w和偏移量b),直接求解损失函数对这些参数的梯度是极其困难的。因此,在网络的实际训练中,我们通常采用反向误差传播,即BP算法,巧妙地利用预测值与标签值之间的残差,反向求解损失函数对输出层到输入层各层网络参数的梯度。