Les Transformers vont-ils s’imposer dans la vision artificielle ?

  • Scal[ia]

    23 février 2022

Une des avancées les plus révolutionnaires des dernières années en apprentissage profond a été l’introduction des architectures du type Transformers, comme BERT er GPT, qui ont eu un très fort succès sur des tâches de traitement du langage naturel (NLP).

Cet énorme succès dans le domaine du langage a conduit les chercheurs à étudier leur adaptation à la vision par ordinateur, ce qui a mené au développement des Vision Transformers (ViT) et d’autres modèles dérivés, qui ont récemment démontré des résultats prometteurs sur certaines tâches de vision artificielle. En effet, les Transformers peuvent utiliser efficacement beaucoup plus de mémoire que les architectures CNN (Convolutional Neural Networks), normalement utilisées en vision artificielle, et sont beaucoup plus puissants lorsqu’il s’agit de traiter des tâches complexes. Cela est dû au fait que le fonctionnement des Transformers se base sur l’utilisation du mécanisme de l’auto-attention, qui permet de traiter simultanément les différents éléments constitutifs de l’entrée (pixels de l’image, mots d’une phrase) ainsi que leurs interrelations. Au contraire, les CNN fonctionnent de manière beaucoup plus localisée, utilisant de petits filtres pour compresser les informations.

transformers

Malgré cela, ce domaine du Deep Learning est toujours dominé par les modèles CNN de plus en plus sophistiqués et performants. En effet, plusieurs difficultés existent dans la conception et le développement d’architectures Transformers performantes et suffisamment générales, afin de pouvoir être utilisées sur différentes tâches de vision artificielle de la même manière que des modèles comme BERT ou GPT peuvent être adaptés à plusieurs tâches de NLP. Les défis liés à l’adaptation des Transformers du langage à la vision sont provoqués par des différences intrinsèquement présentes entre les deux domaines. Une de ces différences est la résolution de l’information. En effet, la résolution, c’est-à-dire le nombre d’éléments, est beaucoup plus élevée pour les pixels constituant les images par rapport aux mots dans les phrases d’un texte. Cela est problématique car il existe de nombreuses tâches de vision telles que la segmentation sémantique qui nécessitent une prédiction dense au niveau du pixel, et cela serait impossible à réaliser pour des Transformers classiques sur des images en haute résolution, car la complexité de calcul associée au mécanisme d’auto-attention est quadratique à la taille de l’image, ce qui ferait exploser le temps de calcul.

Pour résoudre ce problème, dans ce papier les auteurs proposent la nouvelle architecture appelée Swin Transformer. Par rapport aux modèles ViT précédents, Swin Transformer introduit une amélioration capable de réduire la complexité de l’opération d’auto-attention de quadratique à linéaire. En effet, au lieu de calculer l’auto-attention sur toutes les patches dans lesquelles l’image est décomposée (en gris dans l’image suivante), elle est calculée seulement entre les patches qui sont regroupés dans la même fenêtre (window, en rouge dans l’image).

Par contre, cela réduirait le caractère global du traitement de l’information typique des Transformers, en le contraignant à l’échelle d’une fenêtre, en réduisant un des avantages principaux des ViT par rapport aux CNN. Pour contourner cet inconvénient, les auteurs proposent de modifier la configuration des fenêtres d’une couche du réseau de neurones à la suivante, comme monté dans l’image suivante. Cela permet de créer des connexions entre fenêtres, en permettant l’apparition de relations de pixels distants, tout en gardant l’efficacité de calcul de cette architecture localisée. Malheureusement, ces relations à longue portée n’apparaissent qu’avec les fenêtres voisines, ainsi perdant les relations à très longue portée.

De plus, la même équipe de recherche a présenté, en novembre 2021, Swin Transformer V2, une version améliorée de l’architecture plus scalable, qui peut monter jusqu’à trois milliards de paramètres, et qui peut être entrainée avec des images d’une résolution allant jusqu’à 1536 × 1536 pixels. Cette architecture a fait progresser l’état de l’art sur quatre benchmarks de vision artificielle, et surtout, comme monté dans le tableau, présente un gap conséquent de performances par rapport à des architectures CNN plus ou moins classiques spécifiques aux différentes tâches.

Tâche Performance Swin Transformer v2 Exemple de CNN concurrent
Top-1 accuracy  sur de la classification d’images  ImageNet-V2 84% 68.7% pour ResNet 50
Map sur de la detection d’objets COCO 63.1 43.5 pour Yolo v4
mIoU sur de la segmentation sémantique ADE20K 59.9 47.54 CondNet
top-1 accuracy sur de la classifacation d’actions de vidéos Kinetics-400 86.8% 83.6% OmniSource irCSN-152

 

Les résultats atteignables par cette architecture sont tout à fait impressionnants. De plus, comme affirmé par les auteurs dans le papier, l’utilisation d’une architecture similaire pour la NLP et la vision par ordinateur pourrait accélérer considérablement le processus de recherche dans ces deux domaines. Bien sûr, les Transformers ne sont pas parfaits, car leur entraînement nécessite une quantité de données impressionnante, et personne ne peut dire avec certitude si le futur de la vision par ordinateur ira dans ce sens. Pourtant, ce papier constitue sans aucun doute un pas en avant significatif pour ce domaine.

 

Envie de rester informé(e) ?
Abonnez-vous à la Newsletter Scal[ia]

CNN IA neuro transmission revue de presse transformers vision artificielle vision transformers