サンドイッチバッチ正規化(SaBN)を紹介します。これは、コードを数行変更するだけで、バッチ正規化(BN)を簡単に改善できるものです。 SaBNは、データの不均一性(複数の入力ドメイン)またはモデルの不均一性(動的アーキテクチャ、モデルの条件付けなど)から発生する可能性のある、多くのタスクで識別できる固有の機能分布の不均一性に対処することによって動機付けられます。私たちのSaBNは、BNアフィン層を1つの共有サンドイッチアフィン層に分解し、いくつかの並列の独立したアフィン層によってカスケードされます。具体的な分析により、最適化中に、SaBNは、多様な勾配方向を維持しながら、バランスの取れた勾配基準を促進することが明らかになりました。これは、多くのアプリケーションタスクが好むと思われる特性です。条件付き画像生成、ニューラルアーキテクチャ検索(NAS)、敵対的トレーニング、および任意のスタイル転送の4つのタスクで、ドロップイン置換としてのSaBNの一般的な有効性を示します。 SaBNを活用すると、3つの最先端のGANを使用して、CIFAR-10およびImageNet条件付き画像生成でより優れたインセプションスコアとFIDを即座に実現できます。 NAS-Bench-201で最先端のウェイトシェアリングNASアルゴリズムのパフォーマンスを大幅に向上させます。敵対的防御のための堅牢で標準的な精度を大幅に向上させます。優れた任意の定型化された結果を生成します。また、SaBNが機能する理由を理解するのに役立つ視覚化と分析も提供します。コードはhttps://github.com/VITA-Group/Sandwich-Batch-Normalizationで入手できます。
We present Sandwich Batch Normalization (SaBN), a frustratingly easy improvement of Batch Normalization (BN) with only a few lines of code changes. SaBN is motivated by addressing the inherent feature distribution heterogeneity that one can be identified in many tasks, which can arise from data heterogeneity (multiple input domains) or model heterogeneity (dynamic architectures, model conditioning, etc.). Our SaBN factorizes the BN affine layer into one shared sandwich affine layer, cascaded by several parallel independent affine layers. Concrete analysis reveals that, during optimization, SaBN promotes balanced gradient norms while still preserving diverse gradient directions -- a property that many application tasks seem to favor. We demonstrate the prevailing effectiveness of SaBN as a drop-in replacement in four tasks: conditional image generation, neural architecture search (NAS), adversarial training, and arbitrary style transfer. Leveraging SaBN immediately achieves better Inception Score and FID on CIFAR-10 and ImageNet conditional image generation with three state-of-the-art GANs; boosts the performance of a state-of-the-art weight-sharing NAS algorithm significantly on NAS-Bench-201; substantially improves the robust and standard accuracies for adversarial defense; and produces superior arbitrary stylized results. We also provide visualizations and analysis to help understand why SaBN works. Codes are available at: https://github.com/VITA-Group/Sandwich-Batch-Normalization.