Transformer : un modèle auto-attentif dans le deep learning

Modèle d'apprentissage profond, ou modèle auto-attentif (deep learning en anglais), le Transformeur (Transformer) a été introduit en 2007. Focus sur les réseaux Transformers et leur utilité, mais aussi sur leur différence avec les réseaux de neurones récurrents.

Qu'est-ce qu'un Transformer en machine learning ?

Un Transformer est un modèle d'apprentissage profond qui appartient au domaine du machine learning (apprentissage automatique) et plus précisément du deep learning. Les Transformers sont des modèles d’apprentissage conçus pour gérer des données séquentielles en utilisant des mécanismes d’attention. Ils permettent notamment aux ordinateurs d’apprendre des séquences informatiques de manière automatique, sans avoir été programmés spécifiquement à cet effet.

Qu'est-ce qu'un Transformer en NLP ?

Les Transformers sont utilisés principalement en NLP (Natural Language Processing ou traitement automatique des langues en français), sous-catégorie du machine learning. Un Transformeur permet à un ordinateur de comprendre, analyser, manipuler, classer et générer un langage humain. L'introduction des Transformers en 2007 a permis d'améliorer les performances des systèmes de traitement automatique des langues qui reposaient auparavant sur les réseaux de neurones récurrents (RNN). A l’inverse des RNN, les Transformers utilisent un mécanisme d’attention leur permettant de traiter des données séquentielles de manière plus instinctive, sans forcément suivre l’ordre de la séquence.

Qu'est-ce qu'un Transformer dans un réseau de neurones ?

Comme les RNN, le Transformer fait partie des modèles d’apprentissage dits de séquence à séquence (seq2seq), prenant une séquence en entrée, la traitant, avant d’en renvoyer une autre en sortie. Si le Transformer utilise un mécanisme d’attention, il a tout de même hérité du système pattern encodeur-décodeur des RNN, l’encodeur étant l’entrée de la séquence et le décodeur en étant la sortie. Chacun de ces deux blocs inclut deux couches de réseaux de neurones : la couche dite de Self-attention qui permet de garder l’interdépendance des données dans une séquence, et la couche appelée Feed-forward Neural Network (réseau de neurones à propagation avant) qui conduit les données vers la sortie.

Pourquoi utiliser un Transformeur ?

Un Transformeur est utilisé principalement pour la traduction et la synthèse de texte. Il est par exemple utilisé par les traducteurs en ligne pour traiter de manière automatique du langage naturel. Contrairement aux anciens traducteurs en ligne utilisant des RNN, les traducteurs modernes basés sur des Transformers ont la capacité de lier les mots entre eux (notion d’interdépendance). Cela leur permet notamment d’obtenir des tournures de phrases bien plus proches du langage écrit ou parlé, et de donner le bon sens à un mot qui peut en avoir plusieurs. Les Transformeurs peuvent également être utilisés dans d’autres domaines comme le traitement d’images ou la recherche médicale.

Quelques exemples de modèles Transformers

  • BERT (Bidirectional Encoder Representations from Transformers) introduit en 2019 par Google ;
  • GPT-3 (Generative Pre-trained Transformer 3) introduit en 2019 par OpenAI.

Réseau Transformer tutoriels : quelques liens

Dictionnaire de l'intelligence artificielle