Étude de l’apprentissage par transfert de systèmes de traduction automatique neuronaux (Study on transfer learning in neural machine translation ) (2019)

Abstract: L’apprentissage par transfert est une solution au problème de l’apprentissage de systèmes de traduction automatique neuronaux pour des paires de langues peu dotées. Dans cet article, nous proposons une analyse de cette méthode. Nous souhaitons évaluer l’impact de la quantité de données et celui de la proximité des langues impliquées pour obtenir le meilleur transfert possible. Nous prenons en compte ces deux paramètres non seulement pour une tâche de traduction “classique” mais également lorsque les corpus de données font défaut. Enfin, il s’agit de proposer une approche où volume de données et proximité des langues sont combinées afin de ne plus avoir à trancher entre ces deux éléments.

## introduction les performances des systèmes de traduction automatique neuronaux évoluent rapidement, cependant cela ne se verifie pas lorsque peu de données sont disponibles. l'apprentissage par transfert est une voie intéressante pour pallier à ce problème. il consiste à entraîner un modèle sur une tâche bien dotée (modèle "parent"), puis le réutiliser pour l'apprentissage d'un modèle "enfant" (en remplacement d'une initialisation aléatoire). l'objectif est de capitaliser sur les représentations apprises par le système "parent". ce transfert améliore généralement les résultats du système enfant par un transfert de connaissances apprises par le système parent @xcite . dans cet article, nous analysons différents critères ayant un impact sur l'apprentissage d'un système de traduction automatique neuronal par transfert. dans notre cas, un premier système est entraîné sur une paire de langues puis réutilisé pour entraîner un second système pour la paire de langues ciblée. nous nous intéressons aux différents paramètres qui entrent en compte lorsque l'on emploie ce genre de technique, notamment les caractéristiques des données utilisées pour apprendre le système qui sert de base à notre transfert. en effet, plusieurs travaux portent sur les quantités de données utilisées ainsi que la proximité des langues mises en jeu, et les conclusions divergent @xcite . nous cherchons donc à analyser les configurations de données pour l'apprentissage par transfert afin de déterminer les paramètres pertinents pour obtenir les meilleures performances. ## travaux connexes certaines grandes avancées techniques ont permis au systèmes neuronaux de devenir l'approche la plus efficace pour la traduction automatique @xcite . actuellement, les systèmes neuronaux nécessitent une grande taille de corpus d'entraînement afin d'obtenir de bonnes performances, ce qui, par définition, pose problème pour les paires de langue peu dotées. les systèmes de traduction automatique statistique à base de segments sont alors une alternative pertinente @xcite . plusieurs approches de traduction automatique multilingue ont été utilisées pour traduire des textes dans des paires de langues peu dotées @xcite @xcite . l'utilisation d'encodeurs et de décodeurs universels ont permis à johnson et al. (2016) de concevoir un système apprenant en parallèle de nombreuses paires de langues et obtenant de meilleurs résultats, notamment pour les langues moins dotées. des symboles spécifiques (ex : <2es>) sont alors utilisés afin de contrôler la langue en sortie du décodeur universel. ce genre de modèle permet même de traduire dans des paires de langues non vues pendant l'entraînement (on parle alors de zero-shot learning). cependant, les performances dans de tels cas restent relativement faibles. l'apprentissage par transfert peut combler ce manque en se basant sur un système parent (appris sur une grande quantité de données) qui sert de base pour apprendre un système enfant @xcite . le transfert s'opère plus efficacement lorsque des langues sont partagées entre le parent et l'enfant. dans cette direction, dabre et al. (2017) met en avant l'importance de la proximité des langues pour que le transfert soit de meilleure qualité. ces observations sont contredites dans @xcite où de meilleurs résultats sont obtenus avec des paires de langues plus éloignées mais mieux dotées. le choix du niveau de représentation des mots est une donnée importante. @xcite ont montré que l'utilisation de symboles sous-lexicaux partagés entre les langues des modèles parent et enfant, permettent d'augmenter les performances du transfert. nous utilisons cette méthode en explorant différentes quantités de symboles (i.e. différentes tailles de vocabulaire). les travaux présentés dans cet article étendent ceux @xcite sur plusieurs points. tel @xcite , nous cherchons à évaluer les performances du système enfant en fonction des données utilisées dans le système parent, selon les critères de proximité de langue et de quantité de données. dans cette étude, nous considérons également un système parent constitué d'un encodeur universel (entraîné sur plusieurs langues). nous nous interrogeons sur les différents choix à effectuer pour les pré-traitements des données et les paramètres du modèle de traduction et nous tenterons de déterminer la meilleure configuration. l'objectif est de mieux comprendre la corrélation entre l'impact de la quantité de données et celui de la proximité des langues sur les performances du système enfant. nous verrons que nos expériences contredisent certaines conclusions des articles précédemment cités. ## données notre objectif est d'avoir les meilleurs résultats possibles pour la paire de langue estonien-anglais. nous disposons de 2.5 millions de phrases parallèles pour cette paire de langue. bien qu'on ne puisse pas considérer cela comme une paire de langue sous dotée, cette quantité reste faible pour apprendre un système obtenant de bons résultats. nous allons utiliser l'apprentissage par transfert, nécessitant des paires de langues additionnelles. nous utilisons les données présentées dans la campagne d'évaluation de traduction automatique wmt2018 @xcite . pour évaluer l'impact de la proximité des langues dans le système parent, nous utilisons deux paires de langues différentes. l'une est une paire de langues proche ; nous avons choisi la paire finnois vers anglais car cette langue est proche de l'estonien, ce sont toutes deux des langues finno-ougriennes. nous disposons de 5 millions de phrases parallèles en finnois-anglais. l'autre paire de langues que nous avons choisie est l'allemand vers l'anglais : l'allemand est une langue germanique plus éloignée du finnois et de l'estonien. en revanche, pour la paire allemand-anglais nous disposons de 40 millions de phrases parallèles, ce qui constitue un corpus de choix. nous voulons découvrir si cette différence significative de quantités permettra à un système parent allemand-anglais de fournir un transfert au système enfant aussi efficace qu'avec un système parent finnois-anglais. ## architecture pour réaliser nos expériences nous nous somme basés sur le principe d'apprentissage par transfert trivial @xcite . le principe est d'utiliser une architecture qui ne change pas entre l'apprentissage du système parent et du système enfant. seules les données d'apprentissage sont changées pour passer de l'apprentissage du parent à l'enfant. nous utilisons une architecture bout en bout de type encodeur/décodeur standard avec mécanisme d'attention en traduction automatique @xcite . cette architecture est composée d'un encodeur bi-directionnel et d'un décodeur à base d'unités récurrentes à portes, bi-gru @xcite de taille 800. les plongements lexicaux (embeddings) sont de taille 400. nous appliquons un dropout @xcite de 0.3 sur les embeddings, sur le contexte avant qu'il soit fourni au mécanisme d'attention et sur la sortie avant le softmax. nous utilisons adam (kingma & ba, 2014) pour optimiser les poids. les poids sont initialisés d'après @xcite . le taux d'apprentissage est initialisé à 1.10e-4 et la taille d'un batch est de 32. cette architecture est la seule configuration utilisée pour tous les systèmes présentés dans cet article. ils ont été implémentés avec le toolkit nmtpytorch foot_0 @xcite . ## expérimentations tous les résultats des systèmes présentés ici sont calculés sur les corpus de développement de la tâche de traduction de news de la campagne d'évaluation wmt2018. ## conclusion nous avons présenté une analyse de l'apprentissage par transfert pour la traduction automatique neuronale. cette analyse contient des expériences se concentrant sur deux aspects importants du transfert, à savoir la quantité de données et la proximité des langues. l'objectif est de déterminer lequel de ces deux facteurs est le plus pertinent pour l'apprentissage par transfert. nous avons montré que les quantités de données et la proximité des langues ont un impact dès la réalisation des unités sous-mots et des vocabulaires. ces paramètres sont donc à prendre en compte pour le choix des systèmes parents. nos résultats vont dans le sens de ceux obtenus par @xcite ; la proximité des langues utilisées pour l'apprentissage par transfert est un critère plus important que la quantité de données. à quantités de données équivalentes, les systèmes parents utilisant des paires de langues proches obtiennent de meilleurs résultats. il ne faut pas, en revanche, négliger la qualité des systèmes parents en question et prendre cela en compte dans les résultats des systèmes enfants. cette hypothèse est vérifiée lorsque nous avons une quantité "raisonnable" de phrases parallèles pour apprendre un système de traduction et lorsque nous avons peu de données. notre approche de système universel combinant une grande quantité de données et des données plus proches n'a pas surpassé les approches classiques. dans le futur, nous aimerions pousser cette approche en essayant différentes combinaisons de quantités de données pour mieux comprendre l'importance de la répartition des langues dans cette approche universelle.