Qu’est-ce qu’un Encodeur Décodeur et pourquoi l’utiliser ? – Explication Facile

Comment fonctionne un Encodeur Décodeur et pourquoi l’utiliser en Machine Learning?

L‘Encodeur-Décodeur est un réseau de neurones découvert en 2014 et utilisé dans de nombreux projet. C’est un pilier fondamental dans les logiciels de traduction.

On le retrouve notamment dans le réseau de neurones à l’origine de Google Traduction.

Il est donc utilisé pour des tâches de NLP, traitement de texte, mais aussi pour la Vision par Ordinateur ! Cela en fait un type de réseau de neurones essentiel à comprendre.

Qu’est ce qu’un EncodeurDécodeur ?

Un Encodeur-Décodeur est un réseau de neurones.

Ou plutôt, c’est un modèle de Machine Learning composé de deux réseaux de neurones.

Ces deux réseaux de neurones ont habituellement la même structure. La premiere sera utilisée normalement mais le deuxième fonctionnera de manière inversé.

Je m’explique :

Un premier réseau de neurones va prendre une phrase en entrée pour en sortir une séquence de chiffres.

Le second réseau va prendre cette séquence de chiffres en entrée pour cette fois-ci en sortir une phrase !

En fait ces deux réseaux font la même chose, simplement l’un est pris dans la direction normal et l’autre et dans le sens opposé.

On a donc une phrase, une séquence de mots, qui est ensuite encodé en séquence de chiffres, puis décodé en une autre séquence de mots, la phrase traduite.

Vous l’aurez compris, le premier réseau de neurones est un encodeur et le deuxième neurones est un décodeur.

Mais la pourquoi l’Encodeur-Décodeur est efficace pour la traduction ?

En fait lorsqu’on utilise un encodeur, le sens de la phrase va être stockée et représentée par un vecteur.

On ne peut pas directement passer d’une phrase en français à sa traduction anglaise car cela nous ferait perdre le contexte.


CRÉER TON APPLICATION IA !

Reçois tes 5 JOURS De Formation GRATUITE Pour Apprendre À Créer Ton APPLICATION d’INTELLIGENCE ARTIFICIELLE !

Tous les fondamentaux de la création d’Application IA : les approches, les outils et techniques, les librairies et framework, et bien d'autres ! Découvres étape par étape la création d’application de Deep Learning (tu apprendras même à trouver des idées d’appli !). En bonus, tu recevras notre Guide Ultime du Deep Learning !


Effectivement, si l’on y traduisait directement, on traduirait en fait mot à mot. Sans se soucier du sens global de la phrase.

Par exemple si l’on a comme phrase « prendre une expression au pied de la lettre » et qu’on la traduit mot à mot on aurait : « take an expression at the foot of the letter » qui ne veut rien dire en anglais.

Par contre avec un Encode-Décodeur, on se rapprocherait plus de la traduction : « take an expression literally ».

Ce dernier résultat semble beaucoup proche de ce que l’on souhaite avoir !

En fait, c’est grâce à ce vecteur obtenu avec l’Encodeur que l’on peut garder le sens de la phrase.

On peut dire que l’Encodeur-Décodeur fait une traduction informatique de la phrase de base pour ensuite nous donner le résultat final. C’est cette étape de traduction informatique qui fait toute l’utilité de cette technique.

Photo by Toby Elliott on Unsplash

Conclusion

Les Encodeur-Décodeurs sont largement utilisés dans le monde de la recherche mais ils ont un défaut.

Le vecteur que l’Encodeur produit est fixe. Il va être efficace pour des tâches ou la phrase est aussi petite que lui mais… dès que la phrase est trop grande, le vecteur ne va pas pouvoir stocker toutes l’informations nécessaire.

La traduction finale de cette grande phrase ne sera donc pas aussi pertinente.

Heureusement pour nous, les Encodeur-Décodeurs sont aujourd’hui couplés à des méchanismes qui leur permettent de s’adapter à toute longueur de phrase.

C’est d’ailleurs le sujet de notre prochain article sur les mécanismes de l’attention !


CRÉER TON APPLICATION IA !

Reçois tes 5 JOURS De Formation GRATUITE Pour Apprendre À Créer Ton APPLICATION d’INTELLIGENCE ARTIFICIELLE !

Tous les fondamentaux de la création d’Application IA : les approches, les outils et techniques, les librairies et framework, et bien d'autres ! Découvres étape par étape la création d’application de Deep Learning (tu apprendras même à trouver des idées d’appli !). En bonus, tu recevras notre Guide Ultime du Deep Learning !


Tom Keldenich
Tom Keldenich

Data Engineer & passionné d'Intelligence Artificielle !

Fondateur du site Inside Machine Learning

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.