Felix Hill

Apprendre aux machines à comprendre le langage humain

11 août 2016

Intelligence Artificielle
Illustration de Felix Hill

Introduction et présentation

Narrateur

Chaque année, Microsoft Research accueille des centaines de conférenciers influents du monde entier, y compris des scientifiques de premier plan, des experts renommés en technologie, des auteurs de livres et des universitaires de premier plan, et met gratuitement à disposition les vidéos de ces conférences.

Katia

Bonjour à tous. C'est un grand plaisir pour moi de présenter Felix Hill, du Cambridge Computer Lab. Felix y termine actuellement son doctorat et il a réalisé un travail fascinant sur l'utilisation de réseaux de neurones profonds pour apprendre aux machines à comprendre le langage humain. La parole est à vous.

Les défis de la compréhension automatique

Felix Hill

Merci Katia de m'avoir présenté et merci d'être venus. Je pense qu'une conférence a peut-être été annoncée sous un nom différent. Tout ce qui figurait dans ce résumé précédent sera présent dans cette conférence. J'ai juste un peu modifié la présentation de la conférence. Ce n'est pas comme si j'allais parler de quelque chose de complètement différent.

Felix Hill

Je travaille sur la compréhension automatique du langage et c'est un problème vraiment difficile. Il y a beaucoup de choses difficiles en intelligence artificielle, mais celle-ci en est une. Voici Siri et vous pouvez voir que ce n'est pas encore parfait. Il y a beaucoup de choses dans le langage ici que le système n'a pas vraiment comprises. Il y a une sorte d'aspect sémantique qui est interne aux mots. L'intoxication alcoolique est très différente de l'alcool. Le simple ajout d'un mot supplémentaire change radicalement le sens de ce segment. Il semble l'avoir confondu. Il ne semble pas avoir une bonne perception de l'intention de l'utilisateur ou de la gravité de la situation. Et ce sont toutes des choses dont les humains sont intuitivement conscients lorsqu'ils interprètent le langage et interagissent avec les gens.

Felix Hill

La traduction automatique est une autre application que l'on pourrait considérer comme une application où nous devons comprendre le sens du langage. Entre des langues qui ne sont pas très proches ou pour lesquelles il n'y a pas beaucoup de données, c'est encore assez mauvais. Même entre les langues — ce n'est pas un problème bien défini et il n'y a souvent pas une seule traduction correcte. Mais même entre des langues proches, vous ne pouvez pas l'utiliser pour des choses comme la traduction d'un panneau routier parce qu'il y a de fortes chances que ce que vous obteniez ne soit pas correct.

Felix Hill

Je pense que l'un des facteurs expliquant pourquoi ces systèmes automatiques sont en retard par rapport aux performances humaines dans l'interaction avec le langage est une différence claire entre la manière dont ces systèmes sont entraînés et le scénario dans lequel un humain acquiert et apprend le langage.

Apprentissage humain vs Apprentissage machine

Felix Hill

Une grande partie de mon travail jusqu'à présent a été inspirée par l'idée de combler ce fossé, de rapprocher un peu ces deux choses. Je n'ai pas encore fait grand-chose, donc nous pouvons en parler, mais il reste beaucoup plus à faire et une manière beaucoup plus radicale de rendre les systèmes de compréhension du langage semblables à l'apprentissage du langage humain qui, je l'espère, mènera à des systèmes offrant un comportement linguistique plus proche de celui de l'homme.

Felix Hill

Typiquement, à l'heure actuelle, la plupart des systèmes de compréhension du langage sont encore entraînés selon une méthode classique d'apprentissage automatique supervisé. L'idée est d'approcher une fonction entre les entrées et les sorties dans un ensemble fixe de données d'entraînement qui est généralement défini avant le début de l'entraînement. L'objectif de ces modèles est de réduire une fonction de coût mathématique qui n'est peut-être pas tout à fait ce que font les humains lorsqu'ils apprennent. Comme je l'ai dit, les données d'entraînement sont normalement fixées à l'avance. Les gens jouent sur la façon dont on les ordonne, mais cela n'a pas tendance à dépendre de ce que le modèle sait déjà. Souvent, avec le langage, c'est unimodal, donc c'est souvent du texte ou des ressources linguistiques. Si vous n'en avez pas vu d'exemples, j'en parlerai dans cette conférence.

Felix Hill

Alors que l'apprentissage du langage humain est un peu différent. Nous recevons des instructions en tant qu'enfants sur le langage, mais il semble que la vaste majorité de ce que nous apprenons, nous l'apprenons en interagissant avec les gens et en entendant des exemples corrects de langage sans nécessairement avoir le sentiment de savoir ce qui est mal. Il y a des motivations et des impulsions fortes et claires qui semblent guider l'apprentissage du langage humain. Habituellement, nous voulons apprendre à dire quelque chose pour faire quelque chose. Ce n'est pas vraiment bien reflété dans le cadre d'entraînement actuel. Comme je l'ai dit, si un enfant veut en savoir plus sur quelque chose, alors, une fois que l'apprentissage a un peu progressé, il est capable d'orienter les interactions, les conversations ou tout ce qu'il fait dans une direction qui l'aidera à en apprendre davantage à ce sujet. C'est guidé par ce que le modèle sait déjà, ce qui n'est pas le cas de beaucoup de modèles supervisés actuels. C'est aussi totalement ancré et incarné. Apprendre le sens d'un mot pourrait être quelque chose comme apprendre à quoi ressemble un concept et comment il est physiquement, puis y attacher une étiquette de mot. Tandis que si vous avez ces modèles entraînés sur du texte, alors apprendre le sens d'un mot n'est pas tout à fait comme ça.

Felix Hill

Il y a des divergences assez évidentes. Je pense qu'il y a de bonnes raisons d'essayer de réduire cette divergence. Il n'est évidemment pas vrai a priori que si nous faisons cela, la technologie s'améliorera, mais il y a pas mal de preuves que cela se produit, au moins dans une certaine mesure. Je pense que c'est une bonne chose à essayer.

Paradigmes de la psychologie et agents de langage

Felix Hill

Voici quelques mots à la mode, mais j'aime y penser comme à deux façons de comprendre la psychologie. Il y avait les cognitivistes qui se concentraient vraiment sur le fonctionnement du cerveau et les comportementalistes qui essayaient de modéliser le comportement humain à partir d'une compréhension de niveau beaucoup plus élevé. Je pense qu'il serait intéressant de pouvoir réunir ces deux processus lorsqu'on réfléchit aux modèles de compréhension du langage et à la technologie du langage. Beaucoup de travaux actuels se sont concentrés sur la partie supérieure, mais j'ai l'impression que, surtout pour le langage, qui est une chose si comportementale, nous passons à côté d'un niveau de modélisation qui pourrait être vraiment utile.

Felix Hill

Cela dit, il existe une petite quantité de travaux qui traitent le langage de cette façon, mais ces travaux n'ont pas nécessairement embrassé toutes les options et les possibilités que les derniers travaux de la partie cognition peuvent offrir.

Felix Hill

