敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

Dropout层

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

Dropout层是一种强大而简单的正则化技术,用于神经网络 (NN)中,以对抗过拟合。当模型过度学习训练数据(包括其噪声和特殊性)时,就会发生过拟合,这会损害其泛化到新的、未见过的数据的能力。Dropout背后的核心思想由 Geoffrey Hinton 及其同事在一篇具有开创性的 2014 年论文中提出,即在每个训练步骤中随机“dropout”——或暂时移除——神经元及其连接。这可以防止神经元过度依赖彼此,迫使网络学习更强大和冗余的表示。

Dropout 层的工作原理

模型训练过程中,dropout层随机将前一层中一部分神经元的激活值设置为零。“dropout率”是一个超参数,它定义了一个神经元被dropout的概率。例如,dropout率为0.5意味着每个神经元在给定的训练迭代中有50%的概率被忽略。这个过程可以被认为是在训练大量共享权重的精简网络。

通过不断改变网络的架构,Dropout 能够防止复杂的协同适应,即神经元的输出高度依赖于少数特定神经元的存在。相反,它鼓励每个神经元成为一个更具独立作用的特征检测器。在测试或推理阶段,Dropout 层会被关闭,所有神经元都会被使用。为了弥补比训练期间更多的神经元处于活动状态这一事实,该层的输出会按 Dropout 率进行缩减。这确保了每个神经元的预期输出在训练和测试之间保持一致。诸如 PyTorchTensorFlow 之类的框架在其 Dropout 层实现中会自动处理此缩放。

实际应用

Dropout 广泛应用于人工智能(AI)机器学习(ML)的各个领域:

  1. 计算机视觉:计算机视觉 (CV)中,dropout 帮助 Ultralytics YOLO 等模型在 目标检测图像分类实例分割等任务上表现更好。 例如,在自动驾驶系统中,dropout 可以使检测模型对光照、天气或遮挡的变化更加鲁棒,从而提高安全性和可靠性。 可以使用 Ultralytics HUB 等平台有效地管理此类模型的训练。
  2. 自然语言处理 (NLP): Dropout通常应用于诸如TransformersBERT之类的NLP模型中。在诸如机器翻译情感分析之类的应用中,dropout可以防止模型记住训练数据中的特定短语或句子结构。这可以更好地理解和生成新颖的文本,从而提高聊天机器人文本摘要工具的性能。

相关概念和区别

Dropout 是用于 深度学习 中正则化的几种技术之一。其他包括:

  • L1 和 L2 正则化: 这些方法基于模型权重的大小,向损失函数添加一个惩罚项,鼓励较小的权重以降低模型复杂度。您可以阅读更多关于 L1/L2 正则化的信息。相比之下,dropout 直接在训练期间修改网络的结构,而不仅仅是惩罚权重。
  • 批量归一化:批量归一化 (BN) 归一化层内的激活,这可以稳定训练,有时会提供温和的正则化效果,从而可能减少对强 dropout 的需求。 虽然 BN 解决了内部协变量偏移,但 Dropout 通过强制冗余直接针对模型复杂性。
  • 数据增强:旋转、缩放或裁剪图像等技术(数据增强)人为地增加了训练数据集的多样性。 这也有助于防止过度拟合并提高泛化能力。 Dropout 和数据增强通常一起使用以获得更强大的结果。

总而言之,Dropout 层是一种简单而强大的正则化技术,对于训练各种应用(从高级计算机视觉到 NLP)中的稳健深度学习模型至关重要。

加入 Ultralytics 社区

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

立即加入
链接已复制到剪贴板