Yann LeCun

L'histoire, l'état de l'art et les obstacles de l'apprentissage profond

31 mars 2017

Intelligence Artificielle
Illustration de Yann LeCun

Introduction et Contexte

Yann LeCun

Merci beaucoup, Professeur Yao. C'est un grand plaisir et un grand honneur d'être ici. C'est ma quatrième fois en Chine, je suis venu à Pékin à chaque fois, et c'est un plaisir à chaque fois d'apprécier la culture et tout ce qu'il y a ici.

Yann LeCun

Je vais donc parler un peu de l'histoire de l'apprentissage profond, mais aussi un peu de l'état de l'art, et beaucoup des obstacles que nous rencontrons dans la progression vers l'IA. Et j'espère inspirer certains d'entre vous à travailler sur ces problèmes, qui sont selon moi ceux qui nous séparent de l'état actuel de l'art et des machines véritablement intelligentes à l'avenir. Si vous pouviez passer aux diapositives, s'il vous plaît.

Yann LeCun

Très bien, merveilleux. C'est le beau logo de Facebook AI Research, que je vais changer. Alors oui, c'est mon nom en chinois. Il y a de nombreuses années, en 2009, je suis venu ici pour enseigner dans une école d'été à l'Université de Pékin, et ma femme et moi sommes allés au Palais d'Été et nous avons rencontré un calligraphe, et je lui ai demandé d'écrire mon nom en chinois. Donc je ne sais pas si c'est exact, peut-être avez-vous une meilleure idée de la façon de le translittérer en chinois.

Yann LeCun

D'accord, je sais que l'auditoire est très diversifié, et je vais essayer de donner une idée de l'état de l'art et des progrès de l'IA qui plaira à la fois aux personnes qui ne connaissent pas grand-chose à l'IA, qui sont plus intéressées par le côté technologique et commercial, ainsi qu'aux personnes qui sont plus portées sur la recherche en IA. Et je sais que beaucoup d'entre vous ici sont très impliqués là-dedans.

Les Principes de l'Apprentissage Supervisé

Yann LeCun

Laissez-moi donc commencer par expliquer le principe de base de l'apprentissage automatique utilisé par presque toutes les applications actuelles de l'IA, et cela s'appelle l'apprentissage supervisé. L'apprentissage supervisé est un processus par lequel vous montrez un tas d'exemples à la machine, et pour chaque exemple vous lui dites quelle est la bonne réponse.

Yann LeCun

Par exemple, vous voulez entraîner une machine à distinguer les images de voitures des images d'avions. Vous lui montrez des milliers d'exemples de voitures et des milliers d'exemples d'avions, et vous aimeriez que la machine allume la lumière rouge quand elle voit une voiture et la lumière verte quand elle voit un avion.

Yann LeCun

Fondamentalement, on peut voir la machine comme une boîte noire avec beaucoup de boutons. Chaque fois que vous montrez un exemple de voiture, vous tournez un peu les boutons pour que la luminosité de la lumière rouge augmente et que celle de la lumière verte diminue. Et chaque fois que vous montrez un exemple d'avion, vous ajustez les boutons pour que la luminosité de la lumière verte augmente et que celle de la lumière rouge diminue. C'est cela l'apprentissage supervisé.

Yann LeCun

Fondamentalement, en termes un peu plus mathématiques, ce que vous faites, c'est mesurer la différence entre la sortie que vous voulez et la sortie que la machine produit, puis vous ajustez tous les paramètres du système qui déterminent la fonction entrée-sortie de la machine de manière à ce que la sortie que vous obtenez se rapproche de la sortie souhaitée. C'est cela l'apprentissage supervisé.

Yann LeCun

C'est un peu comme montrer un livre d'images à un petit enfant. Vous ouvrez le livre, il y a une image d'éléphant, vous dites à l'enfant que c'est un éléphant. Et après quelques exemples de chaque animal, l'enfant peut les reconnaître. La différence avec l'enfant est que dans le cas de l'apprentissage profond, vous devez montrer des milliers d'exemples de chaque catégorie avant que la machine ne soit performante.

Yann LeCun

Mais si vous montrez suffisamment d'exemples et si la machine est suffisamment complexe, elle développera essentiellement la représentation interne appropriée du monde qui lui permettra de distinguer n'importe quelle voiture de n'importe quel avion, ou n'importe quelle chaise de n'importe quelle table, ou tout autre objet. C'est l'idée de l'apprentissage supervisé. Et presque toutes les applications de l'apprentissage automatique et de l'apprentissage profond que vous voyez aujourd'hui sont le résultat de l'apprentissage supervisé.

Histoire et Évolution vers l'Apprentissage Profond

Yann LeCun

L'histoire de l'apprentissage supervisé remonte à longtemps, à la fin des années 50, lorsqu'un monsieur nommé Frank Rosenblatt de l'Université Cornell a développé une machine appelée le Perceptron. Le Perceptron était en fait une machine physique, ce n'était pas un programme informatique, c'était un ordinateur analogique physique. Et il a essentiellement créé le modèle de reconnaissance de formes qui est resté avec nous depuis cette époque jusqu'à très récemment.

Yann LeCun

Le modèle de base de la reconnaissance de formes consiste à prendre, par exemple, une image ou un signal, peu importe ce que c'est, puis il y a une sorte d'extracteur de caractéristiques conçu à la main qui transforme le signal brut en un vecteur de caractéristiques indiquant la présence ou l'absence d'un motif particulier en entrée. Cela doit généralement être conçu manuellement. C'est le module que vous voyez au milieu sur la photo, qui ressemble à un plat de spaghetti avec de nombreux fils.

Yann LeCun

