J'ai essayé de comprendre comment les transformateurs fonctionnent ces derniers temps, et chaque fois que nous lisons ou entendons parler de Transformers, il y a un mot qui apparaît plus que tout autre: «l'attention», bien que ce ne soit pas quelque chose qui est apparu avec Transformers, mais il est devenu la pièce maîtresse de toute l'architecture.
Cela dit, l'attention en elle-même ne nous mène pas très loin. Il y a une autre idée qui n'obtient pas toujours les mêmes projecteurs, mais sans elle, l'attention de soi s'effondrerait complètement. Cette idée est en codage positionnel la chose qui permet aux transformateurs de garder une trace de l'ordre des mots.
Mais pourquoi l'attention de soi dans les transformateurs est inutile sans ce codage positionnel?
Le problème est que l'auto-atténuer n'a pas le sens intégré de l'ordre. Chaque jeton regarde tous les autres jetons simultanément, comme dans le diagramme de 3Blue1Brown.
Maintenant, parce que chaque jeton (à peu près un mot) regarde chaque jeton en même temps, il n'y a aucune information sur la mesure dans laquelle un jeton est à un autre jeton ou quel est l'ordre des jetons.
Donc, si ma phrase est «un chat a couru derrière une souris», le transformateur sans encodage positionnel ne le verrait que comme un sac de mots: {a, chat, couru, derrière, une souris}. Maintenant, retournez-le à «une souris courue derrière un chat» - le sac semble identique à un codage positionnel moins transformateur. Le sens, cependant, est complètement différent. C’est le codage de position de position à mort est conçu pour réparer.
Ce n'était pas vraiment un problème pour les RNN, car l'architecture elle-même a traité des jetons étape par étape. Chaque mot a été introduit après le précédent, et l'état caché a porté le long d'un souvenir de tout ce qui se voit jusqu'à présent. En d'autres termes, l'ordre de la séquence a été cuit dans le fonctionnement des RNN.
Transformers a renversé cette idée. Au lieu de se déplacer séquentiellement, ils ont regardé tous les jetons en parallèle. Ce parallélisme est l'une des raisons qui les rend si puissantes et efficaces - mais cela signifie également qu'ils perdent le sens naturel de l'ordre que les RNN avaient gratuitement.
C’est là que le codage positionnel intervient: il réintroduit le concept d’ordre sans abandonner le parallélisme du transformateur.
Alors, comment pouvons-nous encoder ce "sens" de position dans chaque jeton?
Eh bien, si vous regardez le papier d'origine "l'attention est tout ce dont vous avez besoin", ils ont résolu ce problème en utilisant ces deux formules