如何检测消失的梯度?

人工智能 深度学习 卷积神经网络 深度神经网络 梯度消失问题
2021-11-07 12:02:45

在整个训练时期,我的卷积核权重的分布变化(或缺乏分布)是否可以检测到梯度消失?如果是这样怎么办?

例如,如果在整个 epoch 中只有 25% 的内核权重发生变化,这是否意味着梯度消失的问题?

这是我的直方图和分布,是否可以判断我的模型是否遭受这些图像中梯度消失的影响?(为简洁起见,省略了一些中间隐藏层)

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

1个回答

消失梯度可以从核权重分布中检测到。您只需要寻找权重是否会下降到 0。

如果只有 25% 的内核权重发生变化,这并不意味着梯度消失,这可能是一个因素,但可能有多种原因,例如数据不佳、优化器使用的损失函数等。内核的权重不是改变只是指出模型没有很好地学习。

从直方图中,只有conv_2d_2图层显示任何形式的梯度消失,因为数字非常小。但即便如此,在 600 个 epochs 之后似乎也是如此。通常,一个好的指标是使层中权重的平均值接近 0,标准差接近 1。因此,如果在训练期间保持良好的程度,那么您就可以开始了.