Ensuite, vous avez un classifieur entraînable relativement simple. Dans le cas du Perceptron, c'était ce qu'on appelle un classifieur linéaire. Fondamentalement, il calcule une somme pondérée des composants du vecteur, et si la somme pondérée est supérieure à un seuil, c'est la catégorie un ; si elle est inférieure au seuil, ce n'est pas la catégorie un, peut-être la catégorie deux.

Yann LeCun

Ce qui était nouveau dans le Perceptron, c'était un algorithme d'apprentissage qui permettait d'ajuster ces coefficients dans cette somme pondérée. Mais ce modèle, ces dernières années, en raison de l'apprentissage profond, a été remplacé par un modèle un peu plus général illustré en bas, où un système d'apprentissage profond, au lieu d'être composé d'un seul module conçu à la main suivi d'un classifieur entraînable, est essentiellement une cascade de multiples modules, tous entraînables.

Yann LeCun

C'est pourquoi on l'appelle apprentissage profond, car ces systèmes sont composés de plusieurs couches et toutes sont entraînables de bout en bout. C'est une idée très ancienne en réalité. Dans les années 60, certains pensaient que c'était une bonne chose à faire, mais ils n'avaient tout simplement pas le bon algorithme d'apprentissage. Puis, au milieu des années 80, on a inventé ce qu'on appelle aujourd'hui l'algorithme de rétropropagation, que j'expliquerai dans une minute, qui permet d'ajuster les paramètres de ces systèmes.

Yann LeCun

Mais cela n'a vraiment réussi que récemment, lorsque nous avons commencé à disposer de beaucoup de données, d'ordinateurs très puissants et d'algorithmes légèrement meilleurs que par le passé. Mais il y a eu quelques succès dans les années 1980 et 1990.

Le Fonctionnement Mathématique des Réseaux de Neurones

Yann LeCun

Alors comment ces choses sont-elles construites lorsque nous créons un système d'apprentissage profond ? Fondamentalement, c'est d'une simplicité trompeuse. Un système d'apprentissage profond est une succession de fonctions alternées qui sont elles-mêmes très, très simples. Essentiellement, vous représentez l'entrée comme un vecteur ; par exemple, les pixels d'une image, vous pouvez les considérer comme un vecteur de valeurs, ou les valeurs qui représentent un signal vocal ou un texte.

Yann LeCun

La première opération consiste à multiplier ce vecteur par une matrice. C'est très simple. Il s'agit essentiellement de calculer des sommes pondérées ou des produits scalaires. Le résultat de cette multiplication vous donne un autre vecteur. Maintenant, vous prenez chaque composant de ce vecteur et vous le passez par une non-linéarité ponctuelle, représentée en haut à droite. On l'appelle dans le langage des réseaux de neurones une ReLU, ce qui signifie unité linéaire rectifiée.

Yann LeCun

Ce qu'elle fait réellement, c'est prendre son argument, et si l'argument est positif, elle le copie simplement en sortie. S'il est négatif, la sortie est zéro. C'est très simple, c'est une rectification demi-onde, partie positive. En alternant la multiplication matricielle avec cette non-linéarité ponctuelle et en répétant le processus plusieurs fois, on peut montrer qu'avec seulement deux couches, on peut approximer n'importe quelle fonction aussi près qu'on le souhaite.

Yann LeCun

Ce qui s'avère surprenant pour certains, c'est qu'en empilant plusieurs couches, beaucoup de fonctions peuvent être facilement représentées avec un nombre relativement restreint de ces éléments. Les coefficients dans les matrices sont ceux qui vont être ajustés par l'algorithme d'apprentissage, car ce sont ces coefficients qui déterminent la fonction entrée-sortie du réseau de neurones.

Yann LeCun

Et cela se fait par descente de gradient. La première chose à faire est de calculer le gradient d'une fonction objectif qui mesure l'écart entre la sortie voulue et la sortie obtenue. Ici, elle est notée C. Elle mesure donc la distance entre la sortie voulue, Y, et la sortie que nous obtenons du système, la sortie du dernier module de la chaîne.

Yann LeCun

Ce nous devons faire, c'est calculer dans quelle direction et de combien changer tous les boutons, donc tous les coefficients de toutes les matrices, de manière à ce que l'erreur diminue. Et il s'avère que c'est très facile à faire. C'est essentiellement une application pratique d'un concept mathématique très sophistiqué appelé la règle de dérivation des fonctions composées, qui nous accompagne depuis les débuts du calcul infinitésimal. Newton et Leibniz l'ont essentiellement inventée.

Yann LeCun

Ce n'est donc pas particulièrement sophistiqué, et c'est tout ce qu'il y a en mathématiques pour comprendre la rétropropagation. Essentiellement, l'idée de la règle de dérivation des fonctions composées est la suivante : si vous avez une idée de la manière dont la sortie d'un module — prenons le module i dans le système, Fi de Xi-1 Wi. Xi-1 est l'entrée de ce module, Fi de Xi-1 Wi, que je note Xi, est la sortie de ce module, et Wi sont les coefficients de la matrice à l'intérieur de ce module.

Yann LeCun

Si vous savez comment chaque sortie de ce module influence la fonction de coût, la fonction objectif, qui est le gradient de la fonction de coût par rapport à Xi, noté dC sur dXi, alors en multipliant ce vecteur par la matrice jacobienne de cette boîte, vous pouvez obtenir cet autre vecteur, qui est maintenant le gradient de la fonction de coût par rapport à l'entrée de ce module.

Yann LeCun

Et la matrice jacobienne de cette boîte est essentiellement une matrice pour laquelle chaque entrée indique de combien une sortie particulière est influencée lorsque vous modifiez une entrée particulière par un petit facteur. Et vous pouvez faire la même chose par rapport aux paramètres. Ainsi, en propageant les signaux vers l'arrière à travers cette chaîne de modules, puis en calculant les gradients par rapport aux paramètres, vous obtenez le gradient de la fonction objectif par rapport à chaque paramètre du système, et vous pouvez simplement faire un pas dans le gradient négatif pour réduire l'erreur.

