当前位置: 首页 > 科技观察

在神经网络中避免过度拟合的5种技术

时间:2023-03-13 23:37:25 科技观察

本文介绍了在训练神经网络中避免过度拟合的5种技术。去年我一直在深度学习领域工作。在此期间,我接触过许多神经网络,例如卷积神经网络、递归神经网络、自动编码器等。我遇到的最常见问题之一是深度神经网络在训练过程中过度拟合。当模型试图预测噪声数据中的趋势时,可能会导致过度拟合,因为模型参数过多且过于复杂。过度拟合模型通常是不准确的,因为这种预测趋势并不能反映数据的真实状态。我们可以通过模型在已知数据(训练集)中预测结果良好,但在未知数据(测试集)中表现不佳来判断是否存在过拟合。机器学习模型的目的是从训练集很好地泛化到问题域中的任何数据集,因为我们希望模型能够预测未知数据。在本文中,我将展示在训练神经网络时避免过度拟合的5种技术。1.简化模型处理过拟合的第一步是降低模型的复杂度。为了降低复杂性,我们可以简单地删除层或减少神经元的数量来使网络变小。同时,计算神经网络中不同层的输入和输出维度也很重要。虽然对于删除的层数或神经网络的大小没有一般规则,但如果您的神经网络过度拟合,请尝试减小其大小。2.EarlystoppingEarlystopping是使用迭代方法(如梯度下降)训练模型时的一种正则化形式。由于所有神经网络都是通过梯度下降来学习的,因此提前停止是一种适用于所有问题的通用技术。使用此方法更新模型,使其在每次迭代时更好地拟合训练集。在某种程度上,这种方法可以提高模型在测试集上的性能。但除此之外,提高模型对训练集的拟合度会增加泛化误差。提前停止规则指定模型在过度拟合之前可以迭代多少次。提前停止上图展示了这种技术。正如我们所见,经过几次迭代后,测试误差开始增加,尽管训练误差仍在下降。3.使用数据增强在神经网络中,数据增强仅仅意味着增加数据大小,即增加数据集中的图像数量。一些流行的图像增强技术是翻转、平移、旋转、缩放、改变亮度、添加噪声等。如需更全面的参考,请访问:Albumentations:https://github.com/albumentations-team/albumentationsImgaug:https://github.com/aleju/imgaug数据增广如上图所示,使用数据增广可以生成多幅相似图像。这可以帮助我们增加数据集大小并减少过度拟合。因为随着数据量的增加,模型不可能对所有的样本都过拟合,所以不得不泛化。四、使用正则化正则化是一种降低模型复杂度的方法。它通过在损失函数中加入惩罚项来实现正则化。最常见的技术是L1和L2正则化:L1惩罚项的目的是最小化权重的绝对值。公式如下:L1正则化L2惩罚项的目的是最小化权重的平方。公式如下:L2正则化下表对两种正则化方法进行了比较。L1正则化L2正则化1.L1惩罚权重绝对值之和1.L2惩罚平方权重之和2.L1生成简单、可解释的模型2.L2正则化能够学习复杂的数据模式3.L1受极值影响较小3.L2受极值影响较大L1正则化vsL2正则化那么哪种方法更有利于避免过拟合呢?答案是——这取决于。如果数据太复杂而无法准确建模,L2是更好的选择,因为它能够学习数据中存在的内在模式。而当数据简单到可以准确建模时,L1更合适。对于我遇到的大多数计算机视觉问题,L2正则化几乎总能提供更好的结果。然而,L1不易受异常值的影响。所以正确的正则化选项取决于我们要解决的问题。5、使用dropout方法(Dropouts)dropout方法是一种正则化技术,可以避免神经网络的过拟合。L1和L2等正则化技术通过修改成本函数来减少过度拟合。dropout方法修改了神经网络本身。它在每次训练迭代期间随机丢弃神经网络中的神经元。当我们丢弃不同的神经元集合时,相当于训练了不同的神经网络。不同的神经网络会以不同的方式过拟合,因此dropout的净效果将是减少过拟合的发生。使用dropout方法如上图所示,dropout方法是在神经网络的训练过程中,随机丢弃神经网络中的神经元。该技术已被证明可以减少许多问题的过度拟合,包括图像分类、图像分割、词嵌入、语义匹配等。结论简要回顾以上内容,我解释了什么是过度拟合以及为什么它是神经网络中的常见问题。接下来,我给出了神经网络训练过程中最常用的五种避免过拟合的方法——简化模型、提前停止、数据增强、正则化和丢弃方法。