死神经元和杀死梯度有什么区别?

机器算法验证 机器学习 神经网络 深度学习 卷积神经网络
2022-04-08 11:34:13

我读到 sigmoid 函数会杀死梯度,结果网络不会学习

我读到在 ReLU 函数中,流过 ReLU 神经元的大梯度可能会导致权重以这样一种方式更新,使得神经元永远不会激活

这可能会导致“死”的神经元。
那么,它们是一样的吗?

2个回答

他们都得到零或非常小的梯度,所以他们几乎无法接受训练。

不同之处在于,“死” ReLU 神经元的激活值几乎总是为零,而饱和 sigmoid 神经元的激活值接近 0 或 1。

它们都将具有非常小的梯度,因此都充当学习的阻碍。

不同之处在于,与饱和 sigmoid 相比,死亡 Relu 神经元的可能性要小得多

sigmoid 的梯度是: S′(a)=S(a)(1−S(a)) 当我们开始在后面的层学习有用的特征时,激活 S(a) 很高,因此梯度或前一层的学习开始减少。

无论您对网络参数多么小心,您都会在网络中遇到饱和的 sigmoid 和消失的梯度。

然而,对于 RelU,无论最后一层的激活/特征有多好,梯度都是一个常数,因此前几层会继续学习。除非你真的搞砸了学习率,或者权重衰减项,或者你的偏见迫使 RelU 对于所有输入都在负状态下运行,否则与饱和 sigmoid 相比,很难得到很多“死”神经元。