Découvrez comment les modèles de séquence à séquence transforment les séquences d'entrée en séquences de sortie, ce qui permet d'exécuter des tâches d'IA telles que la traduction, les chatbots et la reconnaissance vocale.
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 de l'entrée et de la sortie peuvent différer. Cette flexibilité les rend exceptionnellement puissants pour un large éventail de tâches dans le traitement du langage naturel (NLP) et au-delà. L'idée de base a été introduite dans des articles par des chercheurs de Google et du laboratoire de Yoshua Bengio, révolutionnant des domaines tels que la traduction automatique.
Les modèles Seq2Seq sont construits sur une architecture codeur-décodeur. Cette structure permet au modèle de traiter efficacement les séquences de longueur variable.
Le codeur : Ce composant traite l'ensemble de la séquence d'entrée, telle qu'une phrase en anglais. Il lit la séquence un élément à la fois (par exemple, mot par mot) et comprime les informations dans une représentation numérique de longueur fixe appelée vecteur de contexte ou "vecteur de pensée". Traditionnellement, l'encodeur est un réseau neuronal récurrent (RNN) ou une variante plus avancée comme la mémoire à long terme (LSTM), qui est capable de capturer des informations séquentielles.
Le décodeur : Ce composant prend le vecteur de contexte de l'encodeur comme entrée initiale. Sa tâche consiste à générer la séquence de sortie, un élément à la fois. Par exemple, dans une tâche de traduction, il génère la phrase traduite mot par mot. La sortie de chaque étape est réinjectée dans le décodeur de l'étape suivante, ce qui lui permet de générer une séquence cohérente. Ce processus se poursuit jusqu'à ce qu'un jeton spécial de fin de séquence soit produit. Le mécanisme d'attention, qui permet au décodeur de revenir sur différentes parties de la séquence d'entrée originale tout en générant la sortie, est une innovation clé qui a considérablement amélioré les performances de Seq2Seq.
La possibilité de faire correspondre des entrées de longueur variable à des sorties de longueur variable rend les modèles Seq2Seq très polyvalents.
Si les modèles Seq2Seq basés sur les RNN étaient révolutionnaires, le domaine a évolué :
Bien que Seq2Seq fasse souvent référence à la structure codeur-décodeur basée sur le 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. Des outils tels que PyTorch et TensorFlow fournissent des blocs de construction pour la mise en œuvre de modèles de séquence traditionnels et modernes. La gestion du processus de formation peut être rationalisée à l'aide de plateformes comme Ultralytics HUB, qui simplifie l'ensemble du pipeline de déploiement du modèle.