这可能是基本的事情,但是我无法理解计算梯度范数的解释。
例如,我正在通过堆叠多个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
所有值似乎都很低。我无法获得将它们视为消失的梯度问题,或者根据问题而定的梯度可能真的很低的情况。
如果梯度确实很低,那么检查梯度消失问题的最佳方法是什么?
任何建议都可以用来分析梯度数据。预先感谢!
答案 0 :(得分:0)
低平均值没有问题。当然,一些问题可能会导致低值,但是低值本身并不意味着问题。此外,我认为渐变的标准不太低。
在这种情况下,我们应该重新考虑导致梯度消失的原因。当我们使用ReLU作为激活函数时,梯度不会消失(但它们可以为零)。