避免深度神经网络中的消失梯度

时间:2017-09-18 00:39:48

标签: keras keras-layer

我看看Keras试图深入学习。

据我所知,由于消失的梯度问题,仅堆叠几层致密层有效地阻止了反向传播。

我发现有一个预先训练好的VGG-16神经网络,你可以在它上面下载和构建。

这个网络有16层,所以我想,这是你遇到消失梯度问题的领域。

假设我想在Keras自己训练网络。我该怎么办?我应该将这些层分成簇并将它们作为自动编码器进行独立训练,而不是将分类器堆叠在其上并进行训练吗?在Keras中是否有内置的机制?

2 个答案:

答案 0 :(得分:3)

不,消失的梯度问题并不像以前那么普遍,因为几乎所有的网络(除了经常性的网络)都使用ReLU激活,这种激活很容易出现这个问题。

您应该从头开始训练网络,看看它是如何工作的。不要试图解决你还没有的问题。

答案 1 :(得分:0)

了解有关跳过连接的信息。虽然这是激活功能,但负责这些操作,但跳过连接也会在那里进行输入。

在残留块中引入的跳过连接允许梯度流回并到达初始层。

我们不使用Sigmoid和Tanh作为激活函数,而这会导致消失的梯度问题。如今,大多数情况下,我们在训练深度神经网络模型时使用基于RELU的激活函数来避免此类并发症并提高准确性。

相关问题