Yann LeCun

C'est une description très courte et rapide de l'apprentissage profond, et c'est vraiment tout ce qu'il y a à savoir. C'est donc une forme un peu plus sophistiquée d'ajustement de courbe en réalité. Ce n'est rien de plus que de l'ajustement de courbe. Je sais que vous avez tous ici une formation en économie, et vous avez donc certainement appris à ajuster une ligne à un ensemble de points. C'est fondamentalement la façon d'ajuster une fonction complexe à un ensemble de points. C'est tout.

Les Réseaux Convolutifs (CNN) et l'Inspiration Biologique

Yann LeCun

Une forme particulière de réseaux de neurones qui a connu un grand succès est celle des réseaux convolutifs. C'est un modèle sur lequel j'ai commencé à travailler et que j'ai développé lorsque j'étais aux Bell Labs dans les années 1980, et il est vraiment inspiré par les neurosciences. Il est basé sur l'idée qu'au lieu d'avoir une matrice complète où l'entrée est vue comme un vecteur et les poids de la couche comme une matrice, vous voyez l'entrée comme une image, par exemple.

Yann LeCun

Ensuite, la matrice va en fait être creuse et avoir une certaine structure, et elle va correspondre à ce qu'on appelle une opération de convolution, d'où le nom de réseaux de neurones convolutifs. Qu'est-ce qu'une convolution ? Vous prenez une image, vous prenez un fragment sur l'image, et vous calculez le produit scalaire des pixels de ce fragment avec les poids, ce qu'on appelle un noyau de convolution.

Yann LeCun

Le résultat de ce produit scalaire va vous donner un pixel dans cette carte de caractéristiques ici, que vous allez faire passer par une fonction non linéaire. Ensuite, vous faites la même chose avec les mêmes poids sur toute l'image. Vous faites donc glisser cette petite fenêtre sur toute l'image, et pour chaque emplacement de la fenêtre, vous obtenez un pixel de sortie. Et vous pouvez faire cela avec différents filtres.

Yann LeCun

Les coefficients de ce filtre vont être appris, et nous allons avoir plusieurs filtres de ce type par couche. Ici, par exemple, nous avons quatre filtres, chacun donnant une carte de caractéristiques différente. Vous pouvez considérer chacun de ces filtres comme détectant un motif particulier à chaque endroit de l'image. Et grâce à la rétropropagation, nous allons apprendre les coefficients de ces filtres.

Yann LeCun

Il y a ensuite une autre opération appelée regroupement (pooling), dont le but est d'éliminer un peu d'informations positionnelles sur l'endroit exact où les caractéristiques apparaissent. Je montrerai cela plus en détail plus tard. Mais pour l'instant, qu'il suffise de dire que cela réduit la résolution de la représentation. Ensuite, nous répétons le processus. Ainsi, à la couche suivante, chaque carte de caractéristiques est le résultat de l'application d'un filtre à chaque carte de caractéristiques de la couche précédente, en additionnant le résultat et en le passant par une non-linéarité.

Yann LeCun

Il y a ensuite une autre couche de pooling, puis plus de convolutions, etc. Et vous pouvez empiler plusieurs couches. L'architecture ici est très inspirée des travaux classiques en neurosciences computationnelles des années 60. En fait, c'est si célèbre qu'il s'agit du travail de Hubel et Wiesel, lauréats du prix Nobel dans les années 50 et 60, qui ont analysé la structure du cortex visuel chez les chats et divers autres animaux et ont compris qu'il existait cette idée de connexions locales avec des détecteurs de caractéristiques répliqués sur tout le champ visuel, et cette notion de pooling qu'ils appelaient cellules complexes.

Yann LeCun

En voici un exemple. Il s'agit d'un ancien réseau convolutif des années 90 que nous avons entraîné à reconnaître des chiffres manuscrits. Et ce que vous voyez ici est le résultat de cette opération de pooling. Nous prenons donc la première carte de caractéristiques de la première couche ici ; ceci est l'entrée, ceci est la première couche avec six cartes de caractéristiques, et ceci est le résultat de l'opération de pooling sur cette carte de caractéristiques.

Yann LeCun

Elle calcule essentiellement une moyenne ou un maximum ; de nos jours, ce serait un maximum, mais dans cet exemple c'est une moyenne de voisinages de pixels 2x2, puis elle la passe par une non-linéarité. Cela réduit donc la résolution, ce qui signifie que si cette image se déplace de deux pixels, celle-ci se déplacera d'un pixel, et celle-là d'un demi-pixel. En gros, vous obtenez une certaine invariance au décalage et à la distorsion en utilisant ces opérations de pooling.

Premiers Succès Commerciaux et le Débat Théorique

Yann LeCun

À mesure que vous montez dans les couches, vous obtenez des unités qui sont influencées par une portion de plus en plus grande de l'image. Chacune de ces unités ici est influencées par un carré de 32x32 pixels sur l'entrée. Et chaque colonne est influencée par une fenêtre 32x32 différente en entrée. Cela nous a permis de faire des choses comme reconnaître des caractères, mais nous avons aussi vite réalisé que cela permettait de reconnaître plusieurs caractères à la fois.

Yann LeCun

Nous pouvons donc alimenter le réseau avec une combinaison de caractères et il est capable d'en extraire l'interprétation correcte sans avoir à effectuer de segmentation explicite préalable. Et c'était un grand progrès. C'est une courte vidéo qui montre ce système vers 1990, 92 environ. C'est mon numéro de téléphone aux Bell Labs ; il ne fonctionne plus. J'appuie sur une touche, puis une caméra vidéo saisit l'image et envoie le résultat à une carte spéciale, un DSP32, un processeur de signal numérique capable de la vitesse incroyable de 20 mégaflops.

