Vision Transformer (VIT) est un modèle de classification d'images basé sur Transformer proposé par Google. Contrairement aux modèles CNN traditionnels, VIT représente les images sous forme de séquences et apprend la structure de l'image en prédisant l'étiquette de classe de l'image. Pour y parvenir, VIT divise l'image d'entrée en plusieurs patchs et concatène les pixels de chaque patch via des canaux, puis effectue une projection linéaire pour obtenir les dimensions d'entrée souhaitées. Enfin, chaque patch est aplati en un seul vecteur, formant la séquence d'entrée. Grâce au mécanisme d'auto-attention de Transformer, VIT est capable de capturer la relation entre les différents correctifs et d'effectuer une extraction efficace des fonctionnalités et une prédiction de classification. Cette méthode de représentation d'images sérialisées apporte de nouvelles idées et de nouveaux effets aux tâches de vision par ordinateur.
Le modèle Vision Transformer est largement utilisé dans les tâches de reconnaissance d'images, telles que la détection d'objets, la segmentation d'images, la classification d'images et la reconnaissance d'actions. De plus, il convient à la modélisation générative et aux tâches multimodèles, notamment la fondation visuelle, la réponse visuelle aux questions et le raisonnement visuel.
Avant d'examiner le fonctionnement des Vision Transformers, nous devons comprendre les bases de l'attention et de l'attention multi-têtes dans le Transformer original.
Transformer est un modèle qui utilise un mécanisme appelé auto-attention, qui n'est ni CNN ni LSTM, il construit un modèle Transformer et surpasse considérablement ces méthodes.
Le mécanisme d'attention du modèle Transformer utilise trois variables : Q (Requête), K (Clé) et V (Valeur). En termes simples, il calcule le poids d'attention d'un jeton de requête et d'un jeton de clé, et multiplie la valeur associée à chaque clé. Autrement dit, le modèle Transformer calcule l'association (pondération d'attention) entre le jeton de requête et le jeton de clé, et multiplie la valeur associée à chaque clé.
Définissez Q, K, V à calculer comme une seule tête Dans le mécanisme d'attention multi-têtes, chaque tête a sa propre matrice de projection W_i^Q, W_i^K, W_i^V, et calcule la projection. en utilisant ces matrices respectivement.
Le mécanisme d'attention multi-têtes permet de se concentrer sur différentes parties de la séquence d'une manière différente à chaque fois. Cela signifie :
Le modèle peut mieux capturer les informations de position car chaque tête se concentrera sur une partie différente de l'entrée. Leur combinaison fournira une représentation plus puissante.
Chaque en-tête capturera également différentes informations contextuelles via des mots associés de manière unique.
Maintenant que nous connaissons le mécanisme de fonctionnement du modèle Transformer, revenons sur le modèle Vision Transformer.
Vision Transformer est un modèle qui applique Transformer aux tâches de classification d'images, proposé en octobre 2020. L'architecture du modèle est presque identique à celle du Transformer original, ce qui permet de traiter les images en entrée, tout comme le traitement du langage naturel.
Le modèle Vision Transformer utilise Transformer Encoder comme modèle de base pour extraire les caractéristiques des images et transmet ces caractéristiques traitées au modèle de tête de perceptron multicouche (MLP) pour la classification. Étant donné que la charge de calcul du modèle de base Transformer est déjà très importante, Vision Transformer décompose l'image en blocs carrés en tant que mécanisme d'attention léger de « fenêtrage » pour résoudre de tels problèmes.
L'image est ensuite convertie en patchs carrés, qui sont aplatis et envoyés à travers une seule couche de rétroaction pour obtenir une projection de patch linéaire. Pour aider à classer les bits, en concaténant les intégrations de classes apprenables avec d'autres projections de correctifs.
En résumé, ces projections de patch et intégrations positionnelles forment une matrice plus grande qui sera bientôt transmise à travers l'encodeur Transformer. La sortie de l'encodeur Transformer est ensuite envoyée au perceptron multicouche pour la classification des images. Les fonctionnalités d'entrée capturent très bien l'essence de l'image, ce qui rend la tâche de classification du responsable MLP beaucoup plus simple.
Bien que ViT montre un excellent potentiel dans l'apprentissage de fonctionnalités d'image de haute qualité, il souffre de faibles performances et de gains de précision. La légère amélioration de la précision ne justifie pas la durée d'exécution inférieure de ViT.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!