BERT NLP
BERT (Bidirectional Encoder Representations from Transformers) est un article publié par des chercheurs de Google AI Language. Il a fait sensation dans la communauté de l’apprentissage automatique en présentant des résultats de pointe dans une grande variété de tâches de NLP, notamment la réponse aux questions (SQuAD v1.1), l’inférence en langage naturel (MNLI), etc.
La principale innovation technique de BERT consiste à appliquer l’entraînement bidirectionnel de Transformer, un modèle d’attention populaire, à la modélisation du langage. Cela contraste avec les efforts précédents qui examinaient une séquence de texte soit de gauche à droite, soit en combinant l’entraînement de gauche à droite et de droite à gauche. Les résultats de l’article montrent qu’un modèle linguistique formé de manière bidirectionnelle peut avoir un sens plus profond du contexte et du flux linguistique que les modèles linguistiques unidirectionnels. Dans l’article, les chercheurs détaillent une nouvelle technique appelée Masked LM (MLM) qui permet l’entraînement bidirectionnel dans des modèles où cela était auparavant impossible.
Un modèle plus performant que les précédents
BERT fait appel à Transformer, un mécanisme d’attention qui apprend les relations contextuelles entre les mots (ou les sous-mots) d’un texte. Dans sa forme classique, Transformer comprend deux mécanismes distincts : un encodeur qui lit le texte en entrée et un décodeur qui produit une prédiction pour la tâche. Puisque l’objectif de BERT est de générer un modèle de langage, seul le mécanisme d’encodage est nécessaire. Le fonctionnement détaillé de Transformer est décrit dans un article de Google.
Contrairement aux modèles directionnels, qui lisent le texte entré de manière séquentielle (de gauche à droite ou de droite à gauche), l’encodeur Transformer lit la séquence entière de mots en une seule fois. Il est donc considéré comme bidirectionnel, bien qu’il serait plus exact de dire qu’il est non directionnel. Cette caractéristique permet au modèle d’apprendre le contexte d’un mot en se basant sur tout son environnement (à gauche et à droite du mot).
L’entrée est une séquence de tokens, qui sont d’abord intégrés dans des vecteurs, puis traités dans le réseau neuronal. La sortie est une séquence de vecteurs de taille H, dans laquelle chaque vecteur correspond à un token d’entrée avec le même index.
Lors de la formation de modèles de langage, il est difficile de définir un objectif de prédiction. De nombreux modèles prédisent le mot suivant dans une séquence (par exemple, « L’enfant est rentré de ___ »), une approche directionnelle qui limite intrinsèquement l’apprentissage contextuel. Pour surmonter ce défi, BERT utilise deux stratégies de formation.
Comment procède BERT en matière de prédiction ?
Avant d’introduire des séquences de mots dans BERT, 15 % des mots de chaque séquence sont remplacés par un jeton [MASK]. Le modèle tente alors de prédire la valeur originale des mots masqués, sur la base du contexte fourni par les autres mots non masqués de la séquence.
La fonction de perte BERT ne prend en compte que la prédiction des valeurs masquées et ignore la prédiction des mots non masqués. En conséquence, le modèle converge plus lentement que les modèles directionnels, une caractéristique qui est compensée par sa meilleure connaissance du contexte.
Dans le processus de formation de BERT, le modèle reçoit des paires de phrases en entrée et apprend à prédire si la deuxième phrase de la paire est la phrase suivante dans le document original. Pendant l’apprentissage, 50 % des entrées sont une paire dans laquelle la deuxième phrase est la phrase suivante dans le document original, tandis que dans les autres 50 %, une phrase aléatoire du corpus est choisie comme deuxième phrase. L’hypothèse est que la phrase aléatoire sera déconnectée de la première phrase.