Yann LeCun

C'était le seul moyen de faire fonctionner cela à une vitesse décente. Et cet appareil était capable de reconnaître des caractères très inhabituels et toutes sortes de styles bizarres assez tôt. C'était donc vraiment un grand progrès pour l'époque. Voici une version plus jeune de moi-même quand j'avais environ 30 ans. Voici Donnie Henderson, l'un des ingénieurs de recherche du labo, et Rich Howard, qui était le directeur du laboratoire.

Yann LeCun

Finalement, cela nous a permis de construire des systèmes complets de reconnaissance de caractères que nous utilisions pour lire des chèques. Cela a été déployé au milieu des années 90, vers 1996, 1995, et utilisé dans de nombreuses banques aux États-Unis et en Europe pour les distributeurs automatiques, pour les machines qui lisent les chèques automatiquement. C'était un système assez complexe combinant des réseaux convolutifs, des systèmes de segmentation heuristiques, ainsi qu'un entraînement au niveau de la séquence dans la boucle, intégrant un modèle de langage et une sorte de système de type modèle de Markov ; en fait, c'est plus proche de ce qu'on appelle aujourd'hui un CRF, un champ aléatoire conditionnel.

Yann LeCun

Et cela permettait de reconnaître environ la moitié des chèques avec moins de 1 % d'erreur, ce qui était suffisant pour des applications commerciales. Dans notre laboratoire aux Bell Labs à l'époque, il y avait deux camps. À deux bureaux d'intervalle ont été inventés les réseaux convolutifs et les machines à vecteurs de support à deux ans d'intervalle. L'un de mes voisins de bureau était Vladimir Vapnik, que vous voyez ici. Voici notre chef de département Larry Jackel, et voici un collaborateur de longue date, Léon Bottou, qui est maintenant chez Facebook.

Yann LeCun

Vladimir Vapnik ne croyait pas aux réseaux de neurones. Il pensait que les méthodes d'apprentissage automatique devaient être bien comprises théoriquement, et il a donc proposé cette méthode appelée machines à vecteurs de support ou machines à noyaux, qui ont connu un grand succès pour de nombreuses applications. Larry était le chef du labo et il avait à la fois les gens des réseaux de neurones et ceux des machines à vecteurs de support, il a donc décidé de faire un pari.

Yann LeCun

Larry Jackel parie donc un dîner chic qu'avant le 14 mars 2000 — ceci a été écrit en 1995 — les gens comprendront quantitativement pourquoi les grands réseaux de neurones travaillant sur de grandes bases de données ne sont pas si mauvais. Ils fonctionnaient expérimentalement, mais on ne comprenait pas clairement sur le plan théorique pourquoi. Il voulait donc mettre Vladimir au défi d'expliquer pourquoi ils fonctionnaient. Vapnik parie un dîner chic que Jackel a tort.

Yann LeCun

Mais si Vapnik trouve les limites et les conditions, Vapnik gagne quand même le pari. C'était vraiment une incitation de Larry pour dire à Vladimir Vapnik de travailler sur la question théorique. En 2000, il s'avère que Jackel a perdu car personne n'avait réellement prouvé pourquoi les réseaux de neurones fonctionnaient si bien. En fait, c'est toujours le cas, nous n'avons toujours pas trouvé de justification théorique solide, j'en parlais justement avec le professeur Yao tout à l'heure. C'est peut-être un bon défi pour certains d'entre vous.

Yann LeCun

Mais il y avait un deuxième pari. Le deuxième pari est que Vapnik parie un dîner chic qu'avant le 14 mars 2005, personne de sensé n'utilisera des réseaux de neurones essentiellement identiques à ceux de 1995. Et Jackel parie un dîner chic que Vapnik a tort. Et Jackel a gagné celui-là. En 2005, les gens utilisaient encore des réseaux de neurones. Voici une photo prise lors du dîner chic en 2005, où ils ont partagé l'addition parce qu'ils avaient tous les deux perdu, ou tous les deux gagné.

L'Ère Moderne : ImageNet, GPUs et Compositionnalité

Yann LeCun

Ce qui s'est passé ces dernières années, c'est que les réseaux convolutifs ont été très fortement développés et ce qui les a fait fonctionner tout d'un coup, c'est la disponibilité de grands ensembles de données pour la reconnaissance vocale et d'images. Pour la reconnaissance d'images, le tournant a été le jeu de données ImageNet qui contenait 1 million d'échantillons et 1 000 catégories. C'est un régime dans lequel les réseaux de neurones fonctionnent vraiment bien.

Yann LeCun

Et ce qui s'est passé, c'est qu'il y a eu une inflation du nombre de couches. Vous avez des réseaux de neurones qui comptent entre 1 et 10 milliards de connexions, parfois plus, entraînés sur 10 millions à un milliard de paramètres, parfois ils ont 20 couches, parfois les plus récents en ont même 100. Cette croissance de la taille a été permise par la disponibilité des processeurs graphiques, les GPU, capables de plusieurs téraflops par seconde.

Yann LeCun

Pourquoi les architectures profondes sont-elles si bonnes conceptuellement ? C'est parce que le but de l'apprentissage profond n'est pas seulement de classer, mais de représenter le monde perceptuel, le monde visuel dans le cas de la reconnaissance d'images. Ce que vous voyez ici est une visualisation produite par mon collègue Rob Fergus avec son étudiant Matt Zeiler il y a quelques années, montrant quels types de motifs sont détectés par les détecteurs à différents niveaux d'un réseau convolutif.

Yann LeCun

Il s'agit d'un réseau convolutif assez profond d'environ 15 couches. Voici les caractéristiques détectées à la première couche, une indication des motifs locaux sur l'image qui activeront au maximum une unité du réseau. Quelques couches plus haut, on commence à voir des détecteurs capables de repérer des motifs simples comme des réseaux, des coins, des cercles. Et quelques couches plus haut encore, vous voyez des détecteurs capables de repérer des parties d'objets assez complexes.

