Analyse du modèle de transformateur en Deep Learning

Pour citer ce mémoire et accéder à toutes ses pages
🏫 University of Algiers 1 Benyoucef BENKHEDDA - Faculté des Sciences - Département de Mathématiques et Informatique
📅 Mémoire de fin de cycle en vue de l'obtention du diplôme de Master - 2020
🎓 Auteur·trice·s
M. AGABI Rayane Younes, Melle. TIDAFI Asma
M. AGABI Rayane Younes, Melle. TIDAFI Asma

Le modèle de transformateur en Deep Learning est au cœur du système de questions-réponses intelligent YouTaQA, qui exploite l’apprentissage approfondi et la recherche d’information pour extraire des réponses précises de la base de connaissances de Wikipédia. Cette approche innovante améliore l’interaction utilisateur et la pertinence des réponses.


Les Transformateurs

Le Transformateur est un modèle de DL utilisé principalement dans le domaine du NLP. Comme les RNNs, les transformateurs sont conçus pour traiter des données séquentielles, comme le langage naturel, pour des tâches telles que la traduction et la classification de textes 1.

Ils utilisent un mécanisme d’attention sans être un RNN, en traitant tous les jetons en même temps et en calculant les poids d’attention entre eux. Le fait que les transformateurs ne reposent pas sur un traitement séquentiel et se prêtent très facilement à la parallélisation permet de les former plus efficacement sur des ensembles de données plus importants. Ils ont remplacé les anciens modèles de RNN tels que les LSTM 2.

Les transformateurs est une architecture qui utilise l’attention pour augmenter la vitesse à laquelle ces modèles peuvent être formés. Le plus grand avantage, cependant, vient de la façon dont le transformateur se prête à la parallélisation. Ils reposent sur une architecture encoder-decoder (Figure 2.2). Le composant d’encodage et de décodage sont des piles du même nombre.

Architecture de base des transformateurs [Tra, 2018].

FIGURE 2.2: Architecture de base des transformateurs [Tra, 2018].

L’encodeur est composé de 6 couches identiques. Chaque couche a deux sous-couches. La première est celle de Multi-head Self-Attention 3 qui permet au modèle de s’occuper des informations provenant de différentes positions. La seconde est un simple réseau feed-forward 4 entièrement connecté en fonction de la position.

Le décodeur à son tour, composé de 6 couches identiques, contient également deux sous-couches similaires à celles de l’encodeur, mais entre elles se trouve une troisième sous-couche qui réalise une Multi-head attention sur l’output de l’encodeur. Cette couche aide le décodeur à se concentrer sur les parties pertinentes de la phrase d’entrée.

En phase d’encodage, comme le montre la Figure 2.3 :

L’entrée est l’encapsulation des mots pour la première couche. Pour les couches suivantes, ce sera la sortie de la couche précédente.

à l’intérieur de chaque couche, la Multi-head self-attention est calculée en utilisant les entrées de la couche comme vecteurs de clés, requêtes et valeurs ; puis le résultat est envoyé à la couche feed-forward.

Architecture de l’encodeur du transformateur

FIGURE 2.3: Architecture de l’encodeur du transformateur

Le principe de Self Attention repose sur l’idée que tous les mots seront comparés les uns aux autres afin d’avoir le sens exact de l’input (Figure 2.4).

Principe de self-attention

FIGURE 2.4: Principe de self-attention

Et donc, contrairement aux RNN, les transformateurs n’exigent pas que les données séquentielles soient traitées dans l’ordre. Grâce à cette caractéristique, le Transformateur permet une parallélisation beaucoup plus importante que les RNN et donc des temps de formation réduits.

Les transformateurs sont devenus le modèle de choix pour résoudre de nombreux problèmes en NLP. Cela a conduit au développement de systèmes pré-entrainés tels que BERT (Bidirectional Encoder Representations from Transformers) 5 et GPT (Generative Pre-trained Transformer) 6, qui ont été formés avec d’énormes ensembles de données en langage général et peuvent être adaptés à des tâches linguistiques spécifiques.

BERT (Bidirectional Encoder Representations from Transformers)

Les transformateurs est une architecture d’encodeur-décodeur, c-à-dire ils prennent une entrée et produisent une sortie. BERT 5 est une architecture qui n’utilise que la partie d’encodeur des transformateurs pour réaliser de multiples tâches. Ce processus est nommé le Transfer Learning 7 qui est une méthode d’apprentissage automatique dans laquelle un modèle développé pour une tâche est réutilisé comme point de départ pour un modèle sur une deuxième tâche.

