神经网络防止过拟合的8种优化方法

1. 获取更多的数据。

最直观有效的方法,有了足够的数据网络也不太容易过拟合。

2. 数据增强。

复制现有数据并加随机噪声,重采样等,在图像领域我们可以进行不同角度旋转,平移变换,随机裁剪,中心裁剪,模糊等。

3. 参数正则化(权值衰减)在损失和模型复杂度之间进行折中,可以采用L1和L2,其中L1采用的是拉普拉斯先验,倾向于聚焦网络的权值在相对少量的高重要连接上,而其他权重就会趋向于0,而L2正则采用的是高斯先验。

4. Dropout

它不改变网络本身,而是随机地删除网络中的一般隐藏的神经元,并且让输入层和输出层的神经元保持不变。每次使用梯度下降时,只使用随机的一般神经元进行更新权值和偏置,因此我们的神经网络是在一半的隐藏神经元被丢弃的情况下学习的。

可以理解为,当dropout不同神经元集合时,有点像在训练不同的神经网络。而不同的神经网络会以不同的方式过拟合,所以dropout就类似于不同的神经网络以投票的方式降低过拟合。

5. 选择合适的网络结构

减少网络层数,神经元个数,全连接层数等降低网络容量。

6. Early stopping

因为在初始化网络的时候一般初始化较小的权值,训练时间越长,部分网络权值可能越大。如果我们在合适的时间停止训练,就可以将网络的能力限制在一定的范围内。

7. 模型组合

将弱分类器融合之后形成一个强分类器,而且融合之后的效果会比最后的弱分类器效果更好。

8. batchnormallization

可以让大型的卷积神经网络训练速度加快很多倍,同时收敛后分类的准确率也可以大幅度提高。BN在训练某层时,会对每一个mini-batch数据进行标准化处理,减少了内部神经元分布的改变。

本文为CSDN博主「爱学习的人工智障」的原创文章,
遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38410551/article/details/89203717

推荐阅读