Bases de l'apprentissage automatique
Quelle description de l'auto-attention (self-attention), utilisée dans le Transformer, est correcte ?
- AElle lit les éléments de la séquence un par un depuis le début et résume l'information de toute la séquence en transmettant l'état caché de l'élément précédent à l'élément suivant
- BElle calcule des poids à partir de la similarité entre la requête de chaque jeton et les clés de tous les jetons, puis fait la somme pondérée des valeurs, ce qui permet de calculer toutes les positions de la séquence en parallèle
- CPour chaque jeton, elle empile de nombreuses couches de convolution qui ne regardent qu'un nombre fixe de jetons voisins, afin de ne pas traiter les relations avec les jetons éloignés
Afficher la réponse et l'explication
Réponse : B. Elle calcule des poids à partir de la similarité entre la requête de chaque jeton et les clés de tous les jetons, puis fait la somme pondérée des valeurs, ce qui permet de calculer toutes les positions de la séquence en parallèle
En auto-attention, on forme à partir du vecteur de chaque jeton une requête (Q), une clé (K) et une valeur (V) ; les produits scalaires de la requête avec toutes les clés sont transformés en poids par la fonction softmax, puis on calcule la somme pondérée des valeurs. Chaque jeton peut intégrer directement l'information des jetons éloignés, et comme le calcul se ramène à des produits matriciels sans attendre le résultat de l'instant précédent comme dans un RNN, toutes les positions de la séquence se calculent en parallèle pendant l'apprentissage. Ce calcul ne contient en lui-même aucune information sur l'ordre des mots ; on l'associe donc à un encodage positionnel qui ajoute l'information de position. En revanche, la quantité de calcul croît comme le carré de la longueur de la séquence.
Continuer : 9 autres questions sur Bases de l'apprentissage automatique