Understanding the Disharmony between Dropout and Batch Normalization by Variance Shift
This addresses a practical problem for deep learning practitioners by explaining and potentially fixing a common performance drop when using two key techniques together, though it is incremental as it builds on existing methods.
The paper investigates why combining Dropout and Batch Normalization often degrades performance, identifying a 'variance shift' issue where Dropout alters variance during train-test transfer while BN maintains it, leading to unstable inference and more errors. Experiments on networks like DenseNet and ResNet confirm this, and strategies to modify Dropout are explored to mitigate the problem.
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 both theoretical and statistical aspects. Theoretically, we find that Dropout would shift the variance of a specific neural unit when we transfer the state of that network from train to test. However, BN would maintain its statistical variance, which is accumulated from the entire learning procedure, in the test phase. The inconsistency of that variance (we name this scheme as "variance shift") causes the unstable numerical behavior in inference that leads to more erroneous predictions finally, when applying Dropout before BN. Thorough experiments on DenseNet, ResNet, ResNeXt and Wide ResNet confirm our findings. According to the uncovered mechanism, we next explore several strategies that modifies Dropout and try to overcome the limitations of their combination by avoiding the variance shift risks.