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 FastText
ou 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
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
Pour plus de détails, reportez-vous au livre blanc Effective Approaches to Attention-based Neural Machine Translation