如何解释卷积神经网络中的梯度范数?

时间:2018-10-30 14:49:48

标签: tensorflow conv-neural-network pytorch

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

例如,我正在通过堆叠多个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

所有值似乎都很低。我无法获得将它们视为消失的梯度问题,或者根据问题而定的梯度可能真的很低的情况。

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

任何建议都可以用来分析梯度数据。预先感谢!

1 个答案:

答案 0 :(得分:0)

低平均值没有问题。当然,一些问题可能会导致低值,但是低值本身并不意味着问题。此外,我认为渐变的标准不太低。

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