深圳Yolo 视觉
深圳
立即加入
词汇表

Dropout层

了解 Dropout 层如何通过提高泛化能力、鲁棒性和模型性能来防止神经网络中的过拟合。

滤波层是一种基本的 正则化技术 神经网络 (NN)中使用的基本正则化技术,用于防止常见的 过拟合问题。当一个模型在一个数据集上进行训练时、 它有可能学习到训练数据中的噪音和特定细节 而不是潜在的一般模式。 模式。这种记忆会导致模型在未见过的新数据上表现不佳。Dropout 可以通过随机 在训练过程中的每一步,都会随机停用或 "丢弃 "层中的部分神经元。 这一简单而有效的策略是这一简单而有效的策略是 Geoffrey Hinton 和他的同事在一篇开创性的研究论文中提出。 的一篇开创性研究论文中提出,极大地推动了 深度学习 (DL) 领域的重大进展。

滤色层的功能

辍学层背后的机制简单而强大。在 在模型训练阶段 根据指定的概率生成 0 和 1 的掩码,该概率称为滤除率。如果该比率设置为 0.5、 在前向和后向传递过程中,约 50%的神经元会被暂时忽略。这就迫使 这样就迫使剩余的活跃神经元独立地学习稳健特征,从而防止网络过度依赖任何一个神经元。 过于依赖任何一个神经元,这种现象被称为 共同适应

推理或测试阶段,滤波层通常是关闭的。 在推理或测试阶段,通常会关闭剔除层。所有神经元都处于激活状态,以充分发挥训练模型的能力。为了确保总激活值与训练阶段保持一致 为确保总激活值与训练阶段保持一致,权重通常由框架自动缩放。 由框架自动调整。现代库,如 PyTorch等现代库在其 dropout 实现无缝地处理这些操作。

对于 ultralytics 软件包,将 dropout 应用于像 YOLO11 就像调整训练参数一样简单。

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on a dataset with a custom dropout rate of 0.2
# This helps prevent overfitting on smaller datasets
results = model.train(data="coco8.yaml", epochs=10, dropout=0.2)

实际应用

Dropout 在人工智能(AI)的各个领域都不可或缺。 人工智能 (AI) 由于大量参数或数据有限,模型容易过度拟合。

  1. 计算机视觉在诸如 图像分类和 在图像分类和物体检测等任务中 更好地适应现实世界的各种环境。例如,在 汽车人工智能解决方案中,为识别行人而训练的视觉模型 识别行人的视觉模型必须在不同的天气条件和光线下可靠地运行。滤除可确保 模型专注于基本形状和特征,而不是记住基准数据集中的特定背景纹理。 基准数据集中的特定背景纹理。
  2. 自然语言处理 (NLP):脱落(Dropout)是自然语言处理(NLP)中的一个标准组件。 Transformer架构中的标准组件。 大型语言模型 (LLM)。当 训练机器翻译或情感分析模型时 在训练机器翻译或情感分析模型时 网络过度依赖特定的单词序列,从而鼓励其捕捉更深层次的语义和语法结构。 语法结构。

与相关概念的区别

了解滤除技术与其他技术的不同之处,对于有效的 超参数调整至关重要。

  • 删除与数据扩充:这两种方法都能提高泛化效果、 数据扩增的原理是通过旋转和缩放等变换 通过旋转和缩放等变换来扩大训练集。相比之下,Dropout 网络架构本身进行动态修改。通常情况下,这两种方法是结合在一起的;例如、 YOLO 数据增强与 同时使用,以最大限度地提高模型的鲁棒性。
  • 丢弃与批量归一化批量归一化将每一层的输入归一化,以稳定学习过程,提高学习率。 以稳定学习过程并提高学习率。虽然它有轻微的正则化效果 效果,但其主要目标是优化速度和稳定性,而剔除的明确目的是降低模型的复杂性。 复杂性。
  • 丢弃与权重衰减(L2 正则化):权重衰减会在损失函数中添加一个惩罚项 损失函数中添加一个与权重大小成正比的惩罚项 权重的大小成正比的惩罚项,使权重趋于零。而权重衰减则会产生 集合效应。 子网络,提供不同角度正则化。 正则化。有关这些差异的更多信息,请参阅 斯坦福 CS231n 课程笔记

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入