深度学习——梯度消失问题

当初学深度学习的时候就看不懂,查网上的资料也讲得不清楚,今天复习的时候又看了一遍,终于明白了,记录一下。

梯度消失的问题要从深度学习的反向传播说起,以神经网络为例,神经网络在反向传播时,每一层权重和偏置的更新都是由后面所有层的导数乘积决定的,其中就包括神经元的线性函数的导数、激活函数的导数。以前常用的激活函数就是sigmoid函数,函数图如下:

                                                                 深度学习——梯度消失问题_第1张图片

        我们可以看到,当激活函数的输入比较大或者比较小时时,它的导数就接近于0了;在反向传播时,激活函数的导数再乘上它后面层的导数,结果也接近于0,前面隐层的权重和偏置就几乎没办法更新了,所以网络就陷入了死胡同,这就是梯度消失问题。

        这也是为什么后来深度学习都改用relu函数做激活函数,而放弃sigmoid函数的原因了。

你可能感兴趣的:(深度学习,神经网络)