梯度消失
深层神经网络训练中的常见问题,当使用Sigmoid、Tanh等激活函数时,梯度(训练信号)在反向传播过程中层层衰减,导致深层网络参数几乎无法更新,是早期深层网络难以训练的主要原因。ReLU激活函数的出现有效缓解了这一问题。
核心事实
时间轴 (近 90 天)
使用Sigmoid激活函数的深层网络容易遭遇梯度消失问题,导致早期层难以学习。
过大的权重可能导致Sigmoid激活函数饱和,引发梯度消失。
当隐藏维度dk较大时,注意力原始得分数值可能飙升至20、30甚至更高,直接输入softmax会导致输出饱和、梯度消失。
检测梯度消失的可操作方法是监控各层权重更新量比率,若深层更新幅度比浅层大出若干数量级则可能正在发生
Sigmoid函数的导数最大值仅为0.25,经过数十层连乘后梯度会指数级衰减
梯度消失问题由Hochreiter在1991年和Bengio等人在1994年正式分析
当链式法则连乘的因子持续小于1时梯度指数衰减(消失),持续大于1时指数增长(爆炸)
全部知识事实 (10)
RNN存在梯度消失/爆炸问题,梯度跨越大量时间步传递时会指数级衰减或膨胀,导致难以学习远距离依赖
75%已验证梯度消失问题源于Sigmoid或Tanh等饱和激活函数在输入值较大或较小时导数趋近于零,导致梯度逐层衰减
70%已验证梯度消失是深层神经网络中梯度值在反向传播过程中指数级衰减,导致靠近输入层的参数几乎得不到更新
70%待验证当链式法则连乘的因子持续小于1时梯度指数衰减(消失),持续大于1时指数增长(爆炸)
60%待验证使用Sigmoid激活函数的深层网络容易遭遇梯度消失问题,导致早期层难以学习。
50%待验证过大的权重可能导致Sigmoid激活函数饱和,引发梯度消失。
50%待验证当隐藏维度dk较大时,注意力原始得分数值可能飙升至20、30甚至更高,直接输入softmax会导致输出饱和、梯度消失。
50%待验证检测梯度消失的可操作方法是监控各层权重更新量比率,若深层更新幅度比浅层大出若干数量级则可能正在发生
50%待验证Sigmoid函数的导数最大值仅为0.25,经过数十层连乘后梯度会指数级衰减
50%待验证梯度消失问题由Hochreiter在1991年和Bengio等人在1994年正式分析
50%