# Qu’était le mécanisme d’attention de 2014, et comment a-t-il changé la traduction automatique?

Date: 2021-06-12 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/mecanisme-d-attention-bahdanau-2014/

**Answer:** Dans un article mis en ligne le 1er septembre 2014, Dzmitry Bahdanau, Kyunghyun Cho et Yoshua Bengio ont permis à un réseau de traduction de revenir sur chaque mot de la phrase source et de décider, pour chaque mot qu’il écrit, quels mots sources comptent le plus. Cette étape d’« attention » a éliminé le besoin d’entasser toute une phrase dans un seul résumé fixe, a rendu les longues phrases beaucoup plus faciles à traduire et est devenue le germe des modèles Transformer derrière BERT et GPT-3.

Quand une traductrice ou un traducteur s’attaque à une longue phrase, il ne la mémorise pas pour ensuite fermer le livre et écrire la traduction de mémoire. Il jette des coups d’œil à l’original, segment par segment, au fur et à mesure. En 2014, un jeune chercheur nommé Dzmitry Bahdanau et ses directeurs ont donné la même habitude aux réseaux de neurones. Ils ont présenté le résultat comme une façon d’« aligner et traduire » en même temps; tout le monde l’a bientôt appelé l’**attention**.

L’attention a l’air d’une petite correction apportée à un système de traduction. Elle s’est révélée l’une des idées les plus utiles de l’IA moderne. Les modèles de langage qui font les manchettes cette année, de BERT de Google à GPT-3 d’OpenAI, sont construits à partir de couches d’attention.

## Ce qui s’est passé, et qui y a participé

Le 1er septembre 2014, la première version d’un article intitulé « Neural Machine Translation by Jointly Learning to Align and Translate » a paru sur arXiv, l’archive en ligne gratuite où les chercheurs publient leurs articles. Ses auteurs étaient Dzmitry Bahdanau, alors à la Jacobs University Bremen, en Allemagne, ainsi que Kyunghyun Cho et Yoshua Bengio, de l’Université de Montréal, au Canada. Bengio était déjà l’une des figures les plus connues de l’apprentissage profond; Cho venait de cosigner l’un des premiers systèmes de traduction neuronale. L’article a connu plusieurs révisions et a été présenté à la conférence ICLR en 2015.

Le moment compte. En 2014, une nouvelle approche appelée **traduction automatique neuronale** émergeait. Au lieu des anciens systèmes « par segments » (*phrase-based*), qui assemblaient des milliers de pièces réglées à la main, un seul grand réseau de neurones apprenait à traduire directement à partir d’exemples. La plupart de ces réseaux suivaient une conception **encodeur-décodeur** : un réseau encodeur lit la phrase source et la comprime en une seule liste de nombres, un **vecteur** de longueur fixe; un réseau décodeur écrit ensuite la traduction à partir de ce seul vecteur.

Bahdanau et ses coauteurs soupçonnaient que ce vecteur unique était un goulot d’étranglement. Une phrase de cinq mots et une phrase de cinquante mots devaient toutes deux entrer dans un résumé de même taille. Des travaux antérieurs avaient déjà montré que la qualité d’un encodeur-décodeur de base chutait rapidement à mesure que les phrases s’allongeaient.

Imaginez qu’on vous demande de résumer tout un paragraphe sur un seul papillon adhésif, puis de traduire le paragraphe à partir de ce papillon seulement. Les paragraphes courts y survivent. Les longs perdent des détails.

## Comment fonctionne l’attention

La solution consistait à garder les notes de l’encodeur sur chaque mot plutôt qu’un seul résumé. Leur modèle, qu’ils ont appelé RNNsearch, lisait la phrase dans les deux sens, de gauche à droite et de droite à gauche, et produisait une **annotation** pour chaque mot source : un vecteur qui décrit ce mot dans le contexte de ses voisins.

Ensuite, chaque fois que le décodeur s’apprêtait à écrire un mot, il effectuait une recherche rapide. Il notait chaque annotation selon sa pertinence à ce moment précis, transformait ces notes en poids dont la somme est 1, et mélangeait les annotations selon ces poids. Ce mélange, appelé **vecteur de contexte**, est différent pour chaque mot de sortie. Comme les poids sont des pourcentages souples plutôt qu’un choix unique et tranché, le réseau peut répartir son attention sur plusieurs mots quand il le faut, et il apprend tout cela à partir d’exemples, sans que personne lui dise quels mots se correspondent.

