Sandwich-Batch-Normalisierung: Eine Plug-and-Play-Ersatzlösung für die Heterogenität der Merkmalsverteilung

Wir präsentieren Sandwich Batch Normalization (SaBN), eine äußerst einfache Verbesserung von Batch Normalization (BN), die lediglich wenige Zeilen Codeänderungen erfordert. SaBN wird motiviert durch die Behandlung der inhärenten Heterogenität der Merkmalsverteilung, die in vielen Aufgaben identifiziert werden kann und sich aus Datenheterogenität (mehrere Eingabedomänen) oder Modellheterogenität (dynamische Architekturen, Modellbedingung usw.) ergeben kann. Unsere SaBN-Faktorisierung zerlegt die affine Schicht von BN in eine gemeinsam genutzte Sandwich-affine Schicht, gefolgt von mehreren parallelen unabhängigen affinen Schichten. Eine konkrete Analyse zeigt, dass SaBN während der Optimierung gleichmäßige Gradienten-Normen fördert, gleichzeitig jedoch diverse Gradientenrichtungen beibehält – eine Eigenschaft, die viele Anwendungsaufgaben offensichtlich bevorzugen. Wir demonstrieren die überlegene Wirksamkeit von SaBN als direktes Ersatzmodul in vier Aufgaben: bedingte Bildgenerierung, neuronale Architektursuche (NAS), adversariales Training und beliebige Stilübertragung. Durch die Verwendung von SaBN erreicht man sofort bessere Inception-Scores und FID-Werte bei der bedingten Bildgenerierung auf CIFAR-10 und ImageNet mit drei state-of-the-art GANs; die Leistung eines state-of-the-art Gewichtsteilungs-NAS-Algorithmus wird auf NAS-Bench-201 erheblich verbessert; die Robustheits- und Standardgenauigkeit im Bereich adversarial defense wird signifikant gesteigert; zudem werden überlegene Ergebnisse bei beliebiger Stilübertragung erzielt. Zudem liefern wir Visualisierungen und Analysen, um zu erklären, warum SaBN funktioniert. Der Quellcode ist unter folgender Adresse verfügbar: https://github.com/VITA-Group/Sandwich-Batch-Normalization.