Cette approche est utilisée en Deep Learning avec les modèles pre-trained comme BERT. Ils sont conçus pour réaliser une des tâches spécifiques (de traitement d’images, traitement de langage naturel…) avec changement de l’input suivant la tâche à réaliser. Il existe deux modèle de BERT, Base et Large :

BERT Base (Cased et Uncased) : contient 12 couches, hidden size=768 et 12 self-attention heads.

BERT Large (Cased et Uncased) : contient 24 couches, hidden size=1024 et 16 self-attention heads.

Uncased réalise une mise en minuscules avant la tokenisation (eq. John Smith devient john smith) et supprime également tout marqueur d’accent. Cased signifie que la casse et les accents sont conservés. En général, le modèle Uncased est préférable sauf si la casse est importante.

Représentation des entrées et sorties du modèle BERT

FIGURE 2.5: Représentation des entrées et sorties du modèle BERT

BERT est un modèle de compréhension linguistique à usage général sur un grand corpus de textes (comme Wikipédia) utilisé dans les tâches NLP. BERT surpasse les méthodes précédentes parce qu’il s’agit du premier système de préformation en NLP non supervisé et profondement bidirectionnel.

La représentation d’entrée utilisée par BERT est capable de représenter une ou plusieurs phrases dans une seule séquence de jetons (Figure 2.5). Le token [CLS] désigne le début de la séquence. Chaque phrase est représentée sous forme de tokens. Les différentes phrases de la séquence sont séparées par le token [SEP].

Le vocabulaire de BERT contient 30,522 tokens. Afin de traiter les mots inconnus, BERT utilise la décomposition en sous-mots.

Keras

Pour le développement de nos modèles de DL nous avons utilisé la librairie de python appelée Keras 8. C’est une API open-source de Deep Learning écrite, fonctionnant sur la plate-forme d’apprentissage automatique TensorFlow. Elle a été développée dans le but de permettre un apprentissage rapide.

Les métriques d’évaluation

Tout comme les systèmes de recherche d’information, les modèles réalisés en Deep Learning doivent être évalués afin de mesurer leur efficacité et leur performance ainsi que pour la sélection des bons hyper-paramètres. Dans cette section, nous présentons les principales métriques utilisées pour l’évaluation des modèles intelligents composants le système YouTaQA.

Accuracy : Représente le nombre d’enregistrements correctement prédits parmi tous les points de l’ensemble de données N. Plus formellement, elle est définie comme suit :

Accuracy = TP + TN / N

Loss : Désigne la moyenne des différences au carré entre les valeurs prédites et les valeurs réelles. Représente le taux d’erreur que le modèle a commis lors de la prédictions des résultats.

F1 score : Le score F, également appelé score F1, est une mesure de la précision d’un test. Il est défini comme la moyenne harmonique pondérée de la précision et du rappel. Cette métrique est nécessaire pour trouver un équilibre entre la précision et le rappel.

F1 = 2 · (Précision · Rappel) / (Précision + Rappel)

Exact Match EM : La métrique de correspondance exacte est une valeur binaire qui prend la valeur 1 si la réponse prédite et la réponse vraie sont exactement égales sans compter la ponctuation et les articles, zéro sinon. Cette métrique étant inconnue pour le grand public, elle est utilisée spécifiquement dans le domaine des QAS 9.

Conclusion

Dans ce chapitre, nous avons abordé la théorie de base du domaine de recherche d’information telle que le processus d’indexation et requêtage d’informations suivie des techniques d’évaluation des moteurs de recherche. De plus, nous avons procédé à une explication claire du traitement du langage naturel et du Deep Learning afin d’introduire le lecteur pour le prochain chapitre qui présentera la conception et l’implémentation du système YouTaQA.

________________________

1 Vaswani et al., 2017.

2 Greff et al., 2016.

3 Voita et al., 2019.

4 Chen et al., 2001.

5 Devlin et al., 2018.

6 Radford et al., 2018.

7 Pan and Yang, 2010.

8 Chollet et al., 2015.

9 Rajpurkar et al., 2016.

Rechercher
Télécharger ce mémoire en ligne PDF (gratuit)

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top