Si nous combinons ces deux paradigmes, je pense qu'il devient de plus en plus gérable d'avoir des modèles cognitifs fondés sur des principes, entraînés dans un scénario où l'apprentissage du modèle et le cadre ressemblent beaucoup plus à un cadre réaliste d'apprentissage du langage humain. Si nous faisons cela, il y a de bonnes preuves que nous devrions être en mesure d'obtenir des connaissances scientifiques beaucoup plus riches simplement parce qu'il s'agit d'un modèle beaucoup plus réaliste. Tout ce que nous apprenons du modèle devrait être un peu plus valide. Il est également prouvé qu'en rendant le cadre d'entraînement un peu plus semblable à celui des humains, nous améliorerons également les performances. Nous obtiendrons des résultats plus proches de l'humain et des systèmes auxquels les gens peuvent s'identifier plus facilement.

Felix Hill

J'ai appelé cela transformer les modèles de compréhension du langage en agents d'utilisation du langage. Pour le moment, ce sont vraiment des modèles isolés, séparés du problème humain global du langage en tant qu'outil et moyen d'interaction, et il serait agréable d'amener ces modèles dans ce monde. Cela dit, c'est un programme vraiment ambitieux. Ce n'est pas non plus particulièrement nouveau. Je pense que le moment semble vraiment bien choisi pour que cela soit plus réalisable grâce aux données dont nous disposons et aussi aux ressources informatiques disponibles.

Felix Hill

J'ai un peu réfléchi à essayer de faire cela, mais en fait, la majeure partie de mon travail a porté sur la première partie de ce problème et s'est juste un peu étendue vers l'apprentissage situé, interactif ou axé sur les objectifs tout en incluant cette partie d'approximation de fonction. C'est ce que j'ai fait à ce jour. C'est loin d'être ce que j'aimerais faire à l'avenir.

Représentations distribuées et Word Embeddings

Felix Hill

Une façon dont j'ai procédé — Katia a dit que j'avais fait un peu d'apprentissage profond et c'est vrai, mais je pense que surtout avec la compréhension du langage, la nature particulière du modèle n'est pas si importante. Ce qui semble être assez important, c'est le fait que les réseaux de neurones profonds encodent des mots ou d'autres choses qui portent un sens dans ces représentations distribuées. Avant cela, les systèmes de compréhension du langage encodaient souvent un mot simplement comme un symbole, comme une unité atomique, et ensuite les caractéristiques pouvaient être la présence ou l'absence d'un mot ; on peut aller loin avec ça. Même maintenant, si vous voulez savoir quels documents ont le même contenu, des choses comme le TF-IDF sont incroyablement puissantes ; c'est juste un outil où vous pouvez compter combien de mots se chevauchent et compter leur fréquence. Mais dans les modèles de langage neuronaux qui ont émergé plus récemment, les concepts de mots sont représentés dans un espace vectoriel. Une grande partie du travail que je faisais consistait à essayer de comprendre ces représentations de mots, de phrases ou de propositions. La raison étant que si vous voulez adapter ces systèmes pour y introduire des connaissances, cela peut être un bon moyen de transférer des connaissances d'un régime d'entraînement à un autre. Souvent, ces représentations peuvent être entraînées avec des objectifs agnostiques à la tâche. Elles pourraient être simplement entraînées sur du texte ou sur d'autres choses d'origine naturelle et elles peuvent acquérir certains principes de langage qui sont ensuite utiles à injecter ou à ajouter à un autre système.

Felix Hill

C'est pourquoi je me suis intéressé à ce genre de représentations et elles jouent un rôle dans tout le travail que j'ai fait. Beaucoup de gens avaient développé des moyens d'apprendre de telles représentations pour les mots. Il y a toute une histoire remontant à 30 ou 40 ans de différentes manières d'acquérir, généralement à partir de texte brut, ces représentations vectorielles denses pour les mots qui existent dans un certain espace qui lui-même correspond aux intuitions humaines sur ce que les mots signifient. Les mots qui ont un sens similaire se regroupent au même endroit.

Felix Hill

Une chose que les gens n'avaient pas faite est d'étendre cela aux représentations de phrases ou de segments linguistiques plus larges. À mesure que de nouveaux modèles de langage neuronaux capables d'être entraînés sur de plus grands ensembles de données apparaissaient, il est devenu évident qu'il existait des moyens par lesquels ces modèles représentent des phrases et des propositions. Un travail que j'ai réalisé consistait à comprendre les représentations internes de ces modèles et à quel point elles correspondent à la compréhension humaine, ainsi que dans quelle mesure elles peuvent être utiles pour des applications.

Modèles Séquence à Séquence et Auto-encodeurs

Felix Hill

Il s'agit d'un modèle séquence à séquence. C'est un RNN qui lit une phrase dans la langue source puis génère mot par mot une phrase dans la langue cible. Il y a un goulot d'étranglement au milieu, c'est là que le modèle stocke les informations correspondant à ce qu'il a lu dans la langue source et à partir desquelles le modèle commence à générer les mots dans la langue cible. Une fois qu'il a généré un mot, la génération du mot suivant dépend du mot qu'il a précédemment généré ainsi que de ces informations préalables.

Felix Hill

Quand j'ai vu ça pour la première fois, j'ai pensé que ce était magique. Dans cette représentation au milieu, le modèle doit se souvenir de tout ce qu'il y a à savoir sur la phrase d'entrée afin d'être capable d'en obtenir une reconstruction plausible. J'ai pensé que cette représentation de phrase devait être une représentation claire et fidèle de ce que signifie cette phrase. En réalité, il s'avère que ce n'est pas le cas ; la représentation y est très spécifique à l'objectif de traduction. En particulier, elle est en fait fortement biaisée vers le sens au début de la phrase. La raison en est que la tâche consistant à commencer à générer la phrase cible est la plus critique. Une fois qu'il a généré quelques mots, il a son modèle de langage et une idée de ce qui pourrait suivre en fonction des mots qu'il a déjà générés. À ce moment-là, les connaissances contenues dans les poids du RNN générateur peuvent commencer à encoder son modèle de langage pour le français. Mais ce qu'il doit vraiment faire, c'est bien choisir les premiers mots. Il semble que ce soit la partie la plus critique. Ce que cela signifie, c'est que si vous regardez comment sont ces représentations pour des phrases beaucoup plus longues, elles semblent encoder les informations sur le premier segment de la phrase et être ensuite de moins en moins influencées par les mots suivants. C'est confirmé par le fait que des gens ont réellement obtenu une amélioration des performances dans ces modèles lorsqu'ils ont littéralement inversé l'ordre de la phrase anglaise et réentraîné le modèle. On peut faire ça parce que ce modèle n'a aucune connaissance du langage avant de commencer l'entraînement. À long terme, nous aimerions que ces modèles apprennent à partir de texte monolingue et de principes généraux du langage tout en remplissant également l'objectif de traduction. Dans ce cas, le modèle saurait que l'anglais est à l'envers et il n'en aurait pas une bonne perception.

Felix Hill

