r/pauwels_ml · u/pauwels_ml ·

Comprendre le Vision Transformer : patches, QKV et self-attention

Bien le comprendre est donc essentiel et surtout, ce n’est pas aussi compliqué que la formule peut le laisser penser au premier abord.
Alors plutôt que de partir des maths, partons de l’intuition visuelle : dans ce réel, on démonte le mécanisme de self-attention étape par étape, en prenant l’exemple du traitement d’une image.
Patchs, embeddings, Query, Key, Value, produit scalaire, softmax… jusqu’à comprendre concrètement ce que calcule l’attention.
Il est très probable que j’en fasse une vidéo YouTube plus complète et plus posée, pour prendre le temps de détailler chaque concept sous-jacent.
Si ça vous intéresse, abonnez-vous sur YouTube pour ne pas la rater, lien en bio ;)
#selfattention #transformers #deeplearning #qkv #machinelearning

Cette vidéo détaille le fonctionnement interne d'un Transformer pour le traitement d'images, en expliquant comment les matrices Q, K et V sont calculées et utilisées.

Le processus commence par le découpage de l'image en petits patches (par exemple 16x16 pixels). Chaque patch est aplati en un vecteur de 768 valeurs, puis projeté dans un espace de dimension D via une matrice apprise. Un embedding de position est ajouté pour informer le modèle de la localisation spatiale du patch. L'ensemble forme la matrice X.

Le cœur du mécanisme est l'auto-attention. Trois matrices (WQ, WK, WV) transforment X en Q (queries), K (keys) et V (values). Pour mesurer la pertinence entre patches, on calcule le produit scalaire Q x K^T. Ce score est divisé par la racine de la dimension D pour stabiliser les gradients, puis une fonction softmax convertit ces scores en poids d'attention normalisés. Enfin, ces poids pondèrent les valeurs V pour produire une nouvelle représentation enrichie du patch.

Exemple : Imaginez un patch situé sur la tête d'un chien. Sa ligne de scores d'attention indiquera une forte valeur pour les patches voisins (oreilles, yeux) et une faible valeur pour le fond. Le patch final contiendra donc une information combinée de sa propre apparence et de celle des zones pertinentes détectées ailleurs dans l'image.