Le Swin Transformer est un type d'architecture de transformeur visuel conçu pour les tâches de vision par ordinateur. Il a été introduit en 2021 par des chercheurs de Microsoft Research Asia et de l'Université Carnegie Mellon. Le nom « Swin » signifie Shifted Window (fenêtre décalée), en référence à son mécanisme central de calcul de l'auto-attention dans des fenêtres locales non chevauchantes qui se décalent entre les couches consécutives. Cette conception permet au modèle de capturer efficacement les informations visuelles locales et globales, en remédiant à une limitation clé des premiers transformeurs visuels qui calculaient l'attention globalement sur l'ensemble de l'image, ce qui augmentait de manière quadratique avec la résolution de l'image.
Contrairement aux transformeurs standard initialement développés pour le traitement du langage naturel, le Swin Transformer intègre une structure hiérarchique similaire aux réseaux de neurones convolutifs. Il construit des cartes de caractéristiques à plusieurs échelles, en commençant par des patchs à haute résolution et en les fusionnant progressivement en représentations de dimension supérieure et de résolution inférieure. Cette conception hiérarchique le rend adapté à une large gamme de tâches de vision, notamment la classification d'images, la détection d'objets et la segmentation sémantique, et lui permet de servir de backbone polyvalent pour divers modèles de vision par ordinateur.
Architecture
Le Swin Transformer traite une image d'entrée en la divisant d'abord en patchs non chevauchants, généralement de taille 4x4 pixels. Chaque patch est aplati et intégré linéairement dans un vecteur de caractéristiques. Le modèle applique ensuite une série d'étapes, chacune composée de plusieurs blocs Swin Transformer. Dans chaque bloc, l'auto-attention est calculée dans des fenêtres locales de taille fixe, comme des patchs de 7x7. Cette attention locale réduit la complexité computationnelle de quadratique à linéaire par rapport à la taille de l'image.
Pour permettre l'échange d'informations entre les fenêtres, l'architecture alterne entre deux types de blocs : un bloc standard basé sur des fenêtres et un bloc à fenêtres décalées. Dans le bloc à fenêtres décalées, le partitionnement des fenêtres est décalé d'un certain nombre de patchs, permettant au modèle de prêter attention aux régions voisines qui se trouvaient auparavant dans des fenêtres différentes. Ce mécanisme de décalage est crucial pour modéliser les dépendances à longue portée tout en maintenant l'efficacité. Entre les étapes, une couche de fusion de patchs réduit la résolution spatiale d'un facteur deux et augmente la dimension des caractéristiques, créant une pyramide de caractéristiques hiérarchique.
Caractéristiques clés
Le Swin Transformer introduit plusieurs innovations qui le distinguent des premiers transformeurs visuels. L'approche des fenêtres décalées permet un calcul efficace tout en permettant la modélisation du contexte global à travers des couches successives. L'architecture hiérarchique fournit des cartes de caractéristiques multi-échelles, essentielles pour des tâches comme la détection d'objets et la segmentation où les objets apparaissent à différentes échelles. De plus, le modèle utilise un encodage positionnel relatif, ce qui l'aide à mieux généraliser à différentes résolutions d'entrée que les encodages positionnels absolus.
Une autre caractéristique importante est sa flexibilité en tant que réseau backbone. Le Swin Transformer peut être intégré dans des cadres de vision par ordinateur existants, tels que les architectures de style réseau résiduel ou les réseaux de pyramides de caractéristiques, avec une modification minimale. Cela en a fait un choix populaire pour de nombreuses applications en aval, de l'imagerie médicale à la conduite autonome.
Performance et impact
Dans son article original, le Swin Transformer a atteint des résultats de pointe sur plusieurs benchmarks. Il a atteint une précision top-1 de 84,0 % sur la classification ImageNet-1K, surpassant les transformeurs visuels et les réseaux convolutifs précédents. Sur le jeu de données de détection d'objets COCO, il a atteint une AP de boîte de 51,9 avec un détecteur Mask R-CNN, et sur la segmentation sémantique ADE20K, il a atteint 53,5 mIoU. Ces résultats ont démontré qu'une architecture purement basée sur les transformeurs pouvait rivaliser avec ou dépasser les performances des modèles convolutifs bien établis.
Le Swin Transformer a eu un impact significatif sur le domaine de la vision par ordinateur. Il a inspiré une famille de modèles, y compris Swin Transformer V2, qui a résolu les problèmes de stabilité d'entraînement et a mis à l'échelle le modèle à des capacités plus grandes. Il a également influencé la conception d'autres transformeurs visuels hiérarchiques et de modèles hybrides combinant des mécanismes convolutifs et d'attention. L'architecture a été largement adoptée dans la recherche et l'industrie, en particulier pour les tâches nécessitant des entrées à haute résolution ou une extraction de caractéristiques multi-échelles.
Applications
Le Swin Transformer a été appliqué à une gamme diversifiée de problèmes de vision par ordinateur. En imagerie médicale, il a été utilisé pour la segmentation de tumeurs, la classification de maladies et la reconstruction d'images. En télédétection, il aide à la classification de la couverture terrestre et à la détection d'objets dans l'imagerie satellite. Le modèle sert également de backbone dans les tâches de compréhension vidéo, où il traite les données spatio-temporelles en traitant les images comme des dimensions supplémentaires. Son efficacité et sa précision le rendent adapté aux applications en temps réel sur des appareils de périphérie, et il a été intégré dans des cadres comme PyTorch et TensorFlow pour un déploiement facile.
Variantes et extensions
Plusieurs variantes du Swin Transformer ont été développées pour répondre à des besoins spécifiques. Swin Transformer V2, publié en 2021, a introduit des améliorations telles que la post-normalisation résiduelle et l'attention cosinus pour améliorer la stabilité d'entraînement des modèles à grande échelle. Il a également proposé un biais de position relative continu à espacement logarithmique pour mieux gérer les résolutions d'entrée variables. D'autres extensions incluent Swin-Unet, qui adapte l'architecture pour la segmentation d'images médicales, et SwinIR, conçu pour des tâches de restauration d'images comme la super-résolution et le débruitage. Ces variantes démontrent l'adaptabilité du concept de fenêtres décalées à différents domaines de problèmes.
Limitations
Malgré ses forces, le Swin Transformer présente certaines limitations. La taille de fenêtre fixe peut ne pas être optimale pour toutes les images, et le mécanisme de fenêtres décalées ajoute de la complexité à l'implémentation. Par rapport aux réseaux convolutifs, les transformeurs nécessitent généralement plus de données et de ressources computationnelles pour un entraînement à partir de zéro. Le modèle repose également sur auto-attention multi-têtes, qui peut être gourmande en mémoire pour des entrées à très haute résolution, bien que la conception de fenêtres locales atténue ce problème. Les chercheurs ont continué à explorer des moyens de relever ces défis, conduisant à d'autres innovations dans la conception de transformeurs visuels efficaces.