Merci ! Votre abonnement a bien été enregistré !
il y a un soucis. Merci de vérifier votre saisie.

Intelligence Artificielle: comment éduque-t-on un réseau de neurones?

La traduction automatique est l’un des problèmes les plus complexes qui se posent à l’intelligence artificielle. Un saut technologique a été franchi, avec l’utilisation des réseaux de neurones artificiels, dont l’architecture est inspirée de celle du cerveau. Quels sont les enjeux de cette rupture?

Wednesday
28
February 2018
read in english
read in english
Lire le résumé

Paris Innovation Review – En deux ou trois ans, les principaux acteurs de la traduction automatique sont passés aux réseaux de neurones. Peut-on parler d’une révolution technologique?

Jean Senellart – On peut parler d’une révolution, en effet, notamment parce qu’elle emporte tout sur son passage et se déroule très rapidement. Chez Systran, nous sommes passés au neuronal en octobre 2016. Début 2017, on entendait encore dire ici et là que les modèles de traduction précédents, fondés sur des statistiques, étaient meilleurs dans certains cas. Mais, un an plus tard, plus personne n’ose le dire. Tout le monde est passé à la traduction neuronale.

Pourquoi ? La réponse principale, c’est qu’il y a un saut qualitatif considérable. Cela faisait des années que l’on stagnait. La seule réelle évolution était l’augmentation du volume de données. Les ingénieurs de Google avaient résumé l’équation : « Vous doublez la taille de votre corpus d’entraînement, et vous gagnez encore un point BLEU » (métrique d’évaluation de la qualité de traduction). Multiplier par deux et gagner un point, c’était devenu la règle d’or.

Or doubler le corpus d’entraînement pour gagner un point, c’est facile à dire, mais on ne peut pas le faire indéfiniment. Même Google arrivait à sa limite.

Quand est arrivée la traduction neuronale, dès les premiers modèles, on a gagné cinq points BLEU sur les comparatifs. Quelque chose se passait, qui justifiait de laisser tomber ce que nous faisions jusque-là.

On continue à dire, dans le secteur, qu’on a trois générations de technologies : la traduction à base de règles, la traduction statistique, et la traduction neuronale. Mais dans 95% des cas, c’est le neuronal qui offre la meilleure qualité.

Ce qui est remarquable, c’est qu’on est parti vers la traduction neuronale d’une façon plutôt modeste, en développant des algorithmes standards qui n’ont pas été développés spécifiquement pour le secteur de la traduction automatique. Et avant même de les affiner, on était déjà 5 ou 10 points BLEU au-dessus de ce qu’on avait fait de mieux en quarante ans. Ce n’est pourtant qu’un point de départ : de nombreux papiers sont publiés régulièrement et laissent entrevoir des potentiels encore plus grands.

Entrons dans le détail, afin de mieux comprendre comment fonctionne cette technologie. On sait qu’une fonction des réseaux de neurones est d'opérer rapidement des classifications et d'apprendre à les améliorer. Pour permettre cet apprentissage, en dehors des modèles de textes déjà traduits, avez-vous besoin d’introduire des structures de langue, les règles de grammaire par exemple?

Non. Ce qui est incroyable, c’est qu’on n’intègre explicitement aucun savoir de ce type. Les dictionnaires continuent à avoir de la valeur, parce qu’un dictionnaire est un corpus aligné très particulier et contient de l’information « concentrée ». Pour entraîner les machines, nous injectons donc dans les données d’entraînement nos propres ressources de type dictionnairique. Mais les règles de grammaire ne peuvent pas être injectées en tant que telles. Elles sont en quelque sorte déjà incorporées dans le corpus, et la machine se débrouille toute seule pour les déduire. Elle ne va pas apprendre des règles de grammaire comme le font les enfants à l’école ; elle va appréhender l’ensemble de la langue comme un tout.

Il y a ici une logique qui rejoint l’histoire des langues et de la linguistique. Les langues se sont développées, elles ont évolué, et c’est après coup qu’on s’est demandé comment elles fonctionnaient. La langue se crée, la linguistique arrive après. Il y a très peu de cas dans l’histoire où une langue a été créée « par décret ». Linguistes et grammairiens scrutent la langue et repèrent des règles, tentent de les formaliser, mais ils ne les créent pas.

C’est exactement ce que font les réseaux de neurones : découvrir par eux-mêmes des régularités. On donne par exemple tout Wikipédia à un réseau de neurones. Et quand on regarde les cellules du réseau, on se rend compte que certaines s’activent seulement quand on est en train de passer sur un nom commun, ou sur un verbe, ou sur un pronom. D’autres cellules vont s’activer quand la phrase est au futur. Le réseau de neurones a réussi à découvrir ces caractéristiques de la langue – comme les linguistes l’avaient fait avant lui. La langue est régie par des concepts assez généraux, si généraux en fait qu’il est normal qu’un réseau de neurones les redécouvre.

