神经网络简单理解(一):梯度弥散

神经网络简单理解(一):梯度弥散

这里C(w)为最后的代价函数,它权值w的函数。每一层的加权输入为ZJ神经网络简单理解(一):梯度弥散=W×aj-1神经网络简单理解(一):梯度弥散+b。每一层的输出为aj神经网络简单理解(一):梯度弥散aj神经网络简单理解(一):梯度弥散=φ(ZJ神经网络简单理解(一):梯度弥散),这里φ是**函数。

反向传播更新的是每一层神经元连接的权重w,即求C(w)对每一层w 的偏导数。反向传播首先求C对W4的偏导数,所以公式为:

神经网络简单理解(一):梯度弥散

同理,由于W3只能通过加权输入Z3在影响结果,所以公式为:

神经网络简单理解(一):梯度弥散

可以看出在更新权值的时候,每向前传播一层,就要乘以**函数的导数φ’。当选择的**函数为sigmoid时(导数图像如图所示,该导数的最大值为1/4),乘一个会导致梯度越来越小,这对于深层网络的训练是个很大的问题。而relu函数的导数是1,不会导致梯度变小。

神经网络简单理解(一):梯度弥散