Understanding the Disharmony Between Dropout and Batch Normalization by Variance Shift

Abstract

This paper first answers the question "why do the two most powerful techniques Dropout and Batch Normalization (BN) often lead to a worse performance when they are combined together in many modern neural networks, but cooperate well sometimes as in Wide ResNet (WRN)?" in both theoretical and empirical aspects. Theoretically, we find that Dropout shifts the variance of a specific neural unit when we transfer the state of that network from training to test. However, BN maintains its statistical variance, which is accumulated from the entire learning procedure, in the test phase. The inconsistency of variances in Dropout and BN (we name this scheme "variance shift") causes the unstable numerical behavior in inference that leads to erroneous predictions finally. Meanwhile, the large feature dimension in WRN further reduces the "variance shift" to bring benefits to the overall performance. Thorough experiments on representative modern convolutional networks like DenseNet, ResNet, ResNeXt and Wide ResNet confirm our findings. According to the uncovered mechanism, we get better understandings in the combination of these two techniques and summarize guidelines for better practices.

Cite

Text

Li et al. "Understanding the Disharmony Between Dropout and Batch Normalization by Variance Shift." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019. doi:10.1109/CVPR.2019.00279

Markdown

[Li et al. "Understanding the Disharmony Between Dropout and Batch Normalization by Variance Shift." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019.](https://mlanthology.org/cvpr/2019/li2019cvpr-understanding/) doi:10.1109/CVPR.2019.00279

BibTeX

@inproceedings{li2019cvpr-understanding,
  title     = {{Understanding the Disharmony Between Dropout and Batch Normalization by Variance Shift}},
  author    = {Li, Xiang and Chen, Shuo and Hu, Xiaolin and Yang, Jian},
  booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  year      = {2019},
  doi       = {10.1109/CVPR.2019.00279},
  url       = {https://mlanthology.org/cvpr/2019/li2019cvpr-understanding/}
}