L'apprentissage non supervisé et les réseaux antagonistes génératifs
24 octobre 2016
Intelligence Artificielle
L'importance de l'apprentissage non supervisé
Je crois fermement que l'un des plus grands défis de l'apprentissage automatique dans les prochaines années est l'apprentissage non supervisé, qui sera l'ingrédient nécessaire pour que les machines deviennent plus autonomes.
La manière dont nous entraînons ces systèmes que je vous ai montrés est l'apprentissage supervisé, où nous disons à l'ordinateur ce qu'il doit faire dans chaque circonstance sur laquelle il est entraîné. Il est coûteux de collecter toutes ces données étiquetées, de faire interpréter par des humains le contenu d'images ou de phrases ou d'autres types de données. Parfois, nous n'avons même pas cette réponse.
D'un autre côté, il y a toutes ces données non étiquetées qui pourraient être collectées ou qui sont disponibles et dont nous aimerions pouvoir tirer parti. Il existe d'autres raisons pour lesquelles l'apprentissage non supervisé est intéressant. Par exemple, il y a des problèmes comme la traduction automatique ou la segmentation d'images, où même s'il s'agit d'un problème d'apprentissage supervisé, nous passons de X à Y, les Y, les choses que nous voulons prédire, sont compositionnels.
Vous avez de nombreux mots dans une phrase ou de nombreux pixels, et vous ne pouvez pas choisir un mot dans la phrase indépendamment du choix que vous faites pour les autres. Vous ne pouvez pas choisir quelle devrait être l'étiquette pour un pixel sans considérer les choix que vous faites pour les autres pixels proches, par exemple.
Ces types de tâches sont appelés problèmes de sortie structurée, et ils nécessitent d'apprendre la distribution conjointe d'un ensemble de variables aléatoires étant donné d'autres variables aléatoires. Ce problème d'apprentissage de la distribution conjointe d'un ensemble de variables aléatoires est ce qu'est l'apprentissage non supervisé. Cela ne se fait peut-être pas de manière explicite, mais c'est essentiellement ce que l'apprentissage non supervisé essaie de faire.
Il y a eu une renaissance incroyable de la recherche en apprentissage non supervisé au cours de la dernière ou des deux dernières années, après quelques années d'interruption où tout le monde était enthousiasmé par les réseaux convolutifs et l'apprentissage supervisé, précisément parce qu'il existe ce potentiel de construire du bon sens et une compréhension plus autonome du fonctionnement du monde si nous pouvons faire en sorte que l'apprentissage non supervisé fonctionne mieux.
Les Réseaux Antagonistes Génératifs (GAN)
L'une des techniques en vogue ces jours-ci pour les modèles génératifs non supervisés est appelée GAN, pour Réseaux Antagonistes Génératifs, et elle provient de mon laboratoire il y a presque exactement deux ans. Laissez-moi vous en dire quelques mots. C'est intéressant pour un certain nombre de raisons. L'une d'elles est que cela finit par faire quelque chose de très différent de l'approche habituelle du maximum de vraisemblance, ou de la pratique courante en statistiques et en apprentissage automatique.
Ce que nous allons faire, c'est de l'apprentissage non supervisé en apprenant une fonction objectif. Habituellement, on pense à entraîner une machine qui apprend la distribution à l'aide d'une fonction objectif que nous définissons à la main. Mais l'objectif de vraisemblance, lorsque vous essayez de faire de l'apprentissage non supervisé, est typiquement intraitable. Et il n'est même pas clair que ce soit la bonne chose à faire.
Dans cette configuration, nous nous écartons également des approches classiques de l'apprentissage non supervisé de la manière suivante. Classiquement, nous construisons une fonction de probabilité, une formule qui dit que P de X est égal à quelque chose avec des paramètres et des variables. Une fois que nous avons estimé la fonction par maximum de vraisemblance, nous trouvons un moyen de répondre aux questions en utilisant ce modèle. Dans les modèles compliqués, cela peut être très coûteux. Nous pourrions avoir besoin de quelque chose comme le Monte Carlo par chaîne de Markov.
Il y a un décalage entre la façon dont nous allons utiliser le modèle, pour répondre à des questions, faire des inférences ou générer des réponses, et la façon dont nous représentons le modèle et comment nous l'entraînons. Au lieu de cela, avec les GAN, nous allons entraîner directement un système pour produire les choses que nous voulons. Si nous voulons un modèle génératif, nous allons avoir un réseau de neurones, le réseau génératif, et laissez-moi montrer une image ici.
En bas à droite ici, vous avez un réseau de neurones qui prend des nombres aléatoires comme des gaussiennes, et il va produire une image X. Nous allons entraîner ce réseau générateur qui prend un vecteur aléatoire et produit les choses que nous voulons. Il devrait être vrai que pour n'importe lequel des choix aléatoires, nous obtiendrons quelque chose qui ressemble à des images ou des phrases ou quoi que ce soit que nous essayions de générer.
Comment allons-nous entraîner ce générateur ? Ce qui est bien, c'est que nous entraînons directement ce que nous voulons utiliser à la fin, si nous voulons générer de la poésie ou de la musique ou des dessins animés ou n'importe quoi d'autre. Les gens commencent à faire des choses amusantes avec cela. Nous allons le faire en entraînant un autre réseau, le réseau discriminateur, que nous appelons discriminateur car son travail est de déterminer si ce qu'il reçoit en entrée provient du générateur ou provient de l'ensemble d'entraînement.
Nous entraînons un classifieur qui essaie de distinguer les données réelles des fausses données provenant du réseau. Ensuite, nous allons utiliser cela pour entraîner le générateur en l'entraînant à tromper le discriminateur. C'est comme quelqu'un qui fabrique de la fausse monnaie et la police qui apprend à distinguer les caractéristiques de la fausse monnaie de la vraie monnaie.
Il y a des mathématiques vraiment intéressantes derrière cela car cela ne rentre pas dans le cadre habituel de l'apprentissage automatique à une seule fonction objectif. Il s'agit en fait d'une configuration amusante de théorie des jeux, et il reste encore plus de théorie à faire derrière cela. Je pense que beaucoup d'articles sortent ces jours-ci à ce sujet.
Évaluation et applications des modèles génératifs
Ils sont en fait assez difficiles à entraîner, et il a fallu un certain temps avant que les gens ne commencent à obtenir de bons résultats avec cela. Cela a commencé l'année dernière, et nos collègues de NYU ont commencé à montrer des images générées avec ces GAN et à demander aux gens : « Est-ce une image qui a l'air réelle ou pensez-vous qu'elle provient de l'ordinateur ? » C'est un test de Turing visuel.
Parce que c'est un autre problème avec ces modèles. Nous ne savons pas comment évaluer la qualité de ce qui est généré. Nous avons juste une machine qui génère, mais si nous avons deux systèmes différents, nous n'avons pas d'étalon universel pour dire si l'un génère mieux que l'autre. Pour l'instant, nous utilisons l'évaluation humaine, ce qui n'est pas satisfaisant, mais c'est vrai dans d'autres domaines, comme la synthèse vocale, où nous n'avons pas d'autre étalon que de demander à des humains.
Un peu plus tard, un autre groupe également lié à Facebook a montré des images encore plus belles. Celles-ci ont été entraînées sur des images de pièces. Elles sont générées par l'ordinateur. Ce ne sont pas de vraies images ; ce sont des images rêvées. Maintenant, vous pouvez faire des jeux avec cela car nous avons cette machine qui a un vecteur aléatoire en entrée et produit une image en sortie.
Ce que nous pouvons faire, c'est prendre deux vecteurs aléatoires et faire une interpolation linéaire dans cet espace latent. Maintenant, nous avons une séquence de points entre ces deux vecteurs aléatoires, puis pour chacun de ces points intermédiaires, nous pouvons générer l'image correspondante. Maintenant, nous pouvons voir comment le déplacement dans cet espace latent correspond au déplacement dans l'espace de l'image.
Vous voyez que si vous regardez la troisième ligne, ça bouge. Une nouvelle fenêtre apparaît au fur et à mesure que vous allez de la gauche vers la droite. Ou en bas, il y a un objet apparemment sur le lit qui disparaît. Se déplacer dans cet espace signifie des objets qui entrent, qui sortent, des choses qui bougent, et cela nous donne une idée de ce qui a été appris.
Vous pouvez utiliser cela pour faire des jeux comme prendre la représentation d'une image d'un homme avec des lunettes, soustraire le vecteur pour une image d'un homme sans lunettes, et ajouter l'image d'une femme sans lunettes, et vous obtenez des femmes avec des lunettes. On s'amuse beaucoup.
Défis futurs et aspects sociaux de l'IA
Il y a bien d'autres défis que je n'aurai pas le temps d'aborder en détail, mais l'apprentissage de dépendances à long terme dans les réseaux récurrents reste un défi majeur. Il y a encore beaucoup de choses que nous ne comprenons pas sur l'entraînement des réseaux profonds et qui pourraient potentiellement être améliorées. Je pense qu'il existe des directions de recherche intéressantes liées à l'attention et à l'inférence itérative que nous ne savons pas encore bien faire.
Le plus important est d'apprendre des connaissances générales ou le bon sens, ce qui pourrait être vraiment important pour l'apprentissage par renforcement, mais en général pour l'apprentissage automatique. Laissez-moi dire quelques mots en dehors de la science et davantage sur les aspects sociaux. Comme je l'ai dit au début, il y a une demande extrême de l'industrie pour l'expertise en apprentissage profond.
Les salaires des doctorants sortant de mon laboratoire vont de 200 000 à un million de dollars par an s'ils sont prêts à aller en Californie. C'est fou. C'est un problème pour l'industrie qui ne peut pas payer ces salaires, et c'est un problème pour le milieu universitaire car nous avons du mal à garder les meilleurs étudiants qui resteraient dans le milieu universitaire. Maintenant, ils vont dans ces laboratoires de recherche industrielle.
Ces laboratoires de recherche industrielle leur offrent non seulement de bons salaires, mais aussi des conditions de travail incroyables, imitant essentiellement le milieu universitaire. Il existe quelques-uns de ces laboratoires comme DeepMind, Facebook AI Research, OpenAI et Google Brain où vous avez beaucoup de liberté, vous pouvez parler de ce que vous faites, vous pouvez faire de la recherche à long terme et vous n'avez même pas à vous soucier des brevets.
C'est quelque chose à garder à l'esprit pour les entreprises qui essaient d'attirer ce genre de personnes. En même temps, les entreprises ne veulent pas simplement avoir un groupe de chercheurs ; elles veulent que ces chercheurs fassent quelque chose d'utile pour leur entreprise. Il y a un défi pour s'assurer que ces personnes ont à la fois la liberté d'explorer des questions de recherche à long terme et se trouvent dans un environnement où elles parleront aux personnes qui construisent des produits. Ce n'est pas facile.
Je pense qu'il y a un certain nombre d'entreprises qui ont essayé de faire cela et ont échoué, et d'autres qui réussissent, et je pense qu'il est intéressant de réfléchir à la manière de bien faire les choses. Mais le plus important est de détacher les organisations de recherche de ces entreprises de la partie produit. Le financement de la recherche ne devrait pas être lié aux unités commerciales ou aux produits, mais en même temps, nous voulons que ces personnes se parlent et soient à proximité immédiate afin que les chercheurs aient une motivation psychologique pour faire quelque chose d'utile pour leurs pairs.
Je pense avoir assez parlé. Je pourrais en dire plus à ce sujet et sur ce que je pense des brevets, mais je vais juste vous donner l'occasion de me poser quelques questions. Merci.
Session de questions-réponses (Q&A)
Merci beaucoup pour cette conférence passionnante. Je suppose que je parle au nom de tous en disant que nous avons suivi votre présentation avec attention. Nous n'avons que cinq minutes, et Stan Matwin, le directeur de l'Institut pour l'analyse des mégadonnées, a la première question. Comme d'habitude, veuillez vous présenter pour les personnes qui suivent en streaming.
Merci beaucoup, Yoshua, pour cette conférence fantastique. Je voulais vous poser une question sur quelque chose que vous avez abordé, qui est un véritable défi pour le domaine : pour construire de vrais systèmes d'IA, nous devrons d'une manière ou d'une autre être capables d'y introduire la quantité massive de connaissances de bon sens, de physique, de géographie, etc.
Si nous commençons, il n'est pas très clair non plus de savoir ce que devrait être l'entrée. Car si nous commençons par des manuels scolaires, il est probablement trop tard car les enfants ont déjà appris beaucoup de ces choses au cours de leur petite enfance. Je me demandais quel était votre avis là-dessus. J'étais à une réunion où l'un des éminents chercheurs en IA en apprentissage automatique, du côté bayésien plutôt que de l'apprentissage profond, a dit qu'il disait à tous ses nouveaux étudiants de suivre des cours de psychologie du développement de l'enfant parce que c'est le meilleur modèle que nous ayons sur la façon dont ces choses non triviales ont été apprises.
Nous avons essayé l'IA classique avec Cyc pendant de nombreuses années, et je pense que c'est un échec. Quel est votre avis ? Parce que sans ce type de connaissances, je pense que nous n'y arriverons pas.
Je suis d'accord. J'ai insisté sur ce point. Je pense qu'il est important de regarder ce qui se passe chez les humains, tant d'un point de vue psychologique que d'un point de vue des neurosciences. Je pense que nous avons encore beaucoup à apprendre sur la façon dont les cerveaux font les choses.
Il y a quelques années, j'ai eu une idée appelée apprentissage par curriculum. C'est en train de devenir un outil important pour l'entraînement de ces réseaux de neurones compliqués qui font du raisonnement, où le réseau de neurones apprend selon une séquence d'étapes, à la Piaget, et il s'avère que c'est important. Mais je pense que nous avons besoin de beaucoup plus de choses de ce genre. Je suis d'accord.
Quant aux données que nous devrions utiliser, je pense qu'il y a déjà beaucoup de données disponibles que nous pourrions utiliser. Nous n'avons qu'à embrasser toutes les informations qui fourniraient à l'ordinateur des données de bon sens. Les films, les textes, les pages Web, tout ce que nous avons est un terrain de jeu équitable pour cela et potentiellement le fait d'avoir des enseignants. C'est une autre direction intéressante.
J'ai une question très inhabituelle. Les réseaux de neurones ne sont pas nouveaux. Ils existent depuis les années 50, après la Seconde Guerre mondiale. Les gens connaissaient les réseaux de neurones comme la deuxième meilleure solution pour tout en apprentissage automatique. Pourtant, dans les années 90, les gens ont perdu tout intérêt. Même NIPS, la conférence sur...
Ce n'est pas une question inhabituelle. Allez-y.
Même NIPS, la conférence sur... le N avait disparu. Exactement. Pourtant, une poignée de personnes, de fervents partisans, ont continué, comme le trio canadien, vous et vos collègues. Qu'est-ce qui vous a motivé ? Pourquoi avez-vous continué à faire de la recherche sur les réseaux de neurones alors que tout le monde les avait abandonnés ?
J'ai dû tordre le bras de mes étudiants. Ils voulaient aussi faire des machines à noyaux. Parce que si vous croyez suffisamment en ce que vous considérez fermement comme la bonne chose à faire, alors vous continuez et vous oubliez ce que les autres en pensent.
À l'heure actuelle, il est facile de faire de l'apprentissage profond parce que tout le monde s'y lance. Mais ce qui serait plus difficile, ce serait de travailler dans un domaine où personne ne pense que c'est la bonne chose à faire. C'est ainsi que la science progresse réellement, parce qu'il y a quelques personnes qui sont assez folles pour ne pas suivre la tendance. Il faut avoir de la chance, car il y a beaucoup de ces choses qui ne fonctionnent pas.
Je pense qu'il y a, malheureusement, trop de comportements moutonniers en science et que les gens suivent la tendance ; nous devrions encourager beaucoup plus la diversité et l'exploration.
Une autre question dans la salle ? Si non, alors nous remercions encore Yoshua Bengio. Merci.