Ensuite, j'ai commencé à jouer avec des modèles similaires pour essayer de comprendre si nous pouvions obtenir des représentations de phrases plus riches ou des moyens plus riches d'encoder les phrases dans l'état caché. Un objectif sur lequel nous avons travaillé a été inspiré par l'idée des auto-encodeurs de débruitage, qui est une technique d'apprentissage de représentation généralement utilisée pour les images. C'était comme flouter l'image et entraîner le modèle à la reconstruire sans aucun flou. Habituellement, il s'agit juste d'une petite quantité de bruit aléatoire. Dans ce cas, était encore plus rudimentaire ; c'était juste une petite erreur dans la phrase et nous entraînons le modèle à reconstruire la phrase sans cette erreur. Nous avions deux façons de procéder : l'une consistait en l'échange aléatoire de paires de mots et l'autre en la suppression aléatoire d'un mot. Comme je le montrerai dans les résultats, ces représentations ont d'autres propriétés qui sont utiles. Ceci est particulièrement utile pour utiliser ses informations préalables dans un système de paraphrase. Il semble assez bon à cela. La paraphrase est l'idée de détecter quand deux phrases ont à peu près le même sens mais peuvent être écrites d'une manière différente.

Felix Hill

Nous n'avons pas expérimenté pendant des semaines les possibilités d'un tel modèle, mais on peut jouer avec cette fonction de bruit et en changer le nombre. Ce qui a semblé faire une assez grande différence pour l'optimisation, c'est le programme d'apprentissage. Si vous augmentez lentement la quantité de bruit ici, alors le coût du modèle se comporte bien et devient globalement plus bas.

Membre du public

Cela ne fait-il pas de l'encodage au milieu une copie bien plus fidèle du texte parce que vous le pénalisez s'il veut dire la même chose mais utilise des mots différents ? Vous essayez de lui faire construire exactement la même phrase, pas une phrase avec le même sens.

Felix Hill

Exactement. Avez-vous regardé cela ?

Katia

Peut-être un bref suivi. Y a-t-il un moyen pour vous de quantifier la fidélité de cette représentation cachée apprise ou s'agit-il principalement de performances de tâche de bout en bout ?

Felix Hill

Exactement, j'y viendrai essentiellement. Je vais juste présenter quelques modèles différents que nous avons comparés dans cette étude.

Apprentissage par dictionnaire et multimodalité

Felix Hill

Un autre était cette représentation de dictionnaire. Dans ce travail, il existait des méthodes établies pour entraîner des représentations de mots. La première chose dans ce modèle est d'entraîner des représentations de haute qualité pour un vocabulaire complet de mots, peut-être 200 000 mots. L'intuition derrière ce modèle était que si vous souhaitez obtenir une bonne représentation d'une phrase, nous avons besoin d'un signal qui dit ce que signifie cette phrase ou, à tout le moins, d'une fonction objective que nous pouvons exiger d'un modèle qu'il connaisse sur une phrase afin de faire quelque chose. Dans ce cas, l'idée est que le sens d'une définition de dictionnaire ou d'une petite description dans une encyclopédie doit correspondre au mot que cette définition définit. Si nous avons un espace de représentations de mots de bonne qualité, vous pouvez utiliser cela comme signal d'entraînement pour entraîner un modèle à lire les définitions et à arriver au point où se trouve ce mot. Cela a en fait donné de très bons résultats. Les dictionnaires sont des données étiquetées dans le sens où un humain a dû les créer, mais ils sont intéressants dans le sens où ils sont librement disponibles dans de nombreuses langues. Ce genre de données existe bel et bien.

Felix Hill

Une chose intéressante ici est que c'est devenu un très bon banc d'essai pour différents modèles et pour comprendre les informations importantes lors de l'encodage. C'est un RNN classique. Nous en avons également essayé un avec la mémoire à long et court terme (LSTM). Celui-ci a un certain sens de l'ordre des mots car la fonction de mise à jour entre un état caché et le suivant n'est pas nécessairement symétrique. L'ordre dans lequel l'entrée est introduite affectera l'endroit où le modèle finit dans l'espace des mots à la fin. Mais nous avons aussi simplement remplacé cela par l'addition. C'est beaucoup plus rapide à entraîner et c'est aussi plus rapide à encoder au moment du test. Nous avons fait cela parce que les relecteurs nous l'ont demandé comme base de référence, mais en fait, cela a très bien fonctionné. Enfin, nous avions une autre variante où l'entrée du modèle sont les plongements pré-entraînés qui sont les mêmes mots représentés dans le même espace exact que le mot cible sur lequel le modèle est entraîné. Il y a ici une application non linéaire paramétrée par une matrice. C'est la même matrice à chaque position et elles sont ensuite simplement additionnées. Nous avons également essayé ce modèle RNN avec les plongements de mots pré-entraînés comme entrée.

Felix Hill

C'est devenu un bon moyen d'évaluer ce modèle. Juste en jouant avec lui et en saisissant des phrases arbitraires au moment du test et en les récupérant dans l'espace, nous avons trouvé qu'il semblait vraiment avoir une bonne idée de ce que ces phrases signifient. Il généralise assez bien en dehors des données d'entraînement. Quelque chose comme 'une habitude qui agacerait votre patron' n'est clairement pas dans les données d'entraînement ; il n'y a aucun dictionnaire qui définirait un mot comme celui-là. Mais comme je vais vous le montrer, le modèle propose des candidats plausibles pour cela. De même, nous avons constaté que si l'on entraîne le modèle sur un grand nombre de dictionnaires, il en sait assez pour être bon aux questions de mots croisés de culture générale. Il obtenait en fait une proportion très élevée de réponses correctes aux mots croisés rapides du Guardian, surtout si l'on limite la recherche aux mots de la longueur spécifiée par l'indice. On utilise l'information contenue dans l'indice. Cela a attiré beaucoup d'attention parce que ce n'est pas vraiment la motivation derrière le modèle. L'évaluation sur les données d'entraînement réservées a été utile pour comparer différents modèles. Les candidats ici sont vraiment tout à fait plausibles et c'est vrai pour beaucoup de requêtes de ce genre. Il y a beaucoup de choses pour lesquelles il n'est pas bon et elles sont aussi riches d'enseignements. Par exemple, la négation : des mots comme la négation changent massivement le sens mais ils sont courts. Le passage de la forme au sens est évidemment très non linéaire. Ici, vous pouvez voir qu'il possède aussi de très bonnes connaissances factuelles. Introduire des connaissances factuelles pour répondre à des questions dans un modèle de plongement continu est assez difficile car souvent les réponses factuelles n'ont pas une fréquence très élevée et vous avez peut-être besoin de connaissances plus structurées. Il doit y avoir un certain degré de chevauchement dans la forme entre ici et une définition de dictionnaire, sinon ce ne serait pas possible. Il est assez bon pour les choses qui concernent les propriétés définissantes. Je pense que le message ici est que cela pourrait être utilisé comme une interface fluide, mais vous auriez aussi besoin d'un moyen de le combiner avec une base de connaissances plus large, évidemment.

Felix Hill

D'autres moyens d'obtenir des représentations de phrases impliquent des données de génération de légendes d'images. Cela correspondait à ma définition de données non étiquetées car ces images ont été légendées à l'origine pour un site web ou quelque chose du genre. En ce sens, ce n'était pas dans le but d'entraîner un modèle. Ces ensembles de données comme celui de Flickr ont été utilisés pour beaucoup de choses. En fait, l'inverse est la partie la plus intéressante que les gens ont faite. Il s'agit de la génération séquentielle de légendes conditionnées par la représentation de l'image. Nous avons juste inversé le processus pour entraîner un réseau convolutionnel à classer des images. L'idée est alors que la couche finale de ce classificateur forme une représentation intégrée qui encode le contenu de l'image. Lorsque vous prenez un tel réseau pré-entraîné, vous pouvez l'utiliser pour obtenir des représentations de modalité visuelle relativement intéressantes d'une image. Si vous considérez cela comme une représentation fixe qui n'est pas mise à jour pendant l'entraînement du modèle, la tâche consiste simplement à lire la légende et à arriver à un endroit dans l'espace qui correspond au sens de l'image. Vous pourriez considérer cela comme un signal visuel pour obtenir des représentations de phrases. Cela pourrait donner la priorité aux choses qui sont concrètes et existent clairement dans le monde physique.

