一、解决方案
1.选择合适的激活函数
不建议使用sigmoid和tanh函数,导数非常小,容易导致梯度消散。
2.选择合适的参数初始化方法
3.使用权重参数正则化
4.使用BatchNormalization
(1)通过规范化操作将输出信号x规范化到均值为0、方差为1,保证网络的稳定性
(2)可以加大神经网络训练的速度
(3)提高训练的稳定性
(4)缓解梯度爆炸和梯度消散的问题
5.使用残差结构
跨层连接,梯度绕圈传入。
(1)极大地提高了神经网络的深度
(2)很大程度上解决了梯度消散的问题
(3)允许我们可以训练很深层的神经网络
(4)残差结构可以看作解决梯度消散问题的最有效的、最重要的方法
6.使用梯度裁剪