3 个月前

在带有批量归一化(Batch Normalization)的残差网络中如何正确使用 Dropout

在带有批量归一化(Batch Normalization)的残差网络中如何正确使用 Dropout

摘要

在深度神经网络的稳定优化中,正则化方法如Dropout和批量归一化(batch normalization)已被广泛应用于各类任务。然而,关于Dropout的正确应用位置,目前仍缺乏系统性的讨论,实际应用中不同研究者根据经验选择不同的插入位置。本研究系统探究了Dropout的最优应用位置。研究发现,在包含批量归一化的残差网络(Residual Network)中,将Dropout置于某些特定位置可提升模型性能,而置于其他位置则可能导致性能下降。基于理论分析,本文提出以下关于Dropout正确应用位置的指导原则:在残差分支中,应在最后一个批量归一化层之后、最后一个权重层之前应用一次Dropout。我们提供了详尽的理论推导以支持该结论,并通过模块化实验进行了验证。此外,本文还研究了用于生成最终预测结果的网络头部(head)中Dropout的最优位置。尽管当前普遍做法是在全局平均池化(global average pooling)之后应用Dropout,但我们证明:在全局平均池化之前应用Dropout,能够获得更为稳定的输出结果。上述提出的指导原则已在多种数据集和模型上通过实验得到验证,结果表明其具有良好的泛化能力与实用性。

代码仓库

基准测试

基准方法指标
fine-grained-image-classification-on-caltechPreResNet-101
Top-1 Error Rate: 15.8036%
fine-grained-image-classification-on-oxford-2PreResNet-101
Accuracy: 85.5897
image-classification-on-cifar-10PreResNet-110
Percentage correct: 94.4367
image-classification-on-cifar-100PreResNet-110
Percentage correct: 73.98
image-classification-on-imagenetDenseNet-169 (H4*)
Top 1 Accuracy: 79.152%

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
在带有批量归一化(Batch Normalization)的残差网络中如何正确使用 Dropout | 论文 | HyperAI超神经