咸鱼自默自整理。
梯度消失:
根据链式法则,上一层输出的偏导和权重的乘积小于1,多层传播之后乘积会非常小,靠近输入层的调整会非常微弱。
梯度爆炸:
上一层输出的偏导和权重的乘积大于1,多层传播后乘积太大。
解决办法:
1.梯度裁剪,正则化:裁剪是大于阈值就置阈值,正则化限制权重大小。
2.batchnorm:对每一层的输出都做标准化,限制均值和方差;
3.预训练微调:逐层预训练,全局微调,即先找局部最优,最后找全局最优。
4.relu,leakrelu等激活函数:relu能够使得激活函数的导数为1。
5.残差结构
6.LSTM
relu优点:解决了梯度消失爆炸的问题;计算方便速度快;加速网络的训练。
缺点:负数恒为0.一些神经元无法激活(设置小的学习率可以改善);输出不是以0为中心。
初始化权重过小或过大会导致梯度消失或爆炸。
因此两个办法:激活的平均值应为0;激活的方差应该在每一层保持不变。
参考链接:
https://mp.weixin.qq.com/s?src=11×tamp=1558490343&ver=1621&signature=Q0WglxrRtdraJcB91LHJ9vhPEAXoINW8HTVGzYPjzwmTcPFFAWhApNVjvdwdOmHPvw7XBI2ibWedtvH1va1yZJ7gIAwWesBnmBxhQf*jBZJm-qsi2n62AtjapwIH&new=1