Le Mécanisme de l’Attention en Deep Learning – Comprendre Rapidement

Le mécanisme de l’Attention est un processus fondamental en Deep Learning pour comprendre les derniers modèles les plus performants.

Aujourd’hui, la plupart des chercheurs en IA intègrent l’Attention dans leur réseau de neurones.

Pour aborder l’Attention il faut connaître le principe des Encodeurs-Décodeurs, un modèle de Deep Learning expliqué dans cet article.

Effectivement, le mécanisme de l’Attention est une amélioration du système d’encodage-décodage.

Et c’est ce que l’on va voir dans cet article !

L’apport de l’Attention

Les Encodeurs-Décodeurs permettent dans la plupart des cas de traduire une phrase d’une langue à une autre (les autres problèmes que résout les Encodeurs-Décodeurs et l’Attention sont détaillés en conclusion).

À la fin de notre article sur le sujet, on a vu qu’il y avait un défaut à cette approche. Le vecteur créé par l’Encodeur est fixe et cela pose problème pour traduire de longues phrases.

Heureusement, le mécanisme de l’Attention va, d’une part, déjouer ce problème, et d’autre part améliorer les capacités de l’Encodeur-Décodeur.

Ainsi, pour un problème de traduction, le mécanisme de l’Attention va être bien plus performant que l’approche classique.

Photo by Joanne Francis on Unsplash

L’Attention comment ça marche ?

Encodeur – Attention

L’Attention est une amélioration des Encodeurs-Décodeurs, une version 2.0 du modèle.

En fait, le réseaux de neurones derrière un Encodeur est un RNN. Un type bien particulier de réseau détaillé dans cet article sur les RNN.

L’approche classique est de prendre la sortie de l’Encodeur pour ensuite la transmettre au Décodeur qui va nous donner le résultat de notre modèle.

Avec le mécanisme de l’Attention, c’est différent.

Au lieu de se concentrer uniquement sur la sortie finale du RNN, l’Attention va prélever des informations lors de chacune des étapes du RNN (voir schéma ci-dessous) :

On peut voir ci-dessus que dans une couche RNN classique on a une sortie pour chaque mot. Chaque sortie (ou résultat) sera utilisé pour calculer la sortie du mot suivant et ainsi de suite. C’est la récurrence.

Dans une couche RNN avec Attention, on a aussi ce calcul récurrent sur chaque mot. Mais en plus de cela, on garde chacune de ces sorties récurrentes en mémoire pour former la sortie finale.

Dit autrement, l’Encodeur de l’Attention va transmettre beaucoup plus d’informations au Décodeur que lors de l’approche classique.

Intuitivement, ce surplus d’informations explique que la traduction finale sera de meilleure qualité.


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 !


Ehh oui, plus on a d’informations sur une phrase, mieux on peut la comprendre !

Décodeur – Attention

Après cette étape d’encodage, on utilise un autre réseau de neurones appelé ici : Décodeur.

Le Décodeur de l’Attention utilise, lui aussi, un RNN mais il ajoute ensuite d’autres calculs plus complexes.

Sa fonction principale est de comprendre les relations entre chacun des mots.

Cette relation va nous permettre d’identifier les liens qui unissent les mots entre eux. Ainsi notre modèle va comprendre quel verbe se rapporte à quel sujet, quel sujet est associé à quel adjectif, etc.

Pour plus de clarté, on peut afficher les liens interprétés par le Décodeur de l’Attention :

Le Mécanisme de l’Attention – source

Sur ce schéma, on peut voir les liens qui unissent les mots de la phrase « L’animal n’a pas traversé la rue car il était trop épuisé » (en anglais) après avoir utilisé le mécanisme de l’Attention.

En se focalisant sur le mot « animal », on peut voir qu’il est directement relié à « était » et « épuisé ».

C’est logique car c’est bien l’animal qui était épuisé ! Mais est-ce aussi évident pour un ordinateur que pour un humain ?

Eh bien, ici, l’Attention nous prouve que même si les mots sont très éloignés dans la phrase, l’ordinateur peut comprendre leurs relations.

C’est tout l’avantage du mécanisme de l’Attention. Lors de l’entraînement des réseaux de neurones, le modèle focalise son attention sur chaque mot de la phrase.

Ainsi le modèle peut détecter le contexte des mots et avoir une compréhension globale de la phrase.

Vous pouvez, vous aussi, visualiser les liens repéré par le mécanisme de l’Attention et jouer avec les paramètres du modèle. C’est sur ce lien à la section Display Attention.

Conclusion

L’Attention est une avancée majeure en Deep Learning et nous vous avons présenté dans cet article un bref aperçu de ce mécanisme.

Il a été créé pour résoudre des problèmes de traduction mais son champ d’application s’élargit de plus en plus.

Ainsi, il est utilisé dans des tâches de NLP, traitement de texte mais aussi en Vision d’ordinateur.

Il est encore prépondérant aujourd’hui avec par exemple le modèle DINO. Un papier de recherche dévoilé par facebook.ai en avril 2021 (Mathilde Caron, and al.).

L‘Attention permet ici de séparer l’objet principal de l’arrière-plan. Et cela en apprentissage auto-supervisé (c’est-à-dire que le modèle a compris de lui même à résoudre la tâche).

Je vous laisse voir le résultat par vous-même :

En fait, ce modèle de Deep Learning proposé par facebook.ai n’utilise pas que l’Attention… il utilise les Transformers.

Une version 3.0 des Encodeurs-Décodeurs ? À voir dans notre prochain article !

sources :


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.