Dropout
一种在训练期间随机停用神经元的正则化技术,通过隐式训练子网络集成来防止共适应并减少过拟合。
Dropout 是一种正则化技术,在每个训练步骤中随机将一部分神经元激活值设为零。由 Srivastava 等人于 2014 年提出,它通过减少神经元之间的共适应来防止过拟合。被丢弃的神经元在该迭代的前向和反向传播中均被排除。
直觉上,Dropout 在每个小批量上训练不同的子网络,近似于指数级数量子网络的集成。推理时所有神经元都处于活跃状态,输出按 (1 - 丢弃率) 缩放。现代实现使用反向 Dropout,在训练时进行缩放。
- 丢弃率选择:全连接层常用 0.5,卷积层常用 0.1-0.3。较高的丢弃率适合较小的数据集
- 空间 Dropout:丢弃整个特征图通道而非单个激活值,尊重卷积特征的空间相关结构
- DropPath(随机深度):在 ResNet 和 Vision Transformer 的训练中随机跳过整个残差块,稳定深层网络的优化
随着批归一化的普及,Dropout 在 CNN 中的使用有所减少,因为两者都提供正则化。但 Dropout 在全连接层和 Transformer 中仍是标准做法。近期扩展包括 DropKey(应用于注意力权重)和 R-Drop(强制 Dropout 掩码间的输出一致性)。