0 votes
par dans Séquence 8
Bonjour,

Les trois matrices servant à définir l'attention head pourrait-elles être interchangeables ? Qu'est-ce qui les distingue entre elles ?
Comment se fait-il que le produit Q.tK donne une matrice d'attention, et la matrice V soit un poids à attribuer à un objet donné ?

Désolé pour ces questions entremêlées

1 Réponse

0 votes
par Vétéran du GPU 🐋 (48.7k points)
sélectionné par
 
Meilleure réponse
Les trois matrices Q, K et V ont la même forme mais des poids différents. Ce qui fait leurs rôles respectifs, c'est la manière dont elles sont agencées ensuite. V a un rôle différent de Q et K parce qu'elle est multipliée par le softmax de K et Q.
par
Est-ce que leurs poids différents sont dus à un effet stochastique dans l'apprentissage ?
Si chacune n'est pas apprise par un procédé distinct, qu'est-ce qui fait qu'on ne peut pas interchanger les matrices avant de les baptiser ?

En gros, pourquoi telle matrice pour telle fonction ? (quand je dis "telle", je pense à une matrice avec des coefs donnés, pas la manière dont elle est utilisée dans l'architecture du dnn)
par Vétéran du GPU 🐋 (48.7k points)
Les poids appris sont différents parce que dans la formule, les trois matrices n'ont pas toute le même rôle. V intervient différemment et donc aura des gradients très différents des autres matrices. Les coefficients sont ensuite déterminés par la rétropropagation du gradient.

Dans la cross-attention, Q et K n'ont pas les mêmes entrées donc vont avoir des gradients très différents également. Dans la self attention, K et Q ont un rôle similaire donc on pourrait imaginer qu'elles soient identiques. Mais avec une initialisation différente, elles vont quand même avoir tendance à prendre des rôles différents, comme on peut le voir sur ce schéma (https://miro.medium.com/max/720/1*--uufcl0GMkT8_1cNLX0gA.webp) que j'ai honteusement volé de cet article (https://medium.com/analytics-vidhya/understanding-q-k-v-in-transformer-self-attention-9a5eddaa5960)
par
Merci !
...