3.深度神经网络存在的问题及解决方案

2021-02-24  本文已影响0人  南国_

深度神经网络面临的挑战

一、梯度消亡

梯度消亡会导致网络训练过程会非常慢。系数不再随着网络训练而变化,或者变化非常缓慢,随着网络层数的增加,这个现象越发明显。

1.梯度消亡现象存在的原因:
  1)使用了基于梯度的网络训练方法(例如梯度下降法).
  2)使用了输出值范围远远小于输入值范围的激活函数(例如logistic、tanh等)。

  tanh双曲正切曲线:
   将(-∞,+∞)的输入值,压缩到(-1,+1)范围内


tanh曲线.png

  tanh双曲正切曲线梯度变化:
   输入值在(-6,+6)范围内,梯度值才有变化;其它的输入值梯度都非常小,接近于0。


tanh曲线及导数.png

2.梯度消亡的解决方案:
  1)使用ReLu激活函数
  2)采用不实用梯度的网络训练方法
    - 基于遗产、进化算法
    - 粒子群优化

二、过拟合

 在训练数据上面的效果好,在实际的测试数据上面效果差。

1.过拟合的解决方案:
 1)DropOut
 2)L2正则
 3)L1正则化
 4)MaxNorm 最大范数约束

1)DropOut算法
 在每次网络训练过程中,随机删除部分节点数(DropOut rate),只使用部分神经元进行参数学习的方法。

 ① 训练: Dropout训练.png

 ② 预测:
 由于每次训练网络时都随机删除rate比例的节点说,所以训练出来的系数权值会偏大,在网络预测时,系数需要乘以(1-rate)。


DropOut预测.png

2)L2正则化
 L2正则化中,大多数的系数值都不为零,但系数的绝对值都比较小。

3)L1正则化
 L1正则化中,大多数的系数值都接近于零,这样使得其它系数不为零特征对输出值有更大的影响,所以可以用来做特征选择。

4)MaxNorm
 最大范数约束可以有效防止由于训练步长较大引起的过拟合问题。

 公式:
  在每一次更新系数的时候,都额外加上这一项:


最大范数约束项.png
上一篇 下一篇

猜你喜欢

热点阅读