CvT : Introduction des convolutions dans les Vision Transformers

Dans cet article, nous présentons une nouvelle architecture, nommée Convolutional Vision Transformer (CvT), qui améliore à la fois la performance et l'efficacité du Vision Transformer (ViT) en intégrant des convolutions dans l'architecture ViT, combinant ainsi les avantages des deux approches. Cette amélioration est réalisée grâce à deux modifications principales : une hiérarchie de Transformers comprenant une nouvelle embedding de tokens convolutifs, ainsi qu'un bloc Transformer convolutif exploitant une projection convolutive. Ces modifications introduisent dans l'architecture ViT des propriétés souhaitables des réseaux de neurones convolutifs (CNNs), telles que l'invariance aux décalages, aux changements d'échelle et aux distorsions, tout en préservant les avantages des Transformers, à savoir l'attention dynamique, le contexte global et une meilleure généralisation. Nous validons l'efficacité de CvT à travers des expériences approfondies, montrant que cette approche atteint des performances de pointe par rapport à d'autres Vision Transformers et ResNets sur ImageNet-1k, avec un nombre réduit de paramètres et une charge de calcul (FLOPs) plus faible. De plus, les gains de performance sont maintenus lorsque le modèle est pré-entraîné sur des jeux de données plus grands (par exemple ImageNet-22k) puis finement ajusté sur des tâches spécifiques. Pré-entraîné sur ImageNet-22k, notre modèle CvT-W24 obtient une précision top-1 de 87,7 % sur l'ensemble de validation ImageNet-1k. Enfin, nos résultats démontrent que l'encodage positionnel, un élément crucial dans les Vision Transformers existants, peut être éliminé en toute sécurité dans notre modèle, simplifiant ainsi l'architecture pour les tâches de vision à haute résolution. Le code sera publié à l'adresse suivante : \url{https://github.com/leoxiaobin/CvT}.