Modèle FastSent et représentations de phrases

Felix Hill

Comme base de référence, un moyen étonnamment efficace d'obtenir une représentation pour un segment ou une phrase est simplement l'addition brute ou la moyenne des mots. C'est un phénomène un peu bizarre de voir que cela fonctionne. Il y a une certaine intuition, surtout dans ce cas. C'est une façon d'obtenir les représentations de mots. On stocke un ensemble de plongements pour les mots d'entrée et un ensemble différent de plongements pour le même vocabulaire en tant que mots de sortie. Le modèle CBOW prend les plongements d'entrée ; dans un cas d'entraînement, il acquiert ces cas d'entraînement à partir de texte. Dans ce cas, avec cinq mots consécutifs, les deux mots extérieurs des cinq dans les deux directions sont additionnés, ou les représentations d'entrée pour ces mots sont additionnés pour obtenir une seule représentation d'entrée. Ensuite, cela est utilisé pour faire une prédiction. Le modèle est optimisé de sorte que le mot ayant le score le plus élevé corresponde à A comme mot de sortie. Dans la fonction objective ici, il y a une certaine incitation pour que ces choses soient additives d'une certaine manière. Vous voudriez que les mots s'additionnent et aient une sorte de sens cohérent à partir duquel nous pourrions faire une prédiction sur le mot du milieu. C'est juste une petite intuition sur la raison pour laquelle on peut les additionner et obtenir tout de même quelque chose de plausible.

Felix Hill

Nous avons modifié ce modèle afin de le rendre meilleur pour obtenir un type de représentation de phrase. C'est un changement très simple par rapport à ce modèle CBOW ; les représentations d'entrée dans ce modèle sont tirées d'une phrase, puis les représentations de sortie sont tirées des phrases qui se trouvent de part et d'autre de celle-ci dans un livre. Le signal que le modèle essaie d'exploiter a quelque chose à voir avec le récit qui relie une phrase à la suivante dans un livre. Vous pouvez imaginer quel type de connaissance ou de représentation j'aurais besoin pour faire une prédiction forte sur ce qui précède et ce qui suit. Ce modèle est également conçu pour être super simple dans le sens où nous avions des preuves que le simple fait d'ajouter des choses qui ne tenaient pas compte de l'ordre des mots était en fait assez efficace. Nous avons pensé à le faire avec des RNN, mais nous avons trouvé que nous pouvions faire fonctionner ce modèle très rapidement avec cette stratégie simple. Tout ce que nous faisons, c'est initialiser des plongements de mots aléatoires correspondant aux mots d'entrée, qui sont les mots au milieu de la phrase. Ensuite, ils sont simplement additionnés pour créer ce que nous considérons comme une sorte de représentation de phrase centrale pour la phrase du milieu. Sur cette base, en utilisant un softmax, nous faisons des prédictions et essayons d'optimiser le modèle pour donner des scores élevés à tous les mots de la phrase précédente et de la phrase suivante. Ces mots n'ont aucun statut les uns par rapport aux autres, ils sont donc tous égaux. C'est tout un sac de mots, prédisant simplement des mots dans des phrases proches.

Membre du public

Et les plongements de chaque mot sont-ils partagés entre tous les modèles ?

Felix Hill

Les plongements qui sont en jaune ne sont pas les mêmes que ceux qui sont en gris. C'est une décision de conception intéressante qui a également été prise dans ces modèles et il a été démontré par l'expérimentation que c'était en fait nécessaire. Il est intéressant de réfléchir à pourquoi on voudrait cela. On aurait évidemment toujours un score élevé en se prédisant soi-même, mais on ne veut pas nécessairement cela dans le langage. On ne veut pas que le plongement cible d'un mot soit nécessairement le même que le plongement d'entrée d'un mot parce que les mots en jaune doivent être bons pour prédire quels mots se trouvent près d'eux, et souvent ce n'est pas le même mot. Je n'ai pas essayé de le démontrer formellement. Dans ce cas, vous pouvez considérer ces représentations comme étant légèrement différentes de celles-ci parce qu'elles sont optimisées pour être additionnées ; la représentation au milieu doit être bonne et utile pour prédire le contenu des phrases proches. Comment est-ce différent des autres modèles ? J'ai une petite démo qui est en fait assez sympa. On finit avec des représentations qui peuvent être additionnées et on obtient une représentation un peu plus plausible à la fin que ce que l'on aurait obtenu si on les avait simplement entraînées en utilisant le modèle skipgram ou CBOW.

Felix Hill

Dans cette démo, j'ai entraîné un tel modèle et un modèle CBOW, puis j'ai encodé environ 2 millions de phrases issues de mauvaise littérature. La littérature était librement disponible parce qu'elle n'était pas publiée et je pense qu'elle n'a pas été publiée parce qu'elle ne semble pas être très bonne. Vous pouvez saisir n'importe quelle phrase, puis extraire de l'espace la phrase la plus proche dans le livre. Il y a un contraste assez intéressant entre faire cela avec l'ancien modèle CBOW et ce nouveau modèle qui est optimisé pour être un peu meilleur pour les représentations de phrases. C'est un peu lent car il y a pas mal de choses à faire. Aucun des deux n'est parfait ; le modèle ne peut rien faire de particulièrement intelligent, il doit juste extraire d'un ensemble de phrases qui existent déjà. Mais vous pouvez voir qu'à droite, ce qu'il produit là semble plus similaire à la requête que ce qu'il produit à gauche. Il est possible d'essayer cela avec n'importe quelles phrases et de se faire une idée des principes que la représentation encode. Ces représentations — pour que cela tienne sur mon serveur, j'ai dû les rendre assez petites — elles ont toutes deux 100 dimensions. J'ai été frappé par le fait que l'on peut encoder pas mal de choses en 100 dimensions et j'ai pensé que si nous pouvions nous améliorer un peu là-dessus, cela ouvrirait la possibilité d'une génération descendante. Ce qui est agréable avec les phrases de droite, c'est qu'elles sont grammaticalement correctes et dans un anglais parfait parce qu'elles ont été écrites par quelqu'un. Ce qui n'est pas agréable, c'est qu'elles n'ont peut-être pas exactement la bonne sémantique, mais de la même manière, avec la génération de langage actuelle, vous pourriez très bien être capable d'entraîner un modèle pour obtenir une très bonne sémantique, mais il pourrait aussi faire des erreurs linguistiques qui ne sont pas très naturelles. Il pourrait y avoir des avantages à incorporer cela dans un système de génération de sorte que vous produisiez quelque chose qui a déjà été produit auparavant et qui est donc garanti d'être de l'anglais correct. Comme c'est dans cet espace de plongement, c'est déjà facilement utilisable dans un modèle de langage neuronal, ce qui n'est pas le cas avec d'autres approches de recherche d'information. Une autre chose intéressante à propos de ce modèle est qu'il n'y a pas de modèle au sens où tout est dans la représentation des mots ; l'encodeur consiste juste à les additionner. Ce sont juste des représentations de mots optimisées qui sont un peu meilleures pour l'addition. On ne sait pas exactement ce que cela démontre, mais pour moi cela démontre qu'il y a un espace de sens de phrase plus plausible sur le côté droit que sur le côté gauche, mais ces phrases sur la droite sont sans aucun doute un peu plus proches que ce qui est sur la gauche.

