是什么导致了消失梯度或爆炸梯度的发生,采取了哪些措施来防止它的发生?
发布于 2020-04-15 06:48:38
消隐梯度和爆炸梯度是深层神经网络训练的两种常见效果,它们的影响往往越大。
如你所知,训练神经网络的两个基本操作是前向传播和反向传播.当我们进行反向传播时,即在网络中向后移动,计算损失函数相对于权值的梯度,梯度值有急剧减小或增大的趋势,我们在网络中的回归越深。当我们有像Sigmoid或TanH这样的激活函数,其非线性区域低于0(即x << -5)和超过0(即x >> 5)返回梯度值在饱和区域时,就会发生这种情况。这意味着(x << -5)早期层中的神经元将以非常慢的速度学习,而这些层位于网络的后期(消失梯度问题)。爆炸梯度是硬币的另一面,即当激活函数饱和时(使用x >> 5),梯度值会急剧增加,使得权重的更新不稳定,因此无法收敛。
设法防止这些问题的一些可能的技术按相关性排列如下:
发布于 2023-01-29 08:40:14
@juanba1984 1984的答复很好地解释了原因。但是关于爆炸梯度的评论是什么
当激活函数饱和时(使用x >> 5),梯度值会急剧增加。
不是真的。饱和激活函数不会引起梯度的增加。当激活函数如Sigmoid或tanH饱和时,梯度接近于零。
发布于 2023-04-22 09:10:29
在@juanba1984 1984和@但为什么添加了一些摘要:
根据您的网络架构选择合适的网络结构、适当的权值初始化、选择合适的激活函数、批规格化和适当的优化器,这些都是处理两个梯度问题的常用技术。尽管它们无法完全解决这些问题,但正如@juanba1984 1984所提到的,它们使网络对这些问题更加健壮。我们必须增加这些方法,例如:
希望这对你有用。
https://datascience.stackexchange.com/questions/72351
复制相似问题