C’est une logique inductive: à partir de l’observation de régularités, des structures se dégagent?

Exactement. On peut le voir en traduction, mais on fait aussi des réseaux de neurones qu’on appelle « des modèles de langue », et qui essaient de prédire le mot qui pourrait suivre en fonction du contenu précédent dans une phrase. Quand on fait un modèle de langue, le réseau est obligé d’avoir de manière implicite une classification des mots. Par exemple, si je prends une phrase et que je retire un nom commun, il n’y a pas grand-chose d’autre qui peut se mettre à cette place. Un modèle de langue neuronal va donc construire sa propre représentation de ce qu’est un nom commun pour pouvoir remplacer ce mot. C’est logique. Il est forcé de se représenter les parties du discours dans son travail de modélisation. Mais il ne se contentera pas de catégories générales, comme « nom commun » ; il va continuer à classifier de manière plus fine, selon contexte. Si je vous dis : « Il en a… », sans prononcer la suite de la phrase, vous allez continuer avec le mot « besoin », ou « envie », ou un autre nom adapté, en tout cas quelque chose qui sera très fortement lié à la structure de la phrase. C’est cette logique que découvre et apprend le réseau de neurones. Quand on l’entraîne, il n’apprend pas seulement la grammaire, mais la langue dans son intégralité. Et ceci sans qu’on lui dise de le faire, simplement en repérant des régularités. Il apprend à la façon d’un enfant de deux ans en absorbant des exemples, plus que d’un écolier en apprenant la grammaire.

Cela ne veut pas dire cependant que nous pouvons nous passer complètement de grammaire. Comme pour un humain apprenant une langue, pour « enseigner » à un réseau neuronal à maîtriser certaines règles, il est important de lui présenter des phrases simples qui montrent suffisamment d’exemples associés à cette règle : on parle alors d’utilisation de corpus synthétique. Ici, la valeur ajoutée de l’enseignement (et l’analogie est toujours valable pour un enfant) est de simplifier et répéter la langue pour acquérir et consolider des règles.

Précisons cette idée d’entraînement. Une des stars de l’apprentissage machine, c’est Watson. Les ingénieurs d’IBM insistent sur le fait qu’il faut l’éduquer, le spécialiser sur tel ou tel savoir, ou sur tel mode de raisonnement. On est bien dans la même logique? Quand on parle d’apprentissage machine, il ne s’agit pas simplement de faire tourner l’algorithme?

On est exactement dans la même logique. Notre rôle est d’éduquer les réseaux de neurones. Je reprends l’image de l’enfant de deux ans : quand on apprend la langue à un enfant, on ne lui dit pas ce qu’est un nom ou un adjectif, et l’enfant peut parler un français parfait sans avoir eu besoin de tout cela. Mais en revanche, on va le confronter à des situations de plus en plus diverses.

Aujourd’hui, pour entraîner un réseau de neurones à la traduction, on commence par des choses simples, avec un vocabulaire limité, et puis au fur et à mesure de son apprentissage, on va augmenter son exposition à des termes de plus en plus techniques, à des phrases de plus en plus longues, à des types de textes, des genres différents, la littérature, des documents techniques, des brevets. On l’éduque en lui donnant de plus en plus de diversité.

Ce qu’on a observé récemment, c’est qu’on peut aussi éduquer un moteur anglais-français en lui apprenant à parler espagnol. Et cela l’aide à parler de mieux en mieux français.

Mathématiquement, un réseau de neurones est simplement un objet avec un ensemble de paramètres. Un réseau de neurones comme celui de Google Translate par exemple, aujourd’hui, c’est entre 300 millions et 1 milliard de paramètres. Toute la question est de trouver les bonnes valeurs pour ces millions de paramètres. Il n’y a pas une formule qui va fixer définitivement la valeur du paramètre 23. Le réseau ne s’arrête jamais d’apprendre. On peut simplement lui donner des choses de plus en plus précises pour qu’il affine mathématiquement la valeur de ses paramètres.

Dans le monde de la traduction automatique, on travaille historiquement par paires de langues; Systran couvre ainsi une soixantaine de langues. Si l’on suit la logique suggérée par votre moteur anglais-français qui apprend aussi à parler espagnol, avec les réseaux de neurones la structure est commune pour l’ensemble de ces paires de langues?

De plus en plus. Notre objectif final, ce serait d’avoir un seul réseau qui parle les 60 langues et soit capable de gérer les 23 spécialités sur lesquelles nous entraînons nos moteurs. Aujourd’hui ce n’est pas encore le cas.

