术语表

滤波器层

了解剔除层如何通过改善泛化、鲁棒性和模型性能来防止神经网络中的过度拟合。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

过拟合是一种常见问题,即模型在训练数据上表现良好,但在未见数据上表现不佳。在训练阶段,剔除层会随机 "剔除 "或停用网络中一定比例的神经元。这一过程迫使网络学习不依赖于特定神经元存在的更强大的特征,从而提高模型泛化到新的未见数据的能力。

滤波层的工作原理

在标准神经网络中,一层中的每个神经元都与上一层中的每个神经元相连。在训练过程中,这些连接会根据网络处理的数据进行加强或削弱。然而,这可能会导致网络对训练数据过于专业化,捕捉到的噪音和特定模式不能很好地泛化到新数据中。

剔除层通过在每次训练迭代时将层中的部分神经元随机设置为零来解决这一问题。剔除神经元的比例是一个超参数,通常设置在 0.2 到 0.5 之间。这意味着在每次前向和后向传递过程中,层中 20% 到 50% 的神经元将被停用。每次迭代都会改变神经元的选择,以确保网络不会过于依赖任何一个神经元。

使用滤色层的好处

摒弃层在训练深度学习模型方面具有多种优势:

  • 提高泛化能力:通过防止网络过于依赖特定的神经元,剔除层鼓励学习更强大、更通用的特征。
  • 减少过拟合:通过在训练过程中引入噪音,使模型对特定训练数据的敏感度降低,从而减少过拟合。
  • 集合效应:辍学可以被看作是对具有不同神经元子集的多个网络进行集合训练。这种集合效应将这些不同网络的预测结果平均化,从而提高整体性能。
  • 计算效率:虽然舍弃会在训练过程中带来一些开销,但它能降低整个网络的复杂度,从而加快收敛速度,提高训练效率。

现实世界中的人工智能/移动语言应用

Dropout 层广泛应用于各种深度学习应用中。下面是两个具体的例子:

  1. 图像识别图像识别任务中,例如由卷积神经网络(CNN)执行的任务中,滤波层通常用于提高模型的泛化能力。例如,在训练对图像进行分类的网络中,剔除层可以防止模型过度适应训练图像中的特定特征,从而在不同的新图像集上获得更好的性能。
  2. 自然语言处理:情感分析文本生成自然语言处理(NLP)任务中,神经元丢弃层可应用于递归神经网络(RNN)或变换器模型。通过随机丢弃神经元,模型可以学会根据各种上下文线索进行预测,从而提高其在未见文本数据上的鲁棒性和准确性。

滤除与其他正则化技术的比较

Dropout是机器学习(ML)中使用的几种正则化技术之一。以下是它与其他一些常用方法的比较:

  • L1 和 L2 正则化:这些技术根据模型权重的大小为损失函数添加惩罚项。L1 正则化通过将一些权重置零来鼓励稀疏性,而 L2 正则化则鼓励整体上较小的权重。与 dropout 不同,这些方法不涉及随机停用神经元,而是在训练过程中调整权重。
  • 早期停止:这种技术包括监控模型在验证数据集上的性能,并在性能开始下降时停止训练过程。虽然提前停止训练可以防止过度拟合,但它并不能像放弃训练那样增强对稳健特征的学习。
  • 数据扩充:这种技术包括通过对现有数据进行转换(如旋转或裁剪图像)来创建新的训练示例。数据增强增加了训练集的多样性,有助于模型更好地泛化。这种方法虽然有效,但与 dropout 提供的内部正则化相比,它是一种不同的方法。

在神经网络中实现辍学

滤波层通常被插入神经网络中的全连接层之间或卷积层之后。使用流行的深度学习框架,如 TensorFlowPyTorch.停用率决定了停用神经元的比例,它是一个超参数,可以通过调整来优化模型性能。有关更高级的模型优化技术,请探索超参数调整

在实施剔除时,需要注意的是剔除层在训练和推理时的表现是不同的。在训练过程中,神经元会如上所述被随机剔除。然而,在推理过程中,所有神经元都处于激活状态,但它们的输出会根据剔除率进行缩减,以保持预期的输出大小。这种缩放可以确保模型的预测结果在训练和推理过程中保持一致。

如需进一步阅读,可参考 Srivastava 等人撰写的有关辍学问题的原创研究论文,其中对该方法及其有效性进行了深入分析:Dropout:防止神经网络过度拟合的简单方法。您还可以进一步了解批量规范化正则化等相关概念,从而更深入地了解用于提高神经网络性能的技术。

阅读全部