【问题标题】:Convolutional networks: dropout in fully connected layer卷积网络:全连接层中的 dropout
【发布时间】:2017-07-30 09:25:56
【问题描述】:

我在 tensorflow 中构建了一个小型 conv 网络。我注意到,如果我向全连接层添加 dropout 概率,那么我必须使用较低的学习率,否则会出现梯度过冲。有什么解释为什么会这样吗?

【问题讨论】:

    标签: tensorflow neural-network deep-learning conv-neural-network convolution


    【解决方案1】:

    有趣的是,在文献中观察到了相反的情况。要退出的原始论文在这里:http://www.jmlr.org/papers/volume15/srivastava14a.old/source/srivastava14a.pdf。在附录 A.2 中:作者解释说,学习率应该增加 10-100 倍,而动量也应该增加,因为许多梯度相互抵消。也许您没有使用足够高的批量大小。

    以下部分是我的解释,与上面提供的文献相比,你观察到的结果发生的原因。

    通过使用 0.5 dropout,只有一半的神经元处于活动状态并导致错误。错误的大小仍然相似。因此,误差将通过网络反向传播到只有一半的神经元。因此,误差中的每个神经元“部分”都会加倍。

    通过使用相同的学习率,梯度更新加倍。因此,您遇到的问题与您一开始就使用了更大的学习率一样。通过降低学习率,更新再次处于您之前使用的范围内。

    【讨论】:

      猜你喜欢
      • 2021-07-14
      • 2018-07-13
      • 2017-04-04
      • 2018-04-01
      • 2015-05-07
      • 2021-11-17
      • 2016-11-13
      • 2020-09-13
      • 2017-11-25
      相关资源
      最近更新 更多