Felix Hill

J'ai comparé de nombreux modèles pour essayer de comprendre les représentations et il existe des différences intéressantes entre eux. Certains de ces modèles tiennent compte de l'ordre des mots ; ils encoderont quelque chose de différent selon l'ordre dans lequel vous saisissez les mots. D'autres sont complètement aveugles à l'ordre des mots. Ils nécessitent évidemment différents niveaux de données d'entraînement. Ce qui est bien avec le fait d'essayer d'obtenir ces représentations, c'est que c'est une sorte d'apprentissage non supervisé rudimentaire. On les utilise pour, on l'espère, acquérir des connaissances que l'on peut ensuite ajouter à un autre système ayant une tâche spécifique. Mais le degré auquel ils sont non supervisés n'est pas égal. Certains d'entre eux peuvent être entraînés sur une simple liste non ordonnée de phrases et de propositions. D'autres, ceux qui s'appuient sur la structure narrative d'une phrase à l'autre, doivent être ordonnés. Ainsi, le dernier modèle dont nous avons discuté doit être entraîné sur un livre dans lequel les phrases ont un ordre, sinon l'objectif de prédire des mots dans des phrases proches n'a pas de sens. Enfin, certains d'entre eux s'appuient sur une ressource plus structurée telle que des légendes d'images ou des dictionnaires. Ce sont toutes des choses qui existent dans le monde sans avoir nécessairement besoin d'être éditées.

Comparaison et évaluation des modèles

Felix Hill

Dans un cas d'entraînement, il acquiert ces cas d'entraînement à partir du texte. Dans ce cas, cinq mots consécutifs. Les deux mots extérieurs des cinq, dans les deux directions, sont additionnés, ou les représentations d'entrée de ces mots sont additionnés pour obtenir une seule représentation d'entrée. Ensuite, cela est utilisé pour faire une prédiction et le modèle est optimisé pour que le mot ayant le score le plus élevé dans ce cas corresponde à A comme mot de sortie. Dans la fonction objective ici, il y a une certaine incitation à ce que ces choses soient additives d'une certaine manière. On voudrait que les mots s'additionnent et aient une sorte de sens cohérent à partir duquel on pourrait faire une prédiction sur le mot du milieu. C'est juste une petite intuition sur la raison pour laquelle on peut les additionner et obtenir tout de même quelque chose de plausible.

Felix Hill

Nous avons modifié ce modèle afin de le rendre meilleur pour obtenir un type de représentation de phrase. C'est un changement très simple de ce modèle CBOW. En fait, tout ce qu'il fait, c'est que les représentations d'entrée dans ce modèle sont tirées d'une phrase, puis les représentations de sortie sont tirées des phrases qui se trouvent de part et d'autre de celle-ci dans un livre. Le signal que le modèle essaie d'exploiter a quelque chose à voir avec le récit qui relie une phrase à la suivante dans un livre. Vous pouvez imaginer quel type de connaissance ou de représentation j'aurais besoin pour faire une prédiction forte sur ce qui a précédé et ce qui a suivi. Ce modèle est également conçu pour être en quelque sorte super simple dans le sens où nous avions beaucoup de preuves que le simple fait d'ajouter des choses, et des choses qui ne tenaient pas compte de l'ordre des mots, était en fait assez efficace dans la représentation. Nous avons pensé à le faire avec des RNN, mais nous avons constaté que nous pouvions faire fonctionner ce modèle très rapidement avec cette stratégie assez simple. Tout ce que nous faisons, c'est initialiser des plongements de mots aléatoires correspondant aux mots d'entrée, qui sont les mots au milieu de la phrase. Ensuite, ils sont simplement additionnés pour créer ce que nous considérons comme une sorte de représentation de phrase centrale pour la phrase du milieu. Sur cette base, exactement de la même manière que dans le modèle CBOW, donc en utilisant un softmax, nous faisons des prédictions et nous essayons simplement d'optimiser le modèle pour donner des scores élevés à tous les mots de la phrase précédente et de la phrase suivante. Ces mots n'ont aucun statut les uns par rapport aux autres. Ils sont donc tous égaux. Il s'agit simplement de prédire des mots dans des phrases proches.

Membre du public

Et les plongements de chaque mot sont-ils partagés entre tous les modèles ?

Felix Hill

