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.
Fonctionnement de seq2seq
Généralement, le réseau neuronal d'une modélisation seq2seq se compose de quelques couches, parmi lesquelles :
-
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. Cette action est obligatoire, car un vecteur de fonction haute dimension est plus à même de coder les informations relatives à un jeton particulier (mot pour le corpus) qu'un simple vecteur codé à chaud. Il s'agit aussi d'une pratique standard pour initialiser la couche d'intégration avec un vecteur textuel préformé comme FastText
ou Glove , ou pour l'initialiser de façon aléatoire et acquérir les paramètres au cours de la formation. -
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 règle générale, un encodeur se compose de réseaux de type RNN comme les réseaux LSTM (Long Short-Term Memory) ou GRU (Gated Recurrent Units). (Le blog Colah
explique les réseaux LSTM de façon détaillée.) -
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. Généralement, cette couche est également conçue avec les architectures RNN (LSTM et GRU).
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