Self-Attention GAN (SAGAN) est une architecture de réseau antagoniste génératif introduite en 2018 par Han Zhang, Ian Goodfellow, Dimitris Metaxas et Augustus Odena. Elle améliore le cadre standard des GAN en intégrant des mécanismes d'auto-attention, qui permettent au générateur et au discriminateur de modéliser les relations entre des régions éloignées d'une image. Contrairement aux couches convolutionnelles qui traitent des voisinages locaux, les modules d'attention de SAGAN calculent des réponses comme des sommes pondérées de caractéristiques sur l'ensemble de l'étendue spatiale, répondant ainsi à la limitation des GAN convolutionnels à capturer les dépendances à longue portée pour des tâches telles que la synthèse d'images.
L'architecture s'appuie sur des travaux antérieurs sur les transformeurs et Multi-Head Attention, en adaptant ces mécanismes à la génération d'images. SAGAN a démontré des résultats de pointe sur l'ensemble de données ImageNet à une résolution de 128x128, atteignant un score d'inception de 52,52 et une distance de Fréchet sur l'inception de 18,65. Le modèle a également introduit la normalisation spectrale dans le générateur et le discriminateur, améliorant la stabilité de l'entraînement, et a utilisé une fonction de perte de type hinge pour l'entraînement antagoniste.
Mécanisme d'attention dans la génération d'images
L'innovation centrale de SAGAN est l'application de l'auto-attention aux caractéristiques d'image. La technique s'inspire de Multi-Head Attention utilisée dans les réseaux de neurones pour la modélisation de séquences, mais adaptée aux données spatiales bidimensionnelles. Dans le générateur, les modules d'attention sont placés après certains blocs convolutionnels, permettant au modèle d'apprendre des relations globales telles que l'alignement des yeux dans un visage ou la cohérence des textures à travers une scène. La sortie de l'attention est calculée comme une moyenne pondérée des valeurs de caractéristiques, où les poids sont dérivés de produits scalaires entre les vecteurs de requête et de clé, mis à l'échelle par un paramètre apprenable.
Les auteurs ont démontré que les couches d'attention améliorent à la fois la fidélité et la diversité des échantillons générés par rapport aux architectures purement convolutionnelles. Ils ont également proposé une technique appelée régularisation de l'attention, qui encourage les cartes d'attention à être diverses entre les canaux, empêchant le modèle de s'effondrer sur des motifs triviaux.
Stabilité de l'entraînement et normalisation spectrale
Le modèle intègre Batch Normalization dans le générateur et Layer Normalization dans le discriminateur, mais surtout, il applique une normalisation spectrale à chaque couche des deux réseaux. La normalisation spectrale, introduite précédemment pour les GAN en 2018 par Takeru Miyato et al., contraint la constante de Lipschitz du réseau en normalisant la norme spectrale de chaque matrice de poids. Cette technique de stabilisation permet à SAGAN de s'entraîner avec des taux d'apprentissage plus élevés et moins d'instances d'effondrement de mode, un mode de défaillance courant dans les GAN.
Les auteurs ont également utilisé une perte de type hinge pour le discriminateur et une règle de mise à jour à deux échelles de temps (TTUR) pour l'optimiseur Adam, définissant des taux d'apprentissage différents pour le générateur et le discriminateur. Ces choix ont contribué à une convergence plus rapide et à une meilleure qualité des échantillons.
Performance sur ImageNet et comparaisons
SAGAN a été évalué sur l'ensemble de données ImageNet à des résolutions de 128x128 et 256x256, produisant des échantillons visuellement plausibles dans diverses classes. À 128x128, il a atteint un score d'inception de 52,52, une amélioration significative par rapport aux modèles de pointe antérieurs tels que les GAN progressifs (43,20) et les GAN à normalisation spectrale (48,62). Le modèle a également montré une FID réduite par rapport aux références, indiquant une meilleure similarité distributionnelle avec les images réelles.
L'efficacité de l'attention a été démontrée par des expériences contrôlées, où les modèles sans couches d'attention produisaient des images moins cohérentes, en particulier dans des catégories avec des structures spatiales complexes comme les oiseaux et les chiens. Les résultats suggèrent que l'auto-attention est cruciale pour générer des textures et des poses d'objets réalistes.
Influence et travaux ultérieurs
SAGAN a influencé les travaux ultérieurs dans Generative AI et la synthèse d'images. Son mécanisme d'attention a été adopté dans BigGAN, qui a combiné l'architecture de SAGAN avec des tailles de lots plus grandes et un entraînement conditionnel par classe pour atteindre une qualité d'image encore plus élevée. L'idée d'utiliser l'attention dans les générateurs a également informé les recherches ultérieures sur les modèles de diffusion, où les couches d'attention sont standard dans les réseaux de débruitage modernes.
L'article a été présenté à la Conférence internationale sur l'apprentissage automatique (ICML) en 2019 et a été largement cité. Il a contribué à la compréhension plus large que les mécanismes d'attention, initialement développés pour les tâches Sequence-to-Sequence (Seq2Seq), peuvent être efficacement transférés aux domaines spatiaux.
Limites et considérations computationnelles
Les couches d'auto-attention ont une complexité computationnelle quadratique par rapport à la résolution spatiale, ce qui les rend coûteuses pour les images haute résolution. Les expériences de SAGAN ont été limitées à une résolution de 256x256 en raison des contraintes de mémoire. Des travaux ultérieurs ont proposé des variantes d'attention efficaces, telles que l'attention sparse ou factorisée, pour résoudre ce problème d'évolutivité. De plus, bien que SAGAN ait amélioré la cohérence globale, il rencontrait encore des difficultés avec les détails fins dans des scènes complexes, une limitation que les architectures plus récentes ont partiellement surmontée.
Malgré ces défis, SAGAN reste une contribution fondamentale au domaine du Deep learning pour la vision, démontrant que l'attention peut compléter les opérations convolutionnelles pour obtenir des modèles génératifs plus puissants.