Les plongements qui sont en jaune ne sont pas les mêmes que ceux qui sont en gris. C'est une décision de conception intéressante qui a également été prise dans ces modèles et il a été démontré par l'expérimentation que c'était en fait nécessaire. Il est assez intéressant de réfléchir à pourquoi on voudrait cela. On aurait évidemment toujours un score élevé en se prédisant soi-même, mais on ne veut pas nécessairement cela dans le langage. On ne veut pas que le plongement cible d'un mot soit nécessairement le même que le plongement d'entrée d'un mot parce que ces mots en jaune doivent être bons pour faire une prédiction pour quels mots se trouvent près de ces mots. Souvent, ce n'est pas le même mot. C'est un peu une intuition, mais je n'en suis pas sûr à 100 % ; je n'ai pas essayé de le démontrer formellement. Dans ce cas, vous pouvez considérer ces représentations comme étant légèrement différentes de celles-ci parce qu'elles sont optimisées pour être additionnées ; vous devez les additionner et obtenir tout de même quelque chose qui a du sens, au sens où la représentation au milieu doit être bonne et utile pour prédire le contenu des phrases proches. En quoi est-ce différent des autres modèles ? J'ai une petite démo qui est en fait assez sympa. On finit avec des représentations qui peuvent être additionnées et on obtient une représentation un peu plus plausible à la fin que ce que l'on aurait obtenu si on les avait simplement entraînées en utilisant le modèle skipgram ou CBOW. Dans cette démo, j'ai entraîné un tel modèle et un modèle CBOW, puis j'ai encodé environ 2 millions de phrases issues de mauvaise littérature. La littérature était librement disponible parce qu'elle n'était pas publiée et je pense qu'elle n'a pas été publiée parce qu'elle ne semble pas être très bonne. Ce que vous pouvez faire, c'est simplement saisir n'importe quelle phrase, puis extraire de l'espace la phrase la plus proche dans le livre. Vous pouvez voir qu'il y a un contraste assez intéressant entre faire cela avec l'ancien modèle CBOW et ce nouveau modèle qui est optimisé pour être un peu meilleur pour les représentations de phrases. C'est un peu lent parce qu'il doit faire pas mal de choses. Aucun des deux n'est parfait. Le modèle ne peut rien faire de particulièrement intelligent. Il doit juste extraire d'un ensemble de phrases qui existent déjà. Mais vous pouvez voir qu'à droite, ce qu'il produit là semble plus similaire à la requête que ce qu'il produit à gauche. Il est possible d'essayer cela avec n'importe quelles phrases et de se faire une idée des principes que les représentations encodent. Une chose qui m'a frappé ici, c'est que ces représentations — pour que cela tienne en quelque sorte sur mon serveur, j'ai dû les rendre assez petites. Elles ont toutes deux 100 dimensions. Cela m'a frappé que l'on puisse encoder pas mal de choses en 100 dimensions et j'ai pensé que si nous pouvions nous améliorer un peu là-dessus, cela ouvrirait la possibilité d'une sorte de génération descendante. Ce qui est agréable avec les phrases de droite, c'est qu'elles sont grammaticalement correctes et dans un anglais parfait parce qu'elles ont été écrites par quelqu'un. Ce qui n'est pas agréable, c'est qu'elles n'ont peut-être pas exactement la bonne sémantique, mais de la même manière, avec la génération de langage actuelle, vous pourriez très bien être capable d'entraîner un modèle pour obtenir une très bonne sémantique, mais il pourrait aussi faire des erreurs linguistiques qui ne sont pas très naturelles. Il pourrait y avoir des avantages à incorporer cela dans un système de génération de sorte que vous produisiez quelque chose qui a déjà été produit auparavant et qui est donc garanti d'être de l'anglais correct. Et parce que c'est dans cet espace de plongement, c'est déjà facilement disponible pour une utilisation dans un modèle de langage neuronal, ce qui n'est pas le cas avec d'autres approches de recherche d'information. C'est une autre utilisation potentielle et nous pouvons essayer une phrase de plus juste pour donner le — une autre chose intéressante à propos de ce modèle est qu'il n'y a pas de modèle au sens où tout est dans les représentations des mots. Il n'y a pas d'encodeur ; l'encodeur consiste juste à les additionner. Ce sont juste des représentations de mots optimisées qui sont un peu meilleures pour l'addition. On ne sait pas exactement ce que cela démontre, mais pour moi cela démontre qu'il y a un espace de sens de phrase plus plausible sur le côté droit que sur le côté gauche, mais ces phrases sur la droite sont sans aucun doute un peu plus proches que ce qui est sur la gauche. Quoi qu'il en soit. J'ai comparé de nombreux modèles pour essayer de comprendre les représentations et il existe des différences intéressantes entre eux. Certains de ces modèles tiennent compte de l'ordre des mots. Ils ont en eux la capacité d'encoder quelque chose de différent selon l'ordre dans lequel vous saisissez les mots. D'autres sont complètement aveugles à l'ordre des mots. Ils nécessitent évidemment différents niveaux de données d'entraînement. Ce qui est bien avec le fait d'essayer d'obtenir ces représentations, c'est que c'est une sorte d'apprentissage non supervisé rudimentaire. On les utilise pour, on l'espère, acquérir des connaissances que l'on peut ensuite ajouter à un autre système ayant une tâche spécifique. Mais le degré auquel ils sont non supervisés n'est pas égal. Certains d'entre eux peuvent être entraînés sur une simple liste non ordonnée de phrases et de propositions. D'autres, ceux qui s'appuient sur la structure narrative d'une phrase à l'autre, doivent être ordonnés. Le dernier modèle dont nous avons discuté doit être entraîné sur un livre dans lequel les phrases ont un ordre. Sinon, l'objectif de prédire des mots dans des phrases proches n'a pas de sens. Enfin, certains d'entre eux s'appuient sur une ressource plus structurée telle que des légendes d'images ou des dictionnaires. Ce sont toutes des choses qui existent dans le monde sans avoir nécessairement besoin d'être éditées. C'est la question de Katia. Comment évaluons-nous cela ? Il y a énormément de travaux en traitement du langage sur l'apprentissage de représentation. C'est assez amusant, mais nous commençons tout juste à comprendre quelles en sont les applications possibles. Une façon dont les gens évaluaient typiquement les représentations de mots était simplement de voir à quel point l'espace des représentations de mots correspondait à une certaine mesure de ce qu'il y a dans l'esprit des gens. Pour ce faire, ils demandent aux gens quels mots sont similaires, ou peut-être même utilisent-ils des données d'imagerie cérébrale pour comprendre à quel point les représentations sont similaires dans l'esprit humain, puis ils comparent une mesure simple comme le produit scalaire ou la distance euclidienne. Sans données d'entraînement, ils interrogent simplement l'espace de représentation et voient à quel point elles sont proches. Cela vous dit que c'est un beau modèle de cognition, mais cela ne garantit pas nécessairement que les représentations soient utiles à quoi que ce soit. D'un autre côté, il y a ces évaluations supervisées. Il ne faut pas confondre cela avec le fait que les modèles soient supervisés. Les modèles en général sont non supervisés, ceux qui acquièrent ces représentations, mais lorsque nous les évaluons, une chose que l'on peut faire est de prendre des données d'entraînement supplémentaires et de les utiliser comme caractéristiques dans un classificateur. L'idée étant que le classificateur est neutre au sens où il n'est pas particulièrement — c'était donc une régression logistique — et si une représentation permet de mieux résoudre ce problème de classification qu'une autre représentation, on a le sentiment qu'il y a des informations plus utiles dans cette représentation. Aucune de ces méthodes n'est parfaite comme moyen d'évaluation pour diverses raisons, mais j'ai essayé d'utiliser les deux comme compromis. Ce que nous avons constaté, c'est que lorsque vous utilisez les représentations dans le cadre supervisé, vous obtenez des résultats radicalement différents sur ce qui est le mieux que lorsque vous utilisez les représentations dans le cadre non supervisé. D'une manière générale, les modèles plus simples, les modèles moins profonds, les modèles qui n'encodent pas l'ordre des mots, obtiennent de meilleurs résultats sur ces évaluations non supervisées. Alors que dans les évaluations supervisées, ce sont les modèles plus complexes avec un réseau de neurones récurrent ou un encodage de l'ordre des mots.

Membre du public

Avez-vous essayé d'autres mesures d'évaluation simples comme les k plus proches voisins ou quelque chose qui n'est pas linéaire mais reste simple ?

Felix Hill

Comment évalueriez-vous en utilisant les k plus proches voisins ?

Membre du public

Intégrez vos — si vous essayez de faire une tâche supervisée, je suppose que les recommandations de films, c'est comme combien d'étoiles vous lui donnez ? Trouvez la phrase la plus proche dans votre ensemble de données en fonction d'une sorte de distance dans l'espace de plongement, puis donnez la classification des k plus proches voisins.

Felix Hill

C'est vrai. Cela irait dans le sens de ce que j'ai appelé les évaluations non supervisées mais en utilisant un ensemble de données légèrement différent qui n'est pas cette mesure psychologique mais plutôt une autre mesure de ce qui est correct.

Membre du public

Je l'appellerais l'évaluation supervisée, juste avec quelque chose qui n'est pas un classificateur linéaire.

Felix Hill

