深度神经网络训练中的梯度问题与优化策略
1. 激活函数选择对梯度消失问题的部分修正
激活函数的具体选择对梯度消失问题的严重程度往往有相当大的影响。
- Sigmoid和Tanh函数 :Sigmoid激活函数的梯度最大不超过0.25,极易出现梯度消失问题。并且,当自变量的绝对值很大时,它会饱和,即梯度几乎为0,此时神经元的权重更新非常缓慢。Tanh函数在原点附近的梯度为1,表现比Sigmoid函数好一些,但当自变量的绝对值不断增大时,梯度也会迅速饱和,同样容易受到梯度消失问题的影响。
- ReLU和Hard Tanh函数 :近年来,Sigmoid和Tanh激活函数的使用越来越多地被ReLU和Hard Tanh函数所取代。ReLU的梯度计算效率高,训练速度更快。这两个函数在某些区间的导数为1,只要大多数单元在导数为1的区间内运行,梯度消失问题就不太容易发生。不过,激活函数的替换只是部分修正,因为层间的矩阵乘法仍然会导致一定程度的不稳定性,而且分段线性激活函数会引入新的死神经元问题。
2. 死神经元与“脑损伤”
从ReLU和Hard Tanh函数的导数图可以看出,ReLU在自变量为负值时梯度为0,这可能由多种原因导致:
- 权重初始化问题 :例如,当神经元的输入始终为非负,而所有权重都被初始化为负值时,输出将为0。
- 高学习率问题 :使用高学习率时,ReLU的预激活值可能会跳到梯度为0的范围,无论输入如何。一旦神经元达到这种状态,ReLU可能对任何
深度神经网络梯度优化策略
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