Yann LeCun

Il faut se demander pourquoi il est avantageux de représenter le monde de cette façon. Le monde perceptuel. La raison possible est que le monde est compositionnel. Les physiciens savent très bien qu'on peut réduire les objets à des molécules, les molécules à des atomes et les atomes à des particules élémentaires. Essentiellement, un petit nombre de parties distinctes peuvent être assemblées de multiples façons pour former des objets complexes.

Yann LeCun

Le monde perceptuel est similaire. Une image peut être décomposée comme une carte de la présence ou de l'absence de motifs très simples comme ces bords orientés, puis des combinaisons de ceux-ci peuvent être assemblées pour détecter des motifs un peu plus complexes, et ainsi de suite. C'est une notion de compositionnalité.

Yann LeCun

Il y a un dicton d'un collègue, Jason Eisner de l'Université Johns Hopkins, qui fait un commentaire intéressant sur une célèbre citation d'Albert Einstein. Einstein a dit : ce qu'il y a de plus incompréhensible dans le monde, c'est que le monde soit compréhensible. Pourquoi pouvons-nous comprendre le monde ? Il est si complexe qu'il n'y a peut-être aucun moyen de le comprendre vraiment. La version de Jason Eisner est : le monde est compositionnel ou il y a un Dieu.

Yann LeCun

Si le monde n'était pas compositionnel, il n'y aurait aucun moyen de le comprendre, ce qui signifie que nous aurions besoin de super-pouvoirs pour l'interpréter. Nous avons vu une inflation du nombre de couches ces dernières années. Il y a quelques années, un réseau typique avait 20 couches. Google a créé GoogLeNet, un jeu de mots sur LeNet, le réseau original que j'utilisais aux Bell Labs, qui possède un grand nombre de couches.

Yann LeCun

Plus récemment, Kaiming He, qui était alors chez Microsoft Research Asia ici à Pékin, a inventé ce qu'on appelle ResNet, ou réseaux résiduels. Il travaille maintenant chez Facebook à Menlo Park. Il a eu l'idée que chaque couche devrait avoir une de ces connexions de dérivation, de sorte que si une paire de couches ne parvient pas à apprendre, elle devient transparente et devient essentiellement la fonction identité. Cela a permis de multiplier le nombre de couches jusqu'à 50 ou 100. J'ai été très surpris par ce résultat.

Applications en Vision par Ordinateur et Robotique

Yann LeCun

Il y a eu beaucoup de succès dans l'apprentissage profond. L'une des premières applications chez Facebook a été la reconnaissance faciale. C'est une application pour laquelle je n'aurais jamais pensé que les réseaux convolutifs fonctionneraient si bien. Je pensais qu'ils étaient appropriés pour la reconnaissance d'objets par catégorie, pas vraiment pour la reconnaissance faciale. Mais il s'avère que cela fonctionne très bien aussi. C'était une surprise.

Yann LeCun

L'une des choses sur lesquelles nous avons travaillé très tôt était l'idée d'appliquer un réseau convolutif sur toute une image afin de marquer chaque pixel avec une catégorie. Dans ce cas, il s'agit d'une catégorie indiquant si une zone est traversable par un robot ou non. Nous pouvons ensuite utiliser cela pour diriger un robot mobile. Une caractéristique intéressante de ce travail est que le réseau est auto-entraîné : les étiquettes sont collectées par vision stéréo, pas manuellement.

Yann LeCun

Il s'entraîne donc seul au laboratoire puis s'affine tout en fonctionnant dans la nature. Voici un exemple de ce petit robot qui circule, avec l'étudiant qui l'ennuie, le robot étant frustré car il ne peut pas atteindre son but. C'est l'étudiant que vous avez vu à gauche, Raia Hadsell, elle était mon étudiante en doctorat jusqu'en 2009 et elle dirige maintenant le groupe de robotique chez DeepMind. L'autre étudiant est Pierre Sermanet, qui travaille aussi en robotique chez Google.

Yann LeCun

Quelques années plus tard, nous avons commencé à travailler sur une idée similaire pour classer chaque fenêtre d'une image avec la catégorie de l'objet auquel elle appartient. C'est ce qu'on appelle la segmentation sémantique. Bien sûr, nous avions l'idée à l'époque que cela pourrait s'appliquer aux voitures autonomes. C'était avant l'engouement actuel, on parle de 2009-2010. Nous n'avons jamais travaillé sur les voitures autonomes, mais l'idée a continué de circuler.

Yann LeCun

On voit maintenant des systèmes de voitures autonomes, notamment de Mobileye et NVIDIA, qui utilisent la segmentation sémantique pour identifier les zones traversables et les obstacles. Il y a aussi beaucoup de travail là-dessus chez Baidu, dans diverses entreprises en Chine, aux États-Unis et en Europe. NVIDIA est devenue très active dans ce domaine.

Yann LeCun

Mais laissez-moi vous parler de travaux plus récents de mes collègues de Facebook AI Research. Il s'agit de SharpMask ou DeepMask, où un système est entraîné non seulement à reconnaître l'objet central mais aussi à produire un masque de l'objet. S'il voit un zèbre, il va produire un masque du zèbre ainsi que sa catégorie en parallèle.

Yann LeCun

Cela a été intégré dans un système complexe appelé SharpMask++, le code est en open source sur GitHub sous le nom DeepMask. C'est un système complexe qui produit d'excellents résultats où les contours de chaque objet des catégories connues sont tracés : le téléphone, la personne, l'ordinateur portable, tous les gens ici sauf ce gars.

Yann LeCun