Voici une image simplifiée de ce à quoi pourraient ressembler les poids pendant la traduction de « the European Economic Area » en français :

| Mot français en cours d’écriture | L’attention va surtout à | Pourquoi |
|---|---|---|
| la | « the » (et un peu « Area ») | le français a besoin du genre du nom pour choisir *la* |
| zone | « Area » | le nom vient en premier en français |
| économique | « Economic » | les adjectifs suivent le nom |
| européenne | « European » | l’ordre des mots est inversé |

L’article montre justement cet exemple : son modèle a sauté deux mots pour relier « Area » à *zone*, puis a remonté les adjectifs à rebours. Ces graphiques de poids ont aussi été un cadeau pour les chercheurs, parce que, pour une fois, ils pouvaient voir ce que le réseau regardait.

> **À essayer :** prenez une courte phrase anglaise et sa traduction dans une langue que vous connaissez (ou celle d’un traducteur en ligne). Dessinez une grille avec les mots sources en haut et les mots traduits sur le côté, et ombrez les cases qu’une traductrice ou un traducteur « regarde », selon vous, pour chaque mot. Remarquez où votre ombrage quitte la diagonale.

## Les résultats

L’équipe s’est entraînée sur une grande collection anglais-français de l’atelier de 2014 sur la traduction automatique, réduite à 348 millions de mots, et a gardé les 30 000 mots les plus courants de chaque langue. Chaque modèle s’est entraîné pendant environ cinq jours.

Sur l’ensemble de test complet, le modèle à attention entraîné sur des phrases d’au plus 50 mots a obtenu 26,75 au score BLEU, une mesure standard de la proximité entre la sortie de la machine et des traductions humaines, contre 17,82 pour l’encodeur-décodeur de même taille sans attention. Fait le plus frappant, sa qualité tenait bon sur les longues phrases, là où l’ancienne conception s’effondrait. Sur les phrases sans mots inconnus, une version entraînée plus longtemps a obtenu 36,15, légèrement devant Moses, un système par segments bien établi, à 35,63.

## Pourquoi c’était important

L’attention s’est répandue rapidement. En septembre 2016, Google a décrit son système de traduction automatique neuronale (GNMT), un réseau profond qui combine l’attention avec des couches LSTM empilées et des raccourcis « résiduels », et a rapporté qu’il réduisait les erreurs de traduction d’environ 60 % par rapport à l’ancien système par segments de Google, sur des phrases de test simples.

Vue de juin 2021, l’histoire plus large, c’est que l’attention a cessé d’être un ajout. Les chercheurs ont commencé à se demander ce qui arriverait si un réseau utilisait l’attention pour tout.

## Comment l’attention a-t-elle mené au Transformer?

En 2017, une équipe de Google a répondu à cette question avec un article intitulé « Attention Is All You Need ». Son **Transformer** abandonnait complètement les réseaux récurrents qui lisent pas à pas. À la place, chaque mot porte attention à tous les autres mots de la même phrase en même temps, une version appelée **auto-attention** (*self-attention*). L’article sur le Transformer cite explicitement l’approche de 2014, sous le nom d’« attention additive », comme l’un des deux principaux types sur lesquels il s’appuie.

Supprimer la lecture pas à pas a rendu l’entraînement beaucoup plus rapide sur les puces modernes, parce que tous les mots peuvent être traités en parallèle. C’est cette vitesse qui a rendu les très grands modèles réalisables. BERT (2018), GPT-2 (2019) et GPT-3 (2020) sont tous des empilements de couches Transformer, et au fond, chaque couche fait ce que faisait le décodeur de Bahdanau : noter les autres mots, transformer les notes en poids, et mélanger.

Alors, quand vous tapez un prompt dans une application basée sur GPT-3 et qu’elle reprend un détail de votre première phrase en écrivant la cinquième, vous voyez à l’œuvre un descendant direct d’une astuce de traduction de 2014. L’histoire complète du fonctionnement du Transformer fait l’objet de son propre article dans ce guide.

## Sources

- Neural Machine Translation by Jointly Learning to Align and Translate: https://arxiv.org/abs/1409.0473
- Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation: https://arxiv.org/abs/1609.08144
- Attention (machine learning): https://en.wikipedia.org/w/index.php?title=Attention_%28machine_learning%29&oldid=1026199847
