【问题标题】:How to interpret the gradient norms in convolution neural networks?如何解释卷积神经网络中的梯度范数?
【发布时间】:2019-04-03 15:42:03
【问题描述】:

这可能是基本的东西,但我无法理解计算梯度范数的解释。

例如,我正在使用体系结构进行二进制分割,方法是堆叠多个 U-Net,每个网络都有类似于 Resnet34 的编码器。我训练了这个网络,我得到了梯度平均值和范数如下:

  • conv1 的平均梯度为 -1.77767194275e-14

  • conv1 的标准梯度为 2.57230658463e-05

  • layer1 的平均梯度为 1.27381299952e-11

  • layer1 的标准梯度为 0.000390226632589

  • layer2 的平均梯度为 -2.3107595698e-11

  • layer2 的标准梯度为 0.000265486567514

所有值似乎都非常低。我无法得到我应该将它们视为梯度消失问题还是梯度可能非常低,具体取决于问题。

如果梯度真的很低,那么检查梯度消失问题的最佳方法是什么?

感谢您提供分析梯度数据的任何建议。提前致谢!

【问题讨论】:

    标签: tensorflow conv-neural-network pytorch


    【解决方案1】:

    较低的平均值没有问题。当然有些问题会导致低值,但低值本身并不意味着问题。此外,我认为梯度的规范并不太低。

    我们应该重新考虑在这种情况下导致梯度消失问题的原因。当我们使用 ReLU 作为激活函数时,梯度不会消失(但可以为零)。

    【讨论】:

      猜你喜欢
      • 2020-01-21
      • 2016-11-05
      • 2017-07-31
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 2019-10-01
      相关资源
      最近更新 更多