Ici, un autre exemple avec ces deux personnes et le frisbee qui sont étiquetés. Vous pouvez repérer du brocoli dans des plats chinois, du moins de style américain. Et vous pouvez aussi compter les moutons.

Yann LeCun

Plus récemment, Kaiming He et son collaborateur chez Facebook ont proposé une combinaison conceptuellement simple de cette idée de calcul de masque et d'identification d'objet pour chaque emplacement, et ont construit Mask R-CNN. C'est un réseau convolutif géant qui, pour chaque fenêtre ou région d'intérêt, produit un contour de l'objet, un masque, une boîte englobante et une catégorie.

Yann LeCun

Dans certains cas, il produit même une estimation de la pose pour les corps humains. Les résultats sont absolument stupéfiants. Il fonctionne à cinq images par seconde sur un seul GPU. Il identifie tout individuellement : parapluie, sac à dos, personne, voitures, verres, couverts, assiettes, chaises, même si les objets se chevauchent. C'est ce qu'on appelle la segmentation d'instances.

Yann LeCun

Et cela bat les résultats sur les jeux de données standards. L'article vient de paraître hier sur arXiv. Il peut aussi être utilisé pour l'estimation de la pose corporelle, et les résultats sont encore une fois très impressionnants. Et cela tourne à cinq images par seconde sur un GPU standard.

Les Obstacles vers l'IA : Le Bon Sens et la Prédiction

Yann LeCun

Bon, c'était l'état de l'art. Maintenant, je vais parler des obstacles à l'IA. Le principal obstacle selon moi est la capacité de prédire. On peut considérer que l'architecture d'un système d'IA nécessite trois ou quatre composants essentiels. L'un est la perception, un autre est la prédiction.

Yann LeCun

Il s'agit de pouvoir prédire ce qui va se passer dans le monde, soit parce qu'il évolue, soit en conséquence des actions de l'agent intelligent. Pour planifier une séquence d'actions afin d'obtenir un résultat, la machine doit pouvoir raisonner, planifier et avoir une mémoire. Il nous faut donc la perception, des modèles prédictifs, la mémoire, le raisonnement et la planification. J'ai parlé de perception, je vais parler du reste.

Yann LeCun

Avant cela, l'un des plus grands défis est de construire des machines dotées de bon sens. Qu'est-ce que cela signifie ? Un exemple classique est ce qu'on appelle un schéma de Winograd. Winograd est un pionnier célèbre qui a proposé des phrases de ce type : Le trophée ne rentre pas dans la valise parce qu'il est trop grand, ou le trophée ne rentre pas dans la valise parce qu'elle est trop petite.

Yann LeCun

Dans le premier cas, 'il' se rapporte au trophée. Dans le second, 'elle' se rapporte à la valise. Vous pouvez lever l'ambiguïté du pronom parce que vous savez comment le monde fonctionne. Vous avez des connaissances de base sur la façon dont un trophée doit tenir dans une valise. Sans cette connaissance de base, vous ne pouvez pas lever cette ambiguïté.

Yann LeCun

Autre exemple de bon sens : si je dis 'Tom a ramassé son sac et a quitté la pièce'. Vous n'avez pas besoin de connaître Tom pour déduire qu'il a dû se lever, tendre le bras, fermer la main sur le sac, puis marcher vers la porte. Vous savez qu'il ne va pas se dématérialiser ou s'envoler. Vous le savez parce que vous connaissez les contraintes du monde réel.

Yann LeCun

C'est ce qui vous permet de remplir les blancs, de compléter toutes les informations manquantes non mentionnées dans cette courte phrase. C'est ce que nous appelons le bon sens. Comment amener les machines à l'acquérir ? Le bon sens est la capacité de remplir les blancs : inférer l'état du monde à partir d'informations partielles, prédire le futur, inférer le passé, etc.

Yann LeCun

Combler le champ visuel dans la tache aveugle, ce que nous faisons sans y penser. Compléter les images occultées. Vous ne voyez peut-être que mon profil droit, mais vous devinez le gauche car les visages sont symétriques. Prédire les conséquences de nos actions.

L'Apprentissage Non Supervisé et l'Analogie du Gâteau

Yann LeCun

Les machines doivent pouvoir faire cela en étant exposées à de nombreux exemples du fonctionnement du monde. Il y a un argument fort pour ce qu'on pourrait appeler l'apprentissage prédictif, ou apprentissage non supervisé. C'est un argument que Jeff Hinton et d'autres soutiennent depuis des décennies.

Yann LeCun

L'argument est le suivant : le cerveau a environ 10^14 synapses et nous ne vivons qu'environ 10^9 secondes, nous avons donc beaucoup plus de paramètres que de données. Cela motive l'idée que nous devons faire beaucoup d'apprentissage non supervisé, car l'entrée sensorielle est le seul endroit où nous pouvons obtenir assez de contraintes. Si on demande juste à une machine de prédire le nom d'un objet, on ne lui demande pas assez d'informations pour apprendre le fonctionnement du monde.

Yann LeCun

Nous devons la laisser apprendre une quantité massive de faits en observant le monde pour prédire la suite. Cela m'a conduit à une diapositive un peu provocatrice devenue une blague dans la communauté : si l'intelligence est un gâteau, la base du gâteau, la génoise, est l'apprentissage non supervisé. C'est là que l'essentiel de l'apprentissage a lieu.

Yann LeCun

La majeure partie de l'apprentissage humain et animal est non supervisée. Le glaçage est l'apprentissage supervisé, et la cerise est l'apprentissage par renforcement. Dans l'apprentissage par renforcement pur, une très faible quantité d'information est donnée au système à chaque essai.

Yann LeCun

Juste un scalaire indiquant si la réponse était correcte, parfois avec un délai. Il n'y a aucun moyen pour le système d'apprendre quelque chose de complexe sans des millions d'échantillons. Le professeur Yao mentionnait AlphaGo. C'est un succès du renforcement car on peut faire jouer à la machine des millions de parties contre elle-même pour s'affiner.

