正向传播:在正向传播中,神经网络对正确的输出进行最佳猜测。 它通过其每个函数运行输入数据以进行猜测。
反向传播:在反向传播中,神经网络根据其猜测中的误差调整其参数。 它通过从输出向后遍历,收集有关函数参数(梯度)的误差导数并使用梯度下降来优化参数来实现。
梯度消失和梯度爆炸就是神经网络越来越深的过程中产生的问题
梯度消失:由于更新权重是后向传播算法,训练过程中靠近输出层的权重更新相对正常,靠近输入层的更新停滞,导致深度神经网络的结果只相当于后面几层训练的结果
梯度消失和梯度爆炸本质上是一样的,都是因为网络层数太深而引发的梯度反向传播中的连乘效应
当发生梯度消失是由于每一层权重过小,导致连续相乘过程中结果趋近0
当发生梯度消失是由于每一层权重过大,导致连续相乘过程中结果过大
常见解决方法:
换用Relu、LeakyRelu、Elu等激活函数
BatchNormalization
ResNet残差结构
LSTM结构
预训练加finetunning
梯度剪切、正则