D'accord, donc vous utilisez en fait les données d'entraînement mais le classificateur est non linéaire. La raison pour laquelle j'ai utilisé le formalisme exact que j'ai fait est que d'autres travaux l'avaient déjà utilisé, nous pouvions donc faire une comparaison directe. En fin de compte, le test de n'importe laquelle de ces représentations devrait être : dans combien de systèmes différents puis-je les intégrer pour obtenir une amélioration. Le problème est que cela devient un peu ingérable, du moins pour un travail comme celui-ci où nous comparons de nombreux modèles différents. Idéalement, nous appliquerions les représentations à de nombreuses applications en aval différentes, puis nous évaluerions leurs performances. Si nous autorisons des classificateurs non linéaires ici, cela ouvrirait un champ de comparaison immense dans de nombreux modèles différents. Mais ce serait la chose la plus réaliste à faire car il s'agirait vraisemblablement d'un modèle de pointe dans lequel elle serait utilisée. Il y a un élément non linéaire dans le processus de décodage pour beaucoup de ces représentations. Dans le cas de ces modèles, le coût est calculé sur la base des mots qui sont générés conditionnés par ces représentations dans un RNN. Il n'est peut-être pas surprenant qu'ils ne soient pas très bons à l'évaluation non supervisée. On pourrait soutenir qu'il se pourrait que vous ayez besoin d'un classificateur non linéaire afin d'extraire tout le potentiel de ces représentations. Mais c'est un compromis parce que si vous permettez au classificateur d'être trop puissant, alors vous n'isolez pas l'effet de la représentation. Il se pourrait que le classificateur exploite simplement le peu de données d'entraînement que vous ajoutez par-dessus. Je pense que c'était l'idée derrière la définition d'un cadre dans lequel on utilise un classificateur très simple pour évaluer ces choses. En suivant le cadre d'autres auteurs, j'ai pu comparer mes représentations aux leurs et m'appuyer sur leur travail plutôt que de le refaire. Il y a eu des perspectives intéressantes. Sur les évaluations supervisées, il s'avère en fait que l'entraînement par dictionnaire fonctionne vraiment assez bien. Le modèle avec plongements pré-entraînés dans la plupart des cas — ceux-ci correspondent à différentes tâches comme la recommandation de films, l'analyse de subjectivité et des choses comme ça — le modèle le plus performant est le modèle de représentation de dictionnaire par sac de mots, celui avec le plongement de mots pré-entraîné. C'est un exemple d'apprentissage par transfert. Ce modèle apprend d'abord la signification des mots à partir de texte brut, puis applique ces connaissances en exploitant les données de définition de dictionnaire pour apprendre comment combiner ces significations. Sur cette base, vous obtenez une représentation de segment ou de phrase assez riche. Le modèle d'auto-encodeur de débruitage semble apprendre des caractéristiques qui sont utiles pour la paraphrase. C'est un score assez élevé sur les données de paraphrase de Microsoft Research. Il existe un ensemble de données de taille raisonnable, il y a donc des gens qui ont juste entraîné un type de modèle similaire directement sur ces données. Mais je voulais, dans ce travail, comprendre ce qui pouvait être appris de cette acquisition de caractéristiques par pré-entraînement non supervisé. Il s'avère que les caractéristiques que l'on apprend avec l'auto-encodeur de débruitage sont plutôt bonnes. C'est celui où l'on corrompt l'entrée et où l'on essaie ensuite de recréer la phrase correcte.

Membre du public

Comment cela se compare-t-il à l'état de l'art sur ces points ?

Felix Hill

Je pense que l'état de l'art sur MSRP est maintenant d'environ 81 pour le premier chiffre. C'est un modèle qui a été entraîné en utilisant les données d'entraînement, mais c'était évidemment un modèle qui a été conçu spécifiquement pour cette tâche et nous nous en rapprochons beaucoup simplement en utilisant ces connaissances de base. Quelque chose comme CBOW est le pire modèle ici, mais il s'en sort aussi correctement. On obtient pas mal de choses à partir des données d'entraînement dans l'évaluation supervisée. Dans les évaluations non supervisées, nous voyons une sacrée différence. Le modèle le plus performant — eh bien, une chose qui est intéressante est que le fait d'additionner des représentations de mots donne toujours de très bons résultats. L'un des enseignements de tout cela est que si nous voulons persister dans l'apprentissage de représentation, nous avons probablement besoin de meilleurs moyens d'évaluation. Je ne pense pas que ces évaluations non supervisées saisissent vraiment l'essence de ce que nous attendons d'une représentation de phrase. Si l'on est capable de simplement additionner le sens des mots dans un modèle comme celui-là et d'obtenir des scores aussi élevés, je pense que cela suggère que les exemples ne sont pas — ceux-ci, malheureusement, le STS et le SICK sont deux évaluations distinctes, mais elles consistent toutes deux en des paires de phrases qui sont évaluées par des humains pour déterminer à quel point elles sont similaires. En réalité, l'accord entre annotateurs sur ce point est très faible. C'est une chose extrêmement mal définie. On peut faire cela pour des mots et, en général, on obtient un accord assez élevé. Cela suggère qu'il y a là quelque chose qui est relativement commun d'une personne à l'autre. Mais quand on le fait avec des phrases, cela dépend totalement de la façon dont la personne choisit de percevoir chaque phrase. C'est une analyse très bruitée et c'est le mieux que nous puissions faire avec les évaluations actuelles, mais il est important de ne pas trop en déduire. Une chose qui était intéressante était que sur l'ensemble de tests qui correspondait aux images, le modèle entraîné sur les légendes était en fait le meilleur. Il y a un léger effet de modalité là ; ce modèle est en fait meilleur que les autres modèles pour savoir à quel point les descriptions de légendes sont similaires, celles sur lesquelles il n'a pas été entraîné. Cela vous montre qu'ils sont en fait un peu spécialisés dans le type particulier de langage. Le modèle FastSent, qui était celui que nous avons vu dans la démo, est en fait assez robuste. Mais là encore, en regardant la démo, il était clair que c'est plus fort que CBOW ou skipgram, mais dans ces évaluations, la différence ne ressort pas trop. Pour moi, cela dit que les évaluations sont un peu sous-optimales. Une chose intéressante est que le modèle de représentation de dictionnaire, qui était celui avec les plongements pré-entraînés puis entraîné sur les définitions de dictionnaire, obtient en fait des résultats raisonnables tant dans les évaluations supervisées que non supervisées. Dans la mesure où ce genre d'analyse est utile, la conclusion est probablement que ce sont les meilleures représentations. Dans un monde parfait, je pense que ce que nous aurions, c'est un ensemble prédéfini d'applications en aval où nous pourrions brancher ces représentations et mesurer l'amélioration ou l'absence d'amélioration, puis brancher toutes les représentations différentes. Ce serait le cadre d'évaluation parfait, mais il n'a pas été défini. À l'heure actuelle, les chercheurs doivent se concentrer sur ce qu'ils peuvent facilement comparer avec d'autres travaux.

Réseaux à mémoire et conclusion

Felix Hill

