ディープ ニューラル ネットワークの安定した最適化のために、ドロップアウトやバッチ正規化などの正則化手法がさまざまなタスクで使用されてきました。それにもかかわらず、ドロップアウトを適用する正しい位置が議論されることはめったになく、実践者によって異なる位置が採用されています。この研究では、ドロップアウトを適用する正しい位置を調査します。バッチ正規化を使用した残差ネットワークの場合、特定の位置にドロップアウトを適用するとパフォーマンスが向上し、他の位置にドロップアウトを適用するとパフォーマンスが低下することを示します。理論的な分析に基づいて、ドロップアウトを適用する正しい位置について次のガイドラインを提供します。最後のバッチ正規化の後、残差ブランチの最後の重みレイヤーの前に 1 つのドロップアウトを適用します。この主張を裏付ける詳細な理論的説明を提供し、モジュール テストを通じてそれらを実証します。さらに、最終的な予測を生成するヘッド内のドロップアウトの正しい位置を調査します。現在のコンセンサスは、グローバル平均プーリングの後にドロップアウトを適用することですが、グローバル平均プーリングの前にドロップアウトを適用すると、より安定した出力が得られることが証明されています。提案されたガイドラインは、さまざまなデータセットとモデルを使用した実験を通じて検証されます。
For the stable optimization of deep neural networks, regularization methods such as dropout and batch normalization have been used in various tasks. Nevertheless, the correct position to apply dropout has rarely been discussed, and different positions have been employed depending on the practitioners. In this study, we investigate the correct position to apply dropout. We demonstrate that for a residual network with batch normalization, applying dropout at certain positions increases the performance, whereas applying dropout at other positions decreases the performance. Based on theoretical analysis, we provide the following guideline for the correct position to apply dropout: apply one dropout after the last batch normalization but before the last weight layer in the residual branch. We provide detailed theoretical explanations to support this claim and demonstrate them through module tests. In addition, we investigate the correct position of dropout in the head that produces the final prediction. Although the current consensus is to apply dropout after global average pooling, we prove that applying dropout before global average pooling leads to a more stable output. The proposed guidelines are validated through experiments using different datasets and models.