Yann LeCun

En apprentissage supervisé, on fournit un peu plus d'informations, mais pas assez car tout doit être fourni par l'humain. En non supervisé, la machine a une chance d'observer bien plus de données. Cette image peut déplaire à certains, mais cela ne veut pas dire que je n'aime pas l'apprentissage par renforcement.

Yann LeCun

En fait, il y a de très bons travaux sur le renforcement chez FAIR, chez Facebook.

Yann LeCun

Notamment par Yuandong Tian, présent ici, sur les jeux. Avec ses collaborateurs, il a travaillé sur ce bot jouant à Doom, entraîné par renforcement, et il a gagné la compétition l'an dernier.

Yann LeCun

Un autre exemple est StarCraft. Nous avons des efforts pour construire des systèmes intelligents capables de gérer tactiques à court terme et planification à long terme. C'est un défi très complexe, peut-être le prochain après le Go.

Modèles Prédictifs et Architecture des Systèmes Intelligents

Yann LeCun

Mais ce que je préconise, c'est l'apprentissage par renforcement basé sur un modèle, une idée de Rich Sutton de 1991 appelée Dyna. L'idée est que planifier, c'est essayer des choses dans sa tête en utilisant un modèle interne du monde. Dyna est l'extension du renforcement pour inclure un modèle appris du monde. Cette idée de modèle prédictif pour aider à apprendre une tâche est classique en contrôle optimal et c'est selon moi l'avenir des systèmes intelligents.

Yann LeCun

En théorie du contrôle optimal, vous avez un simulateur du système que vous voulez contrôler et une fonction objectif à minimiser. Par descente de gradient, vous trouvez une séquence de commandes qui optimise cette fonction, si le simulateur est précis. L'idée ici est d'entraîner ce simulateur au sein du système pour prédire la séquence de commandes idéale.

Yann LeCun

Quelle est l'architecture d'un système intelligent ? Un système complet comprendrait trois composants. Il interagit avec le monde par des actions, le monde répond par des observations qui vont au module perceptuel qui estime l'état du monde. L'agent doit planifier une action pour amener le monde vers un état désiré qui le rendra 'heureux' à l'avenir. En minimisant cet objectif, l'agent se rend heureux. Le cerveau animal est construit sur ce modèle.

Yann LeCun

Qu'y a-t-il dans cet agent ? Je préconise que l'agent ait un modèle prédictif pour anticiper ce qui va se passer suite à ses actions ou à l'évolution naturelle du monde. Un 'acteur' génère des propositions d'actions et teste leur résultat potentiel. Cet acteur produit des propositions qui optimisent un coût prédit. Le système doit s'assurer de se mettre dans un état de bonheur maximal.

Yann LeCun

On peut voir cela comme un réseau de neurones récurrent complexe déplié dans le temps. On a la perception, le simulateur pour planifier, et l'acteur pour minimiser l'objectif. Si tout est différentiable, on peut tout entraîner simultanément par rétropropagation. Nous savons construire cela, mais la difficulté réside dans le simulateur du monde. C'est très complexe pour un système d'apprendre comment le monde va évoluer.

Mémoire Augmentée et Raisonnement

Yann LeCun

Comment construire ces modèles ? Nos collègues Adam Lerer, Sam Gross et Rob Fergus ont entraîné un réseau convolutif à prédire ce qui arrive dans un monde simulé en 3D avec un moteur physique. Il essaie de prédire si les blocs vont tomber et où. Le système est entraîné par rétropropagation. Il peut faire des prédictions, mais elles sont parfois floues car il est dur de prédire exactement l'avenir, donc il fait une sorte de prédiction moyenne.

Yann LeCun

Autre exemple : inférer l'état du monde à partir d'un texte. Quand on vous raconte une histoire, vous gardez en tête une estimation de l'état du monde après chaque événement. Nous avons utilisé un réseau de neurones augmenté de mémoire. C'est une idée consistant à bâtir un réseau récurrent qui interagit avec une mémoire associative, comme une RAM.

Yann LeCun

Voici l'architecture 'entity network'. C'est une banque de cellules mémoire associées à un petit réseau récurrent. Elles observent une phrase d'entrée encodée en vecteur. Les cellules décident si elles doivent être mises à jour. L'idée est d'avoir une cellule pour 'John' et une pour 'la cuisine'. Si John va à la cuisine, la cellule 'John' se met à jour avec le lieu, et la cellule 'cuisine' se met à jour avec son contenu.

Yann LeCun

Le système écoute une histoire, puis on lui pose une question comme 'où est John ?'. Il est entraîné par rétropropagation sans connaître la question à l'avance. Magiquement, ça fonctionne. Il y a un benchmark appelé 'bAbI task' avec 20 types de questions. L'entity network est le premier système capable de résoudre les 20 tâches.

Yann LeCun

Il peut répondre à des questions du type : 'Brian est un lion, Julius est un lion blanc, Bernard est vert, de quelle couleur est Brian ?'. Si on suppose que tous les lions sont blancs, alors Brian est blanc. Il gère les déplacements d'objets et de personnes à travers l'histoire.

Apprentissage Adversaire (GAN) et Gestion de l'Incertitude

Yann LeCun

Passons à l'apprentissage non supervisé. L'enjeu est de faire apprendre à la machine un modèle prédictif du monde, mais le monde est imprévisible. Plusieurs options sont souvent possibles et on ne sait pas laquelle va se produire.

Yann LeCun

Imaginons un monde de deux pixels. Tout ce que vous observez est un point dans cet espace 2D. Il y a une dépendance entre Y1 et Y2. L'apprentissage non supervisé consiste à apprendre ces dépendances en apprenant une fonction de contraste, ou fonction d'énergie, qui indique si vous êtes sur la structure des données ou en dehors.