Une chose que j'ai faite récemment et que j'ai trouvée être une façon plus satisfaisante de comprendre les représentations est un réseau à mémoire. Il s'agit d'un réseau un peu plus profond dans lequel on peut encoder des représentations de ce qui est considéré comme des souvenirs. Nous avons mis cela en place sur ce que nous avons appelé la tâche du livre pour enfants, qui est une tâche de modélisation du langage. La modélisation du langage consiste simplement à prédire les mots manquants dans une phrase, mais dans ce modèle, dans les données d'entraînement, on a accès aux 20 phrases précédentes, puis dans la 21e phrase, un mot manque et on doit prédire ce mot. C'est différent des ensembles de données de modélisation du langage précédents car, normalement, on n'obtient qu'une phrase et on doit prédire le mot. Comme cela provient de livres, il y a beaucoup de récits, ce qui signifie que des choses réapparaissent et le modèle est testé sur sa capacité à regarder plus loin que la phrase actuelle et à faire quelque chose de sensé. La base de référence pour cela serait quelque chose comme un modèle de langage RNN. Vous entraînez littéralement le modèle à ignorer les limites de phrase et à être optimal pour prédire le mot suivant, puis au moment du test, vous arrivez ici et faites une prédiction. Vous pouvez le conditionner aux mots restants afin de faire votre sélection sur la base de la probabilité la plus élevée jusqu'à la fin de la phrase. Ce serait une base de référence et nous avons comparé avec cela. Le réseau à mémoire a une architecture légèrement différente. Il fait cela à ce niveau, mais en même temps, il calcule une représentation du contexte et un mécanisme qui pondère l'endroit où regarder dans cette représentation, puis il recrute cette information et l'utilise pour faire une prédiction. C'est plus profond ; il y a un peu plus à optimiser car il faut optimiser ce RNN qui lit la question, mais il faut aussi optimiser un réseau qui représente cela et un mécanisme qui regarde cela. Ce sont trois choses à optimiser. Dans le contexte de l'apprentissage de représentation, c'est assez intéressant car on peut en fait faire des choix assez structurés sur la façon de représenter cette information. Gardez le même mécanisme d'attention softmax qui est littéralement juste une moyenne pondérée de quel élément de la mémoire je devrais regarder plus que les autres. La forme de représentation que vous choisissez ici peut faire une assez grande différence sur les performances du modèle. C'est assez intéressant pour comprendre les représentations car c'est une application plus concrète en aval. La plupart des gens n'ont pas besoin d'une application qui prédit le mot suivant, mais c'est plus proche d'une application linguistique réelle. Vous pouvez imaginer que ce genre de modèle de langage soit très utile à placer au-dessus d'un système de traduction automatique pour évaluer les résultats. C'est utile pour tout type de système de dialogue pour s'assurer que ce qui sort est un langage plausible. Les modèles de langage sont indéniablement utiles et il s'agit d'une tâche plus extrinsèque. Il est plus facile d'expliquer cette tâche que de demander à des gens d'évaluer des phrases. Nous avons en fait demandé à des humains de passer ce test également. C'est assez intéressant. J'ai oublié de mentionner qu'il y a une liste de réponses possibles ici. Nous avons demandé à des humains de le faire lorsqu'ils n'avaient que la phrase finale, puis nous leur avons demandé de le faire lorsqu'ils avaient les 20 phrases précédentes. C'est en fait incroyablement ennuyeux à faire parce que cela fait beaucoup à lire à chaque fois. Mais c'est intéressant : ils obtiennent environ 65 % de bonnes réponses lorsqu'ils n'ont que la phrase, et cela monte à environ 80 % lorsqu'ils ont tout. Nos modèles montrent également cet effet, mais ils n'atteignent évidemment pas les performances humaines.

Membre du public

Avez-vous dit que vous leur donniez une liste d'options ?

Felix Hill

Oui, ces candidats ici.

Membre du public

Alors, d'où viennent ces options ?

Felix Hill

Elles viennent en fait toujours d'ici. Cela — il y a un certain nombre de choses qui affectent quels modèles fonctionnent là-dessus. Nous n'avons pas réellement utilisé les candidats pour l'entraînement ; lorsque nous avons entraîné ce modèle, nous avons juste utilisé la connaissance de ce qu'est la bonne réponse. Mais vous pourriez imaginer un entraînement basé sur le classement qui pénalise d'autres candidats et augmente le bon candidat. Dans ce cas, il s'agissait simplement d'un entraînement par maximum de vraisemblance où nous augmentions simplement la probabilité d'obtenir la bonne réponse. Nous n'avons donc utilisé ces candidats qu'au moment du test pour choisir entre eux.

Membre du public

Pourquoi fournissez-vous des candidats tout court ? Cela semble compliquer l'ensemble du système.

Felix Hill

Évidemment, cet ensemble de données pourrait être utilisé sans candidats. Je ne sais pas exactement pourquoi la décision a été prise de fournir des candidats. Il se pourrait que le score moyen soit de l'ordre de 20 % si vous ne fournissiez pas de candidats. Dans ce cas, je suppose que cela permet de rester ouvert à une plus large gamme de modèles qui peuvent d'une manière ou d'une autre évaluer ceux-ci et les classer par rapport à un modèle qui doit réellement faire un choix dans tout son vocabulaire. Cela peut souvent être très coûteux et peut-être pas le type de modèle que nous voulons. Je convien que nous aurions pu le faire sans les candidats.

Membre du public

Vous décrivez cela comme s'il s'agissait de l'ensemble de données de quelqu'un d'autre, mais c'est vous qui l'avez créé, n'est-ce pas ?

Felix Hill

Je l'ai créé en collaboration. Nous avons juste — je ne me souviens pas du moment où nous avons convenu d'inclure les candidats. Mais vous avez tout à fait raison, il a été élaboré par moi et des collaborateurs. Il pourrait être utilisé sans candidats, mais une chose que nous voulions éviter était que l'on ne puisse évaluer les modèles que sur la base de la perplexité. Nous voulions avoir des modèles où ils pourraient obtenir un score numérique ; si vous exigez des modèles qu'ils donnent une probabilité à la bonne réponse, alors cela restreint évidemment la classe de modèles qui pourraient potentiellement tenter la tâche. Quoi qu'il en soit, ce qui était intéressant, c'est que nous avons trouvé dans ce — il est assez difficile d'optimiser ce réseau et je n'ai travaillé là-dessus que pendant une courte période, donc je n'ai pas essayé beaucoup de formes de représentation différentes — mais un point intéressant était que dans ce modèle, nous avons trouvé que de petits segments infra-propositionnels étaient de loin le moyen le plus instructif de représenter le contexte dans la mémoire. Si nous essayions d'incorporer la phrase entière dans une seule représentation puis d'avoir simplement 20 souvenirs de phrases, le modèle perdrait des informations d'une manière ou d'une autre. Elles deviendraient floues. Mais lorsque nous avions des segments de longueur cinq, juste des fenêtres se déplaçant à travers la mémoire, et que le modèle était ensuite autorisé à sélectionner en regardant ceux-ci, il obtenait alors de bien meilleurs résultats. C'est la fin de la conférence. Juste pour récapituler, l'objectif à long terme serait d'essayer de rendre les modèles de compréhension du langage plus proches du scénario dans lequel les humains apprennent le langage. J'ai fait un peu de travail qui va un peu dans ce sens en termes d'amélioration de la partie apprentissage supervisé et en la rendant un peu plus réaliste. À l'avenir, ce qui m'intéresse, c'est de combiner de tels modèles avec différents cadres d'entraînement qui permettent aux modèles de prendre différents exemples d'entraînement et d'explorer des zones de données d'entraînement afin de voir différents effets et, je l'espère, d'améliorer la technologie. Merci.

Modératrice

Malheureusement, nous n'avons plus de temps, mais Felix sera là pour le reste de la journée, donc s'il y a quoi que ce soit sur lequel vous voudriez revenir, n'hésitez pas à aller discuter avec lui. Merci beaucoup.