Comment Sequence-to-Sequence fonctionne - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comment Sequence-to-Sequence fonctionne

Généralement, un réseau neuronal destiné à la sequence-to-sequence modélisation se compose de quelques couches, notamment :

  • Couche d'intégration. Dans cette couche, la matrice d'entrée, qui correspond aux jetons d'entrée codés de façon fragmentée (codage à chaud, par exemple), est associée à une couche de fonctions dense. Cela est nécessaire car un vecteur de caractéristiques de grande dimension est plus capable de coder des informations concernant un jeton particulier (corpus de texte pour mot) qu'un simple one-hot-encoded vecteur. Il est également courant d'initialiser cette couche d'intégration avec un vecteur de mots préentraîné tel que Glove FastTextou de l'initialiser de manière aléatoire et d'en apprendre les paramètres pendant l'entraînement.

  • Couche d'encodeur. Une fois que les jetons d'entrée ont été associés à un espace de fonctions haute dimension, la séquence est transmise via une couche encodeur pour compresser l'ensemble des informations de la couche d'intégration en entrée (de la totalité de la séquence) en un vecteur de fonction de longueur fixe. En général, un encodeur est constitué de réseaux de RNN type C tels que de la mémoire à court terme (LSTM) ou des unités récurrentes fermées (GRU). (Le blog de Colah explique LSTM en détail.)

  • Couche de décodeur. La couche décodeur accepte le vecteur de fonction codé et génère en sortie la séquence de jetons. Cette couche est également généralement construite avec des RNN architectures (LSTMetGRU).

La totalité du modèle est formée conjointement pour optimiser la probabilité de la séquence cible en fonction de la séquence source. Ce modèle a été présenté pour la première fois par Sutskever et autres en 2014.

Mécanisme d'attention. L'inconvénient d'une architecture encodeur/décodeur est que les performances du modèle diminuent au fur et à mesure que la longueur de la séquence source augmente : la raison en est la limite de la quantité d'informations que le vecteur de fonction codé de longueur fixe peut contenir. Pour résoudre ce problème, en 2015, Bahdanau et al. ont proposé le mécanisme d'attention. Dans un tel mécanisme, le décodeur tente de trouver l'emplacement dans la séquence de l'encodeur où peuvent se trouver les informations les plus importantes, puis utilise celles-ci et les mots précédemment décodés pour prédire le jeton suivant de la séquence.

Pour plus de détails, reportez-vous au livre blanc Effective Approaches to Attention-based Neural Machine Translation par Luong, et al. qui explique et simplifie les calculs des différents mécanismes d'attention. En outre, le livre blanc Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation par Wu, et al. décrit l'architecture de Google pour la traduction automatique, qui utilise les connexions skip entre les couches encodeur et décodeur.