A transformer robot

Le réseau Transformer a été présenté lors de la conférence NIPS en 2017. Il est basé sur un paradigme encodeur-décodeur où une phrase d’entrée est codée dans un vecteur de contexte envoyé à un décodeur générant une sortie à la fois. Les modèles standard à la fine pointe de la technologie étaient tous basés sur des réseaux neuronaux récurrents ou des réseaux neuronaux convolutionnels, étant donné la nature séquentielle des données. Cependant, la manipulation séquentielle des séquences élément par élément est un obstacle à la parallélisation.

La nouveauté du Transformer est qu’il remplace les calculs séquentiels par des attentions et un codage positionnel pour garder une trace de la position de l’élément dans la séquence. Cela a permis d’accélérer le temps de formation et de réduire la complexité de la dépendance informatique entre les éléments indépendamment de leur position alors que les modèles récurrents ont dû passer par tous les éléments intermédiaires.

Dans cet article, nous ne traiterons que des changements majeurs introduits par le Transformer : l’encodage positionnel, l’attention par produit scalaire normalisée, l’attention multi-tête et l’auto-attention.

Encodage positionnel

Les réseaux neuronaux récurrents sont conçus pour incorporer la notion de temps, car les entrées et les sorties sont traitées de façon séquentielle, une à la fois. Dans le Transformer, seuls des réseaux de neurones à propagation avant sont utilisés, l’encodage positionnel doit donc représenter le temps d’une manière ou d’une autre. Les auteurs proposent d’encoder le temps comme une onde sinusoïdale ajoutée à l’entrée et simulant la notion de temps.

Il existe différents mécanismes pour encoder les positions dans une séquence. Dans ConvS2S, les auteurs ont choisi d’utiliser des positions absolues, mais il a été prouvé que la version sinusoïdale permet de traduire des phrases de test plus longues que celles rencontrées pendant l’entraînement.

L’encodage positionnel est utilisé à la fois dans l’encodeur et dans le décodeur, ce qui permet au modèle d’accéder à la partie de la séquence qu’il traite. Les auteurs ont conclu que l’encodage positionnel appris et l’encodage fixe donnent des résultats similaires.

La version décrite dans le papier présentant le modèle est la suivante :

PE_{(pos,2i)} = sin(pos/10000^{2i/d_{model}})

PE_{(pos,2i+1)} = cos(pos/10000^{2i/d_{model}})

Le choix des auteurs est motivé par la meilleure généralisation sur les longues phrases.

L’attention par produit scalaire normalisée

En effet, l’attention entre l’encodeur et le décodeur est la clé d’une bonne performance. Elle prend en entrée les requêtes, les clés et les valeurs et produit une somme pondérée des valeurs où chaque poids représente l’attention que la clé correspondante reçoit. Ici, elle est calculée comme le produit scalaire entre la requête et la clé.

La fonction choisie par les auteurs pour son efficacité de calcul est :

Attention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}})V

où Q, K et V sont respectivement les requêtes, les clés et les valeurs.

Les dimensions de Q, K et V sont imposées par l’attention multi-tête et sont supposées être d_k pour Q et K et d_v pour V.

Auto-Attention

Dans l’encodeur, les couches d’auto-attention traitent les requêtes d’entrée, les clés et les valeurs qui proviennent de la sortie de la couche précédente dans l’encodeur. Chaque position dans l’encodeur peut atteindre toutes les positions de la couche précédente de celui-ci.

Dans le décodeur, des couches d’auto-attention permettent à chaque position de s’occuper de toutes les positions précédentes comme dans l’encodeur mais jusqu’à la position actuelle afin de ne pas inclure l’avenir. La circulation illégale de l’information est masquée.

Résultats de l’état de l’art

Le réseau Transformer, qui est un modèle de séquence purement basé sur l’attention contrairement aux modèles traditionnels basés sur RNN, est l’état de l’art sur WMT14 pour la traduction Anglais-Allemand par une large marge de 2.0 BLEU. La figure ci-dessous montre que la majorité des nouvelles technologies de pointe sont basées sur l’architecture du Transformer et sa philosophie.

LEAVE A REPLY

Please enter your comment!
Please enter your name here