P

Encoder Decoder : Définition et Exemples

Architecture de réseau de neurones composée de deux modules complémentaires : un encodeur qui compresse l'entrée en une représentation intermédiaire, et un décodeur qui génère la sortie à partir de cette représentation.

Définition complète

L'architecture Encoder-Decoder (encodeur-décodeur) est un paradigme fondamental en intelligence artificielle, particulièrement en traitement du langage naturel et en vision par ordinateur. Elle repose sur un principe simple mais puissant : décomposer une tâche complexe en deux étapes distinctes. L'encodeur lit et analyse l'entrée (un texte, une image, un signal audio) pour la condenser en une représentation vectorielle dense, souvent appelée vecteur latent ou contexte.

Le décodeur prend ensuite cette représentation compressée et génère progressivement la sortie souhaitée, élément par élément. Dans le cas de la traduction automatique par exemple, l'encodeur lit la phrase source en français et produit un vecteur qui capture son sens, puis le décodeur génère la traduction en anglais mot par mot à partir de ce vecteur.

Cette architecture a connu une évolution majeure avec l'introduction du mécanisme d'attention par Bahdanau et al. en 2014, puis du Transformer par Vaswani et al. en 2017. Le Transformer a remplacé les réseaux récurrents (RNN/LSTM) par des mécanismes d'auto-attention, permettant un traitement parallèle et une meilleure capture des dépendances à longue distance. Des modèles comme T5, BART et mBART utilisent cette architecture complète encodeur-décodeur.

Il est important de distinguer cette architecture des modèles qui n'utilisent qu'une seule de ses composantes. Les modèles comme BERT n'utilisent que l'encodeur (idéal pour la compréhension), tandis que GPT et Claude n'utilisent que le décodeur (idéal pour la génération). L'architecture complète encodeur-décodeur excelle dans les tâches de transduction, où il faut transformer une séquence en une autre séquence de nature différente.

Étymologie

Le terme combine « encoder » (du latin incodare, mettre en code) et « decoder » (décoder, extraire l'information du code). En informatique, ces termes désignent historiquement les processus de compression et décompression de données. Leur adoption en deep learning date des travaux de Cho et al. (2014) et Sutskever et al. (2014) sur la traduction neuronale séquence-à-séquence.

Exemples concrets

Traduction automatique : transformer un texte d'une langue à une autre

Traduis ce texte technique du français vers l'anglais en conservant la terminologie spécialisée : [texte]. Assure-toi que le sens et les nuances sont préservés.

Résumé de texte : condenser un document long en un résumé concis

Résume cet article de recherche en 5 points clés. Capture les contributions principales, la méthodologie et les résultats sans perdre les informations essentielles.

Génération de code à partir d'une description en langage naturel

Génère une fonction Python qui prend une liste de dictionnaires et retourne un DataFrame pandas trié par date décroissante. Ajoute la gestion des erreurs et des docstrings.

Usage pratique

En prompt engineering, comprendre l'architecture encoder-decoder aide à choisir le bon modèle pour chaque tâche. Pour des tâches de transformation (traduction, résumé, reformulation), les modèles encoder-decoder comme T5 sont souvent plus efficaces. Lorsque vous utilisez un modèle decoder-only comme Claude, structurez vos prompts pour fournir explicitement le contexte que l'encodeur aurait normalement capturé.

Concepts liés

TransformerAttention (mécanisme)Sequence-to-SequenceVecteur latent

FAQ

Quelle est la différence entre un modèle encoder-only, decoder-only et encoder-decoder ?
Un modèle encoder-only (comme BERT) excelle en compréhension : classification, analyse de sentiment, recherche sémantique. Un modèle decoder-only (comme GPT ou Claude) est optimisé pour la génération de texte. Un modèle encoder-decoder (comme T5 ou BART) combine les deux et excelle dans les tâches de transformation où l'entrée et la sortie sont de natures différentes, comme la traduction ou le résumé.
Pourquoi les modèles les plus récents comme GPT-4 et Claude n'utilisent-ils que le décodeur ?
Les modèles decoder-only se sont révélés remarquablement polyvalents grâce au scaling (augmentation de la taille et des données). En formulant toute tâche comme de la génération de texte conditionnée par un prompt, ils parviennent à égaler voire surpasser les modèles encoder-decoder sur la plupart des tâches, tout en étant plus simples à entraîner et à déployer. Le prompt joue alors le rôle d'encodeur implicite.
L'architecture encoder-decoder est-elle encore pertinente aujourd'hui ?
Oui, elle reste très pertinente dans plusieurs domaines. En traduction automatique spécialisée, en reconnaissance vocale (Whisper d'OpenAI utilise un encoder-decoder), en vision par ordinateur et dans les applications industrielles nécessitant des modèles compacts et efficaces. Elle est aussi privilégiée quand la tâche implique une transformation structurée entre deux formats bien définis.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.

Encoder Decoder : Définition et Exemples | Prompt Guide