2019年6月5日 上午11点
反向传播的四个基本方程
反向传播是对权重和偏置的变化影响代价函数过程的理解。其根本含义就是计算偏导数和。
书中将对计算误差的流程转化到基本两个偏导数和上。
为了便于理解,我们假设网络中有一个调皮鬼,这个调皮鬼在第l层第j个神经元上。当有输入进来时,他会在神经元的带权输入上增加一个很小的变化,是的神经元输出由变成,这个变化会向网络后面的层次进行传播,最终导致整个代价产生的改变。
现在这个调皮鬼反过来试图优化代价试着找到让代价更小的。假设是个很大的数值,那么可以通过选择与相反的符号的来降低代价。当接近0时,我们这不能通过扰动带权输入来改善太多的代价了。
按照上面的描述,我们定义第l层第j个神经元上的误差为
闲杂正式开始介绍反向传播的四个基本方程
1.输出层误差方程 :每个元素定义如下
对于上面的公式,我们可以用矩阵形式重写方程,表示为
其中被定义为一个向量,其元素是偏导数,若代价函数是二次代价函数,则,所以整个矩阵形式变为
2.使用下一层的误差来表示当前层的误差,特别的,
其中是第(l+1)层权重矩阵的转置。我们可以从直觉上感觉出来误差是沿着网络的反向进行传播的。
3.代价函数关于网络中任意偏执的改变率:就是
4.代价函数关于任何一个权重的改变率:特别地
这里我个人认为这个代价函数对于权重的偏导数等于前一层的输出(是经过激活函数处理过的带权输出)和当前层的误差的乘积。减少下表后可以表示为
当激活值很小时,梯度也会趋向很小。这样我们就说权重学习缓慢,第四个方程的结果就是来自低激活值神经元的权重学习会非常缓慢。这四个方程还有其他可以理解的方面。比如从第一个方程中的。我们已经知道了S型函数的图像,当近似为0或者1的时候函数会变得非常平。也就意味着。所以当输出神经元处于或者低激活值(约等于0)或者高激活值(约等于1)时,最终层的学习会很缓慢,这样我们称输出神经元已经饱和了。