Glossaire

Modèles de séquence à séquence

Découvre comment les modèles de séquence à séquence transforment les séquences d'entrée en séquences de sortie, alimentant les tâches d'IA telles que la traduction, les chatbots et la reconnaissance vocale.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Les modèles de séquence à séquence (Seq2Seq) sont une classe de modèles d'apprentissage profond conçus pour transformer une séquence d'entrée en une séquence de sortie, où les longueurs des séquences d'entrée et de sortie peuvent différer. Cette capacité les rend exceptionnellement puissants pour un large éventail de tâches, en particulier dans le traitement du langage naturel (NLP), mais également applicables dans d'autres domaines comme la reconnaissance vocale et même certains problèmes de vision par ordinateur impliquant des données séquentielles. L'idée de base, introduite dans des articles tels que"Sequence to Sequence Learning with Neural Networks" par Sutskever et al. et"Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation" par Cho et al. a révolutionné la façon dont les machines traitent les transformations de séquences de longueur variable.

Architecture du codeur-décodeur

La structure fondamentale de la plupart des modèles Seq2Seq est l'architecture codeur-décodeur :

  1. Encodeur : Cette partie traite la séquence d'entrée entière (par exemple, une phrase en français) étape par étape, généralement à l'aide d'un réseau neuronal récurrent (RNN) tel que LSTM (Long Short-Term Memory) ou GRU (Gated Recurrent Unit). Son objectif est de comprimer les informations de la séquence d'entrée dans une représentation interne de taille fixe, souvent appelée "vecteur de contexte" ou "vecteur de pensée." Ce vecteur vise à capturer l'essence ou la signification de la séquence d'entrée.
  2. Décodeur : Cette partie prend le vecteur de contexte généré par l'encodeur et produit la séquence de sortie étape par étape (par exemple, la phrase traduite en English). Il s'agit aussi généralement d'un RNN qui génère un élément (comme un mot ou un caractère) à chaque pas de temps, en fonction du vecteur de contexte et des éléments générés lors des étapes précédentes.

Une amélioration significative de cette structure de base a été l'introduction du mécanisme d'attention, détaillé dans l'article de Bahdanau et al.intitulé "Neural Machine Translation by Jointly Learning to Align and Translate"(Traduction automatique neuronale par apprentissage conjoint de l'alignement et de la traduction). L'attention permet au décodeur de se concentrer sélectivement sur différentes parties de la séquence d'entrée lors de la génération de chaque élément de la séquence de sortie, plutôt que de se fier uniquement au vecteur de contexte unique de taille fixe. Cela a permis d'améliorer considérablement les performances, en particulier pour les longues séquences. Ce concept a ouvert la voie à des architectures telles que le Transformer, qui repose entièrement sur des mécanismes d'attention, ce qui permet de se passer complètement de la récurrence et constitue la base de modèles tels que le BERT et le GPT.

Applications dans le monde réel

Les modèles Seq2Seq excellent dans les tâches où l'entrée et la sortie sont séquentielles mais peuvent ne pas avoir une correspondance biunivoque en termes de longueur ou de structure. Les principales applications sont les suivantes :

  • Traduction automatique: Traduire un texte d'une langue à une autre (par exemple, en alimentant des services tels que Google Translate ou DeepL Translator). Il s'agit de l'un des premiers grands succès des modèles Seq2Seq.
  • Résumés de textes: Générer un résumé concis à partir d'un document ou d'un article plus long. L'entrée est la séquence du texte long, et la sortie est la séquence du résumé plus court.
  • IA conversationnelle / Chatbots: Générer des réponses dans un système de dialogue. L'entrée est la requête ou la déclaration de l'utilisateur, et la sortie est la réponse du chatbot. Des plateformes comme Google Dialogflow utilisent ce type de technologies.
  • Reconnaissance de la parole: Convertir le son parlé (une séquence de caractéristiques audio) en texte (une séquence de mots).
  • Légende d'image : Générer une description textuelle (séquence de sortie) pour une image (séquence d'entrée, souvent représentée par des caractéristiques extraites par un CNN). Bien que l'entrée ne soit pas strictement séquentielle, le processus de génération de sortie correspond au paradigme Seq2Seq.
  • Génération de code : Générer du code de programmation basé sur des descriptions en langage naturel.

Concepts clés et considérations

La construction et l'entraînement des modèles Seq2Seq impliquent plusieurs concepts importants :

  • Intégrations: Les mots d'entrée ou tokens sont généralement convertis en représentations vectorielles denses avant d'être introduits dans le codeur.
  • Backpropagation à travers le temps (BPTT) : La méthode standard pour former des RNN en dépliant le réseau sur la longueur de la séquence.
  • Traitement des longues séquences : Les RNN de base ont du mal à gérer les longues dépendances en raison de problèmes tels que celui du gradient qui s'évanouit. Les LSTM et les GRU ont été conçus pour atténuer ce problème, et les mécanismes d'attention améliorent encore les performances sur les longues séquences. Les modèles de transformation excellent dans ce domaine.
  • Mesures d'évaluation : Selon la tâche, des mesures telles que BLEU (pour la traduction), ROUGE (pour le résumé) ou la précision/F1-score (pour l'étiquetage des séquences) sont utilisées. Ultralytics fournit des conseils sur les métriques de performance.

Seq2Seq vs. autres architectures

Si les modèles Seq2Seq basés sur les RNN étaient révolutionnaires, le domaine a évolué :

  • RNN standard : Mettent généralement en correspondance des séquences avec des séquences de même longueur ou classent des séquences entières, manquant de la flexibilité de la structure de l'encodeur-décodeur pour les longueurs de sortie variables.
  • Transformateurs: Dominent désormais de nombreuses tâches de TAL auparavant gérées par des modèles Seq2Seq basés sur des RNN. Ils utilisent l'auto-attention et les encodages positionnels au lieu de la récurrence, ce qui permet une meilleure parallélisation et une capture plus efficace des dépendances à longue portée. Des modèles tels que RT-DETR de Baidu, pris en charge par Ultralytics, intègrent des composants Transformer pour la détection d'objets.
  • CNN: Principalement utilisés pour les données en forme de grille telles que les images (par ex. Ultralytics YOLO pour la détection et la segmentation), bien qu'ils soient parfois adaptés à des tâches séquentielles.

Bien que Seq2Seq fasse souvent référence à la structure codeur-décodeur basée sur les RNN, le principe général de mise en correspondance des séquences d'entrée avec les séquences de sortie à l'aide d'une représentation intermédiaire reste au cœur de nombreuses architectures modernes, y compris les transformateurs utilisés dans la traduction et le résumé. Des outils comme PyTorch et TensorFlow fournissent des blocs de construction pour la mise en œuvre de modèles de séquences traditionnels et modernes. La gestion du processus de formation peut être rationalisée à l'aide de plateformes comme Ultralytics HUB.

Tout lire