Yann LeCun

On veut que cette fonction prenne des valeurs basses sur les données et hautes ailleurs. L'algorithme doit façonner cette fonction d'énergie. Ce n'est pas évident en haute dimension. Imaginez une image d'un million de pixels. J'ai listé sept méthodes, mais il y en a une huitième plus prometteuse : l'entraînement adversaire (adversarial training).

Yann LeCun

C'est une idée d'Ian Goodfellow d'il y a deux ans et demi. Quel problème cela résout-il ? Disons que vous entraînez un système à prédire l'avenir d'une vidéo où quelqu'un pose un stylo sur une table et le lâche. À chaque fois, le stylo tombe dans une direction différente.

Yann LeCun

Si on demande au système de prédire l'image une demi-seconde plus tard, le stylo sera tombé. Il y a toute une gamme de positions possibles. Si le système prédit une chute à gauche mais que dans la vidéo il tombe à droite, on ne veut pas le punir sévèrement car sa prédiction était plausible. C'est la prédiction sous incertitude. On veut une fonction objectif qui accepte plusieurs bonnes réponses.

Yann LeCun

Le problème est qu'on ne connaît pas cette surface de réponses plausibles. On va donc entraîner un second réseau de neurones pour nous dire si on est sur cette surface ou non. Ce réseau sera notre fonction d'énergie.

Yann LeCun

C'est l'idée de l'entraînement adversaire. On montre le passé à la machine, et le futur réel issu du dataset. On entraîne le discriminateur (la fonction d'énergie) à donner des valeurs basses pour les données réelles (les points bleus). L'entrée est l'image et le passé, et la sortie est un scalaire.

Yann LeCun

Simultanément, un générateur essaie de prédire le futur. Au début, il est mauvais. Le discriminateur s'entraîne à donner des valeurs hautes pour ces prédictions (points verts). Mais le générateur s'entraîne à produire des sorties qui minimisent la valeur donnée par le discriminateur. Il essaie de rendre les points verts aussi proches que possible des bleus. C'est un duel : le discriminateur apprend à distinguer le vrai du faux, et le générateur apprend à le tromper.

Yann LeCun

Après entraînement, le générateur produit des points plausibles. Cela casse le paradigme traditionnel où l'on minimise une seule perte. Ici, on cherche un équilibre de Nash entre deux fonctions. C'est très différent.

Résultats des GAN et Prédiction Vidéo

Yann LeCun

Ces techniques ont brillamment réussi à générer des images. Le générateur utilise des vecteurs aléatoires pour produire différents futurs plausibles. Ici, des images de chambres produites par un générateur entraîné sur des milliers de photos. Ces chambres n'existent pas, elles ont été créées de toutes pièces. C'est un travail de Radford, Metz et Chintala.

Yann LeCun

On peut faire pareil avec des personnages de manga et interpoler entre eux. On peut même faire de l'arithmétique : 'homme avec lunettes' moins 'homme sans lunettes' plus 'femme sans lunettes' égale 'femme avec lunettes'. Le système a appris la compositionnalité de l'espace. C'est le Graal de la reconnaissance de formes : paramétrer la surface des images naturelles.

Yann LeCun

Avec mes étudiants Junbo Zhao et Michael Mathieu, nous avons proposé le 'EBGAN', une version basée sur l'énergie. Ils ont montré qu'il s'agit d'un équilibre de Nash. Si l'équilibre est atteint, les distributions produites par le générateur sont égales à celles des données réelles.

Yann LeCun

Junbo a produit un système intéressant appelé 'ladder network'. En combinant non supervisé et supervisé avec EBGAN, il a obtenu 0,9 % d'erreur sur MNIST avec seulement 1 000 échantillons d'entraînement. C'est un record pour un si petit nombre d'exemples.

Yann LeCun

Voici des images naturelles produites sur ImageNet. De loin, elles ont l'air réelles. De près, on voit que ce ne sont pas de vrais objets. C'est comme l'avant d'un train avec une voile et une aile au-dessus de l'eau. La structure locale est bonne, mais la structure globale est fausse. Les GAN n'ont pas encore tout saisi.

Yann LeCun

Ici, un exemple avec des chiens. Ils ressemblent à des chiens, mais un peu 'mous', comme les montres molles de Salvador Dalí.

Yann LeCun

Nous avons aussi fait de la prédiction vidéo. Sans entraînement adversaire, les prédictions sont floues car le système fait une moyenne des futurs possibles. Avec l'entraînement adversaire, les prédictions sont nettes : le joueur de basket continue son mouvement, tout est fluide. Mais on ne peut pas prédire à très long terme.

Yann LeCun

Ici, le système prédit ce qu'il y a derrière le champ de vision de la caméra quand elle tourne dans un appartement. Il devine la suite de la bibliothèque ou du canapé. Ça fonctionne pour environ cinq images. Au-delà, ça devient flou et erroné.

Yann LeCun

Récemment, nous avons prédit non pas des pixels, mais des segmentations sémantiques. On prédit l'évolution des masques d'objets. Ça permet de prédire jusqu'à une demi-seconde. On utilise des prédictions récursives.

Yann LeCun

Le cadre rouge indique les prédictions. Il prédit que les voitures avancent, que les piétons se déplacent à droite, etc. C'est très utile pour une voiture autonome afin d'anticiper le mouvement des autres et de ne pas être simplement réactive. La capacité de prédire est l'essence de l'intelligence.

Yann LeCun

Je n'ai plus de temps, donc je vais m'arrêter là. L'avenir de l'IA est brillant. Le point essentiel est que nous devons travailler sur le raisonnement, la planification et la prédiction. L'entraînement adversaire est un domaine passionnant. Merci beaucoup.