C’est avec cette ambition que nous avons lancé un nouvel axe de développement qu’on appelle l’entraînement infini. Pendant très longtemps on a créé des règles. La valeur, c’était le cumul de ces règles. Aujourd’hui on est dans une logique de découverte où l’on doit sans cesse s’adapter aux nouvelles données, aux nouvelles connaissances et les intégrer dans nos modèles neuronaux. Donc la valeur qu’on est en train de créer, c’est la durée et la qualité de l’apprentissage qu’on aura administré à nos moteurs de traduction.  On ne peut pas garantir la vitesse de cet apprentissage mais on peut garantir la croissance incrémentale de la qualité et de l’universalité de la traduction.

Pour revenir à votre question, il est plus rapide aujourd’hui, disons, d’entraîner un moteur français qui traduit de la documentation technique : on sait le faire, c’est assez rapide, ce sera fait en quelques jours. Mais cela aura plus de valeur de développer des moteurs super génériques, super complets, dont l’entraînement va nous prendre six mois, un an, peut-être deux ou trois ans, mais qui auront eux-mêmes une connaissance de tous les domaines, de toutes les langues, et une qualité inégalée.

Il y a donc un équilibre à trouver entre la visée universelle et une performance opérationnelle et commerciale.

Bien sûr. Quand un client nous demande d’entraîner un moteur dans tel ou tel domaine, on ne peut lui demander d’attendre trois ans!

Mais je pense que c’est un problème provisoire. Aujourd’hui, l’ensemble du secteur est entré dans une logique de rapidité. Il faut entraîner le plus vite possible, les ordinateurs sont plus rapides, etc. La performance opérationnelle à court terme reste indispensable. Mais il est nécessaire sur le plan stratégique, de continuer en parallèle à entraîner des moteurs sans interrompre leur apprentissage, pour assurer leur « éducation » à long terme.

Je reprends l’analogie avec l’enfant : il faut 10 ans d’éducation pour rendre un enfant « opérationnel » dans le contrôle de la langue, et des dizaines d’années ensuite pour devenir expert. C’est un peu naïf comme comparaison, mais dans notre secteur, personne ne se dit qu’il va entraîner une intelligence artificielle pendant 10 ans. C’est, je crois, une erreur, que notre processus d’entraînement infini vise à corriger.

Ce qui fait la différence, si l’on veut injecter tout le savoir qui existe dans le monde, tous les textes écrits, toutes les langues, tous les domaines, c’est le temps. Ce n’est pas parce qu’on mettra 10 ordinateurs de plus que cela fera une différence.

Terminons en évoquant un autre saut qualitatif entre les réseaux neuronaux « récurrents », qui s’apparentent à la pensée séquentielle, et les réseaux neuronaux dits convolutifs, auxquels s’intéressent notamment les équipes de Facebook.

Il y a trois paradigmes aujourd’hui.

Les Recurrent Neural Networks (RNN) sont vraiment très séquentiels. La logique des RNN, c’est de se souvenir de tout quand ils arrivent à la fin de la phrase. Mais c’est très compliqué, parce que quand vous commencez une phrase en « Quel » (le pronom interrogatif) et que vous terminez par un point d’interrogation, les deux sont connectés, mais il faut placer 20 à 50 mots pour arriver à faire cette connexion. Il y a donc une perte d’information entre les deux.

Facebook a développé une approche dite convolutionnelle, fondée sur le fait que l’homme a une vision locale : quand vous regardez une phrase, vous ne voyez jamais la phrase dans son ensemble, vous voyez au maximum quatre ou cinq mots en même temps. Vous regardez tout, mais de manière convolutive.

Et il y a une troisième approche, proposée par Google il y a quelques mois. Ils appellent ça le Transformer. Ce qui compte ici, ce sont les relations entre les mots. C’est ce qu’on appelle les modèles d’attention : quand on regarde un objet, quand on entend un mot souvent dans notre esprit se forment des liens vers deux autres mots. Par exemple, si je commence une phrase en disant : « Pour elle, la stratégie… » et que quelques mots plus loin je reprends en disant : « Elle pense que », vous savez à quoi se rapporte ce deuxième « elle ». Le mécanisme d’attention est capable de faire des connexions entre des mots très lointains dans la phrase sans qu’ils soient liés par une séquence : ce peut même être plusieurs pages après.

Aujourd’hui, les RNN sont le paradigme principal. D’abord parce que c’est le plus facile à mettre en œuvre, mais aussi parce que la pensée séquentielle est caractéristique de l’espèce humaine. Quand vous lisez un livre, il n’y a plus de convolution au niveau du document. Quand vous lisez un document de 400 pages, vous lisez de la première page jusqu’à la dernière. Il n’y a plus vraiment de modèle d’attention, parce que votre capacité d’attention ne va pas être capable de connecter des phrases apparues 200 pages plus tôt. La notion de neurones récurrents continue donc de rester pertinente mais il faut clairement la combiner aux autres approches.

Les trois approches ont leur intérêt et sont passionnantes, parce qu’elles font appel à de vrais processus cognitifs humains : itération, attention, et la vision globale ; la question sera plutôt de trouver un équilibre.

Jean Senellart
Directeur général, Systran