Geoffrey Hinton & Yann LeCun

Conférence Turing 2018 : La révolution de l'apprentissage profond

2 août 2019

Intelligence Artificielle
Illustration de Geoffrey Hinton & Yann LeCun

Accueil et Introduction au FCRC 2019

Vivek Sarkar

Bonsoir.

Vivek Sarkar

Ça a marché. Je suis Vivek Sarkar de Georgia Tech, et c'est un immense plaisir, au nom de tous les organisateurs, de vous accueillir ici à Phoenix pour le FCRC 2019 et de souhaiter également la bienvenue à toutes les personnes connectées en direct. Comme nous le savons tous, et à ce stade, tous nos doyens, nos recteurs, nos gestionnaires de haute technologie le savent, nos conférences sont le lieu où l'on trouve la recherche de pointe en informatique. Le FCRC a été créé en 1993 avec l'idée d'organiser un événement fédéré tous les trois ou quatre ans, où de grandes conférences peuvent être colocalisées. Cette année, nous avons un nombre record de 2700 participants répartis dans 13 conférences majeures et de nombreux ateliers et tutoriels associés. C'est environ 20 % de plus que ce que nous avions prévu. D'ailleurs, à ce propos, si votre téléphone portable sonne ce soir, ce sont 2700 personnes qui se souviendront de vous pour le reste de votre carrière, y compris toutes les personnes qui nous suivent en direct. Laissez-moi prendre un moment pour lire les noms de toutes les conférences afin de vous rappeler qui est présent ici. Nous avons donc COLT, e-Energy, EC, HPDC, ICS, ISCA, ISMM, IWQoS, LCTES, PLDI, SIGMETRICS, SPAA et STOC. Ces conférences couvrent, comme vous le savez, un large éventail de domaines fondamentaux de la recherche en informatique, notamment l'architecture informatique, l'économie et le calcul, les systèmes embarqués, le calcul haute performance et le supercalcul, la théorie de l'apprentissage automatique, la mesure et la modélisation, les compilateurs et les langages de programmation, la gestion de la mémoire, les algorithmes parallèles, la qualité de service, les systèmes énergétiques intelligents, la théorie du calcul et de nombreux sujets connexes. Je suis particulièrement heureux, du point de vue de la fréquentation, que nous ayons également un nombre record de plus de 1100 étudiants présents cette année. J'aimerais encourager tout le monde, en particulier les étudiants, à profiter de l'opportunité unique offerte par le FCRC d'assister à des sessions et des conférences en dehors de votre domaine de recherche également, afin que vous puissiez être exposés à des idées émergentes dans d'autres domaines de l'informatique. Consultez simplement l'application Whova ou le programme en ligne pour voir ce qui se passe dans les événements colocalisés. Un point fort du FCRC est la possibilité pour vous d'écouter des conférences plénières prononcées par des leaders éminents de différents domaines de l'informatique, à commencer bien sûr par la Conférence Turing de ce soir donnée par Geoff Hinton et Yann LeCun. Toutes les conférences plénières se tiendront dans ce magnifique espace du Symphony Hall. Au cours de la semaine prochaine, les conférences sont prévues à 11h20 chaque matin sans événement concurrent, alors assurez-vous d'y assister. Vous n'avez aucune excuse pour les manquer. Pour rappel, les conférenciers pléniers de la semaine prochaine sont Jim Smith, Cynthia Dwork, Sriram Krishnamurthi, Jeannette Wing et Erik Lindahl, et ils seront tous présentés par Mary Hall, la présidente des conférences plénières du FCRC. Bien que j'aie l'occasion de remercier plus globalement tout le monde à la fin de la conférence vendredi, je tiens à exprimer ma plus profonde gratitude aux sponsors de toutes les conférences et en particulier aux sponsors listés ici pour le FCRC dans son ensemble. Il s'agit d'un événement unique qui n'a lieu qu'une fois tous les quatre ans, et cela n'est tout simplement pas possible sans le soutien des entreprises listées ici qui se sont mobilisées pour soutenir le FCRC. Merci donc à toutes ces entreprises. De plus, toute l'équipe de l'ACM a travaillé dur pour s'assurer que toute cette semaine soit un succès, et je tiens à remercier particulièrement Donna Cappo pour sa direction inlassable de l'équipe administrative de la conférence. Donna est impliquée dans l'organisation du FCRC depuis sa première édition en 1993 et est absolument vitale pour le succès du FCRC. Alors merci, Donna.

Vivek Sarkar

Et enfin, merci à vous tous d'être venus à Phoenix pour le FCRC et d'avoir rempli cette salle. J'espère que vous passerez une excellente conférence et que vous apprécierez les nombreuses interactions avec tous vos collègues chercheurs en informatique. Et sur ce, j'aimerais inviter Cherri Pancake, présidente de l'ACM, sur scène pour présenter la Conférence Turing.

Présentation du Prix Turing 2018

Cherri Pancake

Merci. Je suis ravie d'être ici au FCRC. Comme Vivek l'a mentionné, j'ai l'honneur d'être la présidente de l'ACM, la plus grande société savante au monde pour les professionnels de l'informatique. Saviez-vous que l'ACM compte près de 100 000 membres à travers le globe ? Nous servons la communauté informatique dans 190 pays avec nos conférences comme celles-ci, nos publications, nos webinaires et nos ressources d'apprentissage. L'ACM est également très active dans l'éducation informatique et les directives de programmes d'études dans le monde entier. C'est particulièrement formidable d'être ici au FCRC pour les raisons mentionnées par Vivek, c'est une opportunité vraiment unique. Nous savons tous que l'informatique est devenue beaucoup plus interdisciplinaire, mais il est rare que nous ayons la chance de rencontrer et d'interagir avec des chercheurs de premier plan d'autres domaines que le nôtre. Je vous encourage vraiment à en profiter cette semaine. Comme nous le savons tous, l'IA est le domaine qui connaît la croissance la plus rapide dans toutes les sciences et c'est certainement un sujet brûlant dans la société en général. Les progrès incroyables que nous avons constatés en IA n'auraient pas été possibles sans certains des fondements établis par des personnes comme celles que nous honorons ce soir. Par exemple, quand nous pensons à l'impact, pensons à la recherche qui a permis le développement des GPU, à l'origine dans l'industrie du jeu vidéo. Qui aurait imaginé à l'époque que plus tard, ils seraient assemblés en grands réseaux et utilisés comme plateforme pour de vastes réseaux de neurones qui, à leur tour, ont entraîné des avancées fulgurantes dans des domaines comme la robotique et la vision par ordinateur. Les types d'avancées que nous reconnaissons ce soir sont celles qui concernent généralement le domaine de l'apprentissage profond. Des milliards de personnes dans le monde bénéficient des avantages de l'apprentissage automatique. Toute personne possédant un smartphone a accès à des avancées étonnantes dans des domaines comme la vision par ordinateur et la reconnaissance vocale dont nous ne rêvions même pas il y a quelques années seulement. Plus important encore peut-être, l'apprentissage automatique a donné aux scientifiques de nouveaux outils qui leur permettent de réaliser des avancées dans des domaines allant de la médecine à l'astronomie et à la science des matériaux. Le FCRC n'a lieu que tous les quatre ans, donc quand nous avons discuté de cette session, nous voulions faire quelque chose de spécial pour la session d'ouverture. Je pense que vous conviendrez avec moi qu'écouter les lauréats du prix Turing de cette année est la façon de rendre cela vraiment spécial. Le prix Turing 2018 de l'ACM a été décerné la semaine dernière à San Francisco à trois pionniers de l'apprentissage profond : Yoshua Bengio, Geoffrey Hinton et Yann LeCun. Tous les trois, collectivement et indépendamment, ont travaillé sur une période de 30 ans pour développer tout d'abord les fondements conceptuels des réseaux de neurones profonds, puis ont mené des expérimentations qui ont fini par identifier de nombreux phénomènes très intéressants. Mais ils ne se sont pas arrêtés là. Ils ont continué à développer des avancées en ingénierie qui ont démontré de manière concluante que les réseaux de neurones profonds pouvaient réellement être appliqués en pratique et de manière économique. Cela a permis à d'autres personnes de développer ces concepts incroyables dont nous bénéficions aujourd'hui dans tant de domaines différents : vision par ordinateur, reconnaissance vocale, traitement du langage naturel, robotique, et bien d'autres domaines encore. C'est donc avec grand plaisir que je peux présenter les conférenciers de ce soir. Le premier est Geoff Hinton, qui donnera sa conférence Turing sur le thème « La révolution de l'apprentissage numérique ». Il sera suivi par Yann LeCun, qui a très opportunément intitulé son exposé « La révolution de l'apprentissage profond : La suite ». Alors Geoffrey, j'aimerais vous souhaiter la bienvenue.

La révolution de l'apprentissage numérique - Geoffrey Hinton

Geoffrey Hinton

J'aimerais d'abord remercier toutes les personnes de l'ACM qui consacrent leur temps à faire en sorte que tout cela se passe bien.

Geoffrey Hinton

Il y a eu deux paradigmes pour l'IA. Depuis les années 1950, il y a eu l'approche inspirée par la logique, où l'essence de l'intelligence est vue comme des expressions symboliques opérées par des règles symboliques, et le problème principal a été le raisonnement. Comment amener un ordinateur à raisonner comme le font les gens ?

Geoffrey Hinton

Et il y a eu l'approche inspirée par la biologie, qui est très différente. Elle considère l'essence de l'intelligence comme l'apprentissage des forces de connexion dans un réseau de neurones, et les principaux points sur lesquels se concentrer, au moins pour commencer, sont l'apprentissage et la perception. Ce sont donc des paradigmes très différents avec des objectifs initiaux très différents.

Geoffrey Hinton

Ils ont des visions très différentes des représentations internes qui devraient être utilisées. Le paradigme symbolique pense que l'on doit utiliser des expressions symboliques, et que l'on peut les donner à l'ordinateur si l'on invente un bon langage pour les exprimer, et l'on peut bien sûr obtenir de nouvelles expressions au sein de l'ordinateur en appliquant des règles.

Geoffrey Hinton

Le paradigme biologique pense que les représentations internes ne ressemblent pas du tout au langage. Ce ne sont que de grands vecteurs d'activité neuronale, et ces grands vecteurs ont des effets causaux sur d'autres grands vecteurs. Et ces vecteurs vont être appris à partir des données. Toute la structure de ces vecteurs va donc être apprise à partir des données. Je donne évidemment des sortes de caricatures des deux positions pour souligner à quel point elles sont différentes.

Geoffrey Hinton

Elles mènent à deux façons très différentes d'essayer d'amener un ordinateur à faire ce que vous voulez. Une méthode que j'appelle un peu malicieusement le design intelligent est ce que vous appelleriez la programmation. Vous déterminez comment résoudre le problème, puis vous dites exactement à l'ordinateur quoi faire.

Geoffrey Hinton

L'autre méthode consiste à simplement montrer à l'ordinateur de nombreux exemples d'entrées et les sorties qu'il devrait produire, et à laisser l'ordinateur trouver la solution par lui-même. Bien sûr, il faut aussi programmer l'ordinateur là, mais il est programmé une fois pour toutes avec un algorithme d'apprentissage polyvalent. Là encore, c'est une simplification.

Geoffrey Hinton

Par exemple, le genre de chose que les gens ont passé 50 ans à essayer de faire avec l'IA symbolique, c'est de prendre une image et de décrire ce qu'il y a dans l'image. Pensez à prendre les millions de pixels de l'image de gauche et à les convertir en une chaîne de mots. Ce n'est pas évident de savoir comment écrire ce programme. Les gens ont essayé pendant longtemps et ils n'ont pas pu l'écrire.

Geoffrey Hinton

Les gens qui travaillaient sur les réseaux de neurones ont aussi essayé pendant longtemps, et finalement, ils ont réussi à obtenir un système qui fonctionnait assez bien, basé sur l'approche de l'apprentissage pur.

Geoffrey Hinton

La question centrale pour les réseaux de neurones a donc toujours été : nous savons que de grands réseaux de neurones avec beaucoup de couches et des éléments de traitement non linéaires peuvent calculer des choses compliquées, du moins nous le croyons. Mais la question est : peuvent-ils apprendre à le faire ?

Geoffrey Hinton

Peut-on apprendre une tâche comme la reconnaissance d'objets ou la traduction automatique en prenant un grand réseau et en partant de poids aléatoires et en l'entraînant d'une manière ou d'une autre pour qu'il change les poids, changeant ainsi ce qu'il calcule ?

Geoffrey Hinton

Il existe un algorithme d'apprentissage évident pour de tels systèmes, proposé par Turing et par Selfridge et par bien d'autres personnes, avec des variations. L'idée est de commencer avec des poids aléatoires. C'est ainsi que Turing croyait que l'intelligence humaine fonctionnait. On commence avec des poids aléatoires, et les récompenses et punitions nous font changer les forces de connexion pour finalement apprendre des choses. C'est extrêmement inefficace. Ça fonctionne, mais c'est extrêmement inefficace.

Geoffrey Hinton

Dans les années 1960, Rosenblatt a introduit une procédure d'apprentissage assez simple et efficace, bien plus efficace que le tâtonnement aléatoire, capable de trouver comment apprendre les poids sur des caractéristiques que l'on extrait de l'image, puis de combiner ces caractéristiques en utilisant des poids pour prendre une décision.

Geoffrey Hinton

Il a réussi à montrer qu'on peut faire certaines choses de ce genre, des choses modérément impressionnantes. Mais dans les perceptrons, on n'apprend pas les caractéristiques. Là encore, c'est une simplification. Rosenblatt avait toutes sortes d'idées sur la façon d'apprendre les caractéristiques, mais il n'a pas inventé la rétropropagation.

Geoffrey Hinton

En 1969, Minsky et Papert ont montré que les types de perceptrons que Rosenblatt avait réussi à faire fonctionner étaient très limités dans ce qu'ils pouvaient faire. Il y avait des choses assez simples qu'ils étaient incapables de faire. Minsky et Papert ont fortement suggéré que les rendre plus profonds n'aiderait pas et que de meilleurs algorithmes d'apprentissage n'aideraient pas non plus, qu'il s'agissait d'une limitation fondamentale de cette façon de faire. Cela a conduit au premier hiver des réseaux de neurones.

Geoffrey Hinton

Dans les années 1970 et 1980, de nombreux groupes différents ont inventé l'algorithme de rétropropagation, ou des variantes. La rétropropagation permet à un réseau de neurones d'apprendre les détecteurs de caractéristiques et d'avoir plusieurs couches de détecteurs de caractéristiques appris. Cela a créé beaucoup d'enthousiasme.

Geoffrey Hinton

Cela a permis aux réseaux de neurones, par exemple, de convertir des mots en vecteurs représentant le sens des mots, et ils pouvaient le faire simplement en essayant de prédire le mot suivant. Il semblait que cela pourrait résoudre des problèmes difficiles comme la reconnaissance vocale et la reconnaissance de formes. Et en effet, cela a donné des résultats modérés en reconnaissance vocale, et pour certaines formes de reconnaissance de formes, cela a très bien fonctionné, comme les réseaux de Yann LeCun qui lisent l'écriture manuscrite.

Geoffrey Hinton

Je vais maintenant expliquer très brièvement le fonctionnement des réseaux de neurones. Je sais que la plupart d'entre vous le savent, mais je veux juste y revenir au cas où. Nous faisons une idéalisation grossière d'un neurone et le but de cette idéalisation est d'obtenir quelque chose qui peut apprendre afin que nous puissions étudier comment assembler tous ces éléments pour apprendre quelque chose de compliqué dans de grands réseaux composés de ces éléments.

Geoffrey Hinton

Il possède donc des poids d'entrée que vous pouvez faire varier, ou que l'algorithme d'apprentissage fera varier, et il donne une sortie qui est simplement égale à son entrée à condition que l'entrée dépasse un certain seuil. C'est donc un neurone linéaire rectifié, que nous n'avons commencé à utiliser que plus tard, mais ce sont les types de neurones qui fonctionnent très bien.

Geoffrey Hinton

Ensuite, vous les connectez en réseau et vous avez des poids sur les entrées pour chacun de ces neurones, et à mesure que vous changez ces poids, vous changez la caractéristique à laquelle ce neurone va répondre. Ainsi, en apprenant ces poids, vous apprenez les caractéristiques. Vous ajoutez quelques couches cachées, puis vous aimeriez les entraîner pour que les neurones de sortie fassent ce que vous voulez. Par exemple, nous pourrions lui montrer des images de chiens et de chats et nous aimerions que le neurone de gauche s'active pour un chien et celui de droite pour un chat. La question est : comment allons-nous l'entraîner ?

Geoffrey Hinton

Il y a principalement deux types d'algorithmes d'apprentissage. Il y en a trois, en fait trois, mais le troisième ne fonctionne pas très bien. C'est ce qu'on appelle l'apprentissage par renforcement. Il y a une merveilleuse réduction à l'absurde de l'apprentissage par renforcement qui s'appelle DeepMind. C'était une plaisanterie.

Geoffrey Hinton

Il y a l'entraînement supervisé où vous montrez au réseau ce que la sortie devrait être et vous ajustez les poids jusqu'à ce qu'il produise la sortie souhaitée. Pour cela, vous devez savoir quelle devrait être la sortie. Et il y a l'apprentissage non supervisé où vous prenez des données et essayez de représenter ces données dans les couches cachées de manière à pouvoir reconstruire les données, ou peut-être reconstruire des parties des données si j'en occulte de petites parties. Puis-je les reconstruire maintenant à partir des couches cachées ? C'est ainsi que l'apprentissage non supervisé fonctionne typiquement dans les réseaux de neurones.

Geoffrey Hinton

Voici une façon vraiment inefficace de faire de l'apprentissage supervisé en utilisant une méthode de type mutation ou renforcement. Ce que vous feriez, c'est prendre votre réseau de neurones, lui donner un ensemble typique d'exemples, voir comment il se comporte, puis prendre un poids et le modifier légèrement pour voir si le réseau de neurones s'améliore ou empire.

Geoffrey Hinton

S'il s'améliore, vous gardez ce changement. S'il empire, vous le jetez. Peut-être changeriez-vous dans la direction opposée, ce qui constitue déjà une amélioration d'un facteur deux. Mais c'est un algorithme d'apprentissage incroyablement lent. Ça marchera, mais ce qu'il accomplit peut être atteint beaucoup plus rapidement par la rétropropagation. On peut donc considérer la rétropropagation comme une version simplement efficace de cet algorithme.

Geoffrey Hinton

Ainsi, dans la rétropropagation, au lieu de changer un poids et de mesurer l'effet sur les performances du réseau, on utilise le fait que tous les poids du réseau sont à l'intérieur de l'ordinateur. On utilise ce fait pour calculer quel serait l'effet d'un changement de poids sur les performances, et on fait cela pour tous les poids en parallèle.

Geoffrey Hinton

Si vous avez un million de poids, vous pouvez calculer pour chacun d'eux en parallèle quel serait l'effet d'un petit changement de ce poids sur la performance, puis vous pouvez tous les mettre à jour en parallèle. Cela a ses propres problèmes, mais cela ira un million de fois plus vite que l'algorithme précédent. Beaucoup de gens dans la presse décrivent cela comme une accélération exponentielle. En réalité, c'est une accélération linéaire. Le terme exponentiellement est utilisé trop souvent de manière quadratique.

Geoffrey Hinton

On arrive donc à la rétropropagation où l'on effectue un passage en avant dans le réseau, on regarde quelles sont les sorties, puis en utilisant la différence entre ce qu'on a obtenu et ce qu'on voulait, on effectue un passage en arrière, qui a beaucoup le même aspect que le passage en avant. C'est juste du calcul infinitésimal de lycée ou peut-être de première année d'université.

Geoffrey Hinton

Et on peut maintenant calculer en parallèle dans quelle direction on doit changer chaque poids. Et puis, de manière très surprenante, on n'a pas besoin de faire cela pour tout l'ensemble d'entraînement. On prend juste un petit lot d'exemples et, sur ce lot, on calcule comment changer les forces de connexion ; on peut s'être trompé à cause des particularités de ce lot d'exemples, mais on les change quand même, puis on prend un autre lot. C'est ce qu'on appelle la descente de gradient stochastique.

Geoffrey Hinton

Et je suppose que la découverte majeure de la communauté des réseaux de neurones est que la descente de gradient stochastique, même si elle n'a aucune raison réelle de fonctionner, fonctionne en fait très bien. Mais elle fonctionne très bien à grande échelle. Si vous lui donnez beaucoup de données et de grands réseaux, elle montre vraiment son potentiel.

Geoffrey Hinton

Cependant, dans les années 1980, nous étions très satisfaits de la rétropropagation. Elle semblait avoir résolu le problème et nous étions convaincus qu'elle allait tout résoudre. Elle a effectivement assez bien réussi en reconnaissance vocale et pour certaines formes de reconnaissance d'objets, mais ce fut fondamentalement une déception. Elle n'a pas fonctionné aussi bien que nous le pensions.

Geoffrey Hinton

Le vrai problème était de savoir pourquoi. Et à l'époque, les gens avaient toutes sortes d'analyses sur les raisons pour lesquelles cela ne fonctionnait pas, dont la plupart étaient fausses. Ils disaient que ça se faisait piéger dans des optima locaux. Nous savons maintenant que ce n'était pas le problème. Lorsque d'autres algorithmes d'apprentissage ont mieux fonctionné que la rétropropagation sur des ensembles de données de taille modeste, la plupart des membres de la communauté de l'apprentissage automatique ont adopté l'idée que ce que vous essayez de faire, apprendre ces réseaux multicouches profonds à partir de poids aléatoires en utilisant simplement la descente de gradient stochastique, est insensé.

Geoffrey Hinton

Ça n'allait jamais marcher. Vous en demandiez trop. Il n'y a aucun moyen de faire fonctionner des systèmes comme celui-ci à moins d'y intégrer beaucoup d'ingénierie manuelle. Vous devez d'une manière ou d'une autre câbler des connaissances préalables. Les linguistes, par exemple, avaient été endoctrinés pour croire qu'une grande partie du langage est innée et que l'on n'apprendrait jamais le langage sans connaissances préalables. En fait, ils avaient des théorèmes mathématiques qui prouvaient qu'on ne pouvait pas apprendre le langage sans connaissances préalables. Ma réponse à cela est : méfiez-vous des mathématiciens porteurs de théorèmes.

Geoffrey Hinton

Je veux juste vous donner quelques théories vraiment stupides. Je suis un fan des Monty Python. Voici quelques théories vraiment idiotes. Les continents étaient autrefois connectés puis ont dérivé. Et vous pouvez imaginer à quel point les géologues trouvaient cette théorie stupide. De grands réseaux de neurones qui commencent avec des poids aléatoires et aucune connaissance préalable peuvent apprendre à faire de la traduction automatique. Cela semblait être une théorie très, très idiote pour beaucoup de gens.

Geoffrey Hinton

Pour en ajouter une autre, si vous prenez un remède naturel et que vous continuez à le diluer, plus vous le diluez, plus il devient puissant. Et certaines personnes y croient aussi.

Geoffrey Hinton

La citation du haut a été tirée en fait de la littérature sur la dérive des continents. Wegener, qui l'a suggérée en 1912, a été en quelque sorte tourné en ridicule, même s'il avait en fait de très bons arguments. Il n'avait pas de bon mécanisme, et la communauté géologique disait, vous savez, nous devons garder ces trucs hors des manuels et hors des journaux, ça va juste embrouiller les gens.

Geoffrey Hinton

Nous avons eu notre propre petite expérience de cela lors du deuxième hiver des réseaux de neurones. NIPS, entre toutes les conférences, a refusé de prendre un de mes articles. On n'oublie pas ces choses-là. Et comme beaucoup d'autres auteurs déçus, j'en ai parlé à un ami membre du comité de programme. Et mon ami au comité m'a dit, eh bien, vous voyez, ils ne pouvaient pas accepter cela parce qu'ils avaient deux articles sur l'apprentissage profond et ils ont dû décider lequel accepter, et ils avaient en fait accepté l'autre. Ils ne pouvaient donc pas raisonnablement avoir deux articles sur le même sujet dans la même conférence. Je vous suggère d'aller au NIPS maintenant et de voir si, ouais.

Geoffrey Hinton

Yoshua Bengio a soumis un article à l'ICML vers 2009, je ne suis pas certain de l'année mais c'était vers cette période, et l'un des réviseurs a dit que les articles sur les réseaux de neurones n'avaient pas leur place dans une conférence sur l'apprentissage automatique. Je vous suggère donc d'aller à l'ICML. CVPR, qui est la conférence de référence en vision par ordinateur, a été la plus scandaleuse de toutes, je pense. Yann et ses collaborateurs ont soumis un article réalisant de la segmentation sémantique qui battait l'état de l'art. Il battait ce que les gens du courant dominant de la vision par ordinateur pouvaient faire.

Geoffrey Hinton

Et il a été rejeté. Et l'un des réviseurs a dit, cet article ne nous apprend rien sur la vision par ordinateur parce que tout est appris. Le réviseur, comme le domaine de la vision par ordinateur à l'époque, était coincé dans l'état d'esprit selon lequel la façon de faire de la vision par ordinateur est de réfléchir à la nature de la tâche de vision, d'écrire de préférence quelques équations, de réfléchir à la façon de faire les calculs nécessaires pour faire de la vision, puis d'en obtenir une implémentation et de voir si cela fonctionne.

Geoffrey Hinton

L'idée qu'on apprend tout simplement était en dehors du domaine des choses dignes d'être considérées. Le réviseur est donc fondamentalement passé à côté du sujet, qui était que tout était appris. Il a complètement échoué à voir comment cela changeait radicalement la vision par ordinateur. Je ne devrais pas être trop dur avec ces gars-là, car un peu plus tard, ils ont été très raisonnables ; avec un peu plus de preuves, ils ont soudainement basculé.

Geoffrey Hinton

Entre 2005 et 2009, des chercheurs, certains au Canada — nous faisons de Yann un Canadien honoraire parce qu'il est Français — ont réalisé plusieurs avancées techniques permettant à la rétropropagation de mieux fonctionner dans les réseaux à propagation avant. Elles consistaient à utiliser un pré-entraînement non supervisé pour initialiser les poids avant d'activer la rétropropagation, des choses comme le fait d'abandonner des unités au hasard pour rendre l'ensemble beaucoup plus robuste, et l'introduction d'unités linéaires rectifiées qui se sont avérées plus faciles à entraîner.

Geoffrey Hinton

Pour nous, les détails de ces avancées sont notre quotidien, elles nous intéressent beaucoup, mais le message principal est qu'avec quelques avancées techniques, la rétropropagation fonctionne incroyablement bien, et la raison principale est que nous disposons maintenant de beaucoup de données étiquetées et d'une puissance de calcul pratique. Une puissance de calcul peu pratique n'est pas d'une grande utilité. Mais des choses comme les GPU et plus récemment les TPU permettent d'appliquer beaucoup de calcul et ils ont fait toute la différence.

Geoffrey Hinton

Donc, le facteur décisif, je pense, a été l'augmentation de la puissance de calcul. Je pense qu'une grande partie du mérite de l'apprentissage profond revient réellement aux personnes qui ont collecté les grandes bases de données comme Fei-Fei Li et aux personnes qui ont fait accélérer les ordinateurs comme David Patterson et d'autres. Beaucoup d'autres.

Geoffrey Hinton

L'application phare de mon point de vue remonte à 2009 quand, dans mon labo, nous avons obtenu un lot de GPU et deux étudiants diplômés les ont utilisés pour apprendre à faire de la modélisation acoustique. La modélisation acoustique consiste à prendre quelque chose comme un spectrogramme et à essayer de déterminer, pour la trame centrale du spectrogramme, quel morceau de quel phonème le locuteur essaie d'exprimer.

Geoffrey Hinton

Et dans cette petite base de données que nous utilisions, relativement petite, il y avait 183 étiquettes pour savoir quel morceau de quel phonème cela pourrait être. On pré-entraîne donc un réseau avec de nombreuses couches de 2000 unités cachées. On ne peut pas pré-entraîner la dernière couche car on ne connaît pas encore les étiquettes, et on l'entraîne juste pour qu'il soit capable de reproduire ce qu'il y a dans la couche du dessous. Ensuite, on active l'apprentissage dans toutes les couches et il fait un peu mieux que l'état de l'art qui avait mis 30 ans à se développer.

Geoffrey Hinton

Quand les gens de la parole ont vu cela, les gens intelligents, ils ont réalisé qu'avec plus de développement, ce truc allait être incroyable. Mes étudiants diplômés sont partis dans divers groupes comme MSR, IBM et Google. En particulier, Navdeep Jaitly est allé chez Google et a porté le système de modélisation acoustique développé à Toronto de manière assez littérale, et il est sorti sur Android en 2012.

Geoffrey Hinton

Il y a eu beaucoup de bonne ingénierie pour le faire tourner en temps réel, et cela a donné une forte diminution des taux d'erreur. Et plus ou moins au même moment, tous les autres groupes ont commencé à changer leur façon de faire de la reconnaissance vocale. Et maintenant, tous les bons systèmes de reconnaissance vocale utilisent des réseaux de neurones. Ils ne sont pas comme les réseaux de neurones que nous avions introduits initialement, les réseaux de neurones ont progressivement érodé de plus en plus de parties du système. Mettre un réseau de neurones dans votre système est un peu comme attraper la gangrène, il va progressivement éroder tout le système.

Geoffrey Hinton

Puis en 2012, deux autres de mes étudiants ont appliqué des réseaux de neurones du type de ceux développés pendant de nombreuses années par Yann LeCun à la reconnaissance d'objets sur une grande base de données que Fei-Fei Li avait constituée avec un millier de classes d'objets différentes. Et était enfin une base de données d'images réelles suffisamment grande pour montrer ce que les réseaux de neurones pouvaient faire, et ils pouvaient faire beaucoup.

Geoffrey Hinton

Si vous regardiez les résultats, tous les systèmes de vision par ordinateur, les standards, plafonnaient à environ 25 % d'erreur. Notre système développé par deux étudiants a obtenu 16 % d'erreur, puis des travaux ultérieurs sur des réseaux de neurones comme celui-là ont permis de descendre à 5 % en 2015, et aujourd'hui on est bien en dessous de cela.

Geoffrey Hinton

Ce qui s'est passé ensuite est exactement ce qui devrait arriver en science. Les leaders de la communauté de la vision par ordinateur ont regardé ce résultat et ont dit, oh, ça marche vraiment, nous avions tort. D'accord, nous allons changer. Et en un an, ils ont tous changé. La science a donc finalement fonctionné comme elle était censée le faire.

Geoffrey Hinton

La dernière chose dont je veux parler est une manière radicalement nouvelle de faire de la traduction automatique qui a été introduite en 2014 par des gens chez Google et aussi à Montréal dans le labo de Yoshua Bengio. L'idée en 2014 était que pour chaque langue, nous aurions un réseau de neurones, ce serait un réseau récurrent, qui allait coder la chaîne de mots dans cette langue qu'il reçoit un par un dans un grand vecteur.

Geoffrey Hinton

J'appelle ce grand vecteur un vecteur de pensée. L'idée est que ce grand vecteur capture le sens de cette chaîne de mots. Ensuite, vous prenez ce grand vecteur et vous le donnez à un réseau décodeur, et le réseau décodeur transforme le grand vecteur en une chaîne de mots dans une autre langue. Et ça a fonctionné plus ou moins, et avec un peu de développement, ça a très bien fonctionné.

Geoffrey Hinton

Depuis 2014, l'un des principaux éléments de développement a été que lorsque vous décodez le sens d'une phrase, vous regardez en arrière la phrase que vous étiez en train d'encoder, et c'est ce qu'on appelle l'attention douce. Ainsi, chaque fois que vous produisez un nouveau mot, vous décidez où regarder dans la phrase que vous traduisez. Cela aide beaucoup.

Geoffrey Hinton

Vous pré-entraînez aussi maintenant les plongements de mots, et cela aide beaucoup. La façon dont le pré-entraînement fonctionne est que vous prenez un groupe de mots et vous essayez de reproduire ces mots dans un réseau profond, mais vous avez omis certains des mots. À partir de ces mots, vous devez reproduire les mêmes mots, mais vous devez essentiellement remplir les blancs.

Geoffrey Hinton

Ils utilisent des éléments appelés transformeurs où, dans ce réseau profond, à mesure que chaque mot passe à travers le réseau, il regarde les mots proches pour lever l'ambiguïté sur ce qu'il pourrait signifier. Si vous avez un mot comme « may », quand il entre, vous obtiendrez un vecteur initial ambigu entre le verbe et le mois, mais s'il voit « 13th » à côté, il sait assez bien que c'est le mois.

Geoffrey Hinton

Ainsi, dans la couche suivante, il peut lever cette ambiguïté et le sens de ce « may » sera le mois. Et ces réseaux transformeurs fonctionnent maintenant très bien pour obtenir des plongements de mots. Ils apprennent aussi, s'avère-t-il, énormément de grammaire. Ainsi, tout ce que les linguistes pensaient devoir être mis de façon innée, ces réseaux de neurones l'intègrent, ils acquièrent beaucoup de compréhension syntaxique, mais tout est appris à partir des données.

Geoffrey Hinton

Si vous regardez dans les premières couches des réseaux transformeurs, ils savent à quelles parties du discours les choses appartiennent. Si vous regardez dans les parties ultérieures des réseaux, ils savent comment lever l'ambiguïté des références de pronoms. Fondamentalement, ils apprennent la grammaire comme un petit enfant l'apprend, juste en regardant des phrases.

Geoffrey Hinton

Je pense donc que la traduction automatique a vraiment été le dernier clou dans le cercueil de l'IA symbolique. Car la traduction automatique est la tâche idéale pour l'IA symbolique. Ce sont des symboles en entrée et des symboles en sortie. Mais il s'avère que si vous voulez le faire bien, ce dont vous avez besoin à l'intérieur, ce sont de grands vecteurs.

Geoffrey Hinton

D'accord, j'ai dit tout ce que je voulais dire sur l'histoire jusqu'en 2014 environ des réseaux de neurones. J'ai souligné l'idéologie selon laquelle il y avait ces deux camps et que les gentils ont gagné. Ce n'est pas encore fini car bien sûr ce dont nous avons besoin, c'est que les réseaux de neurones commencent maintenant à être capables d'expliquer le raisonnement.

Geoffrey Hinton

Nous ne pouvons pas encore faire cela, nous y travaillons. Mais le raisonnement est la dernière chose que les gens font, pas la première. Et le raisonnement est construit au-dessus de tout le reste. Mon point de vue a toujours été qu'on ne comprendra jamais le raisonnement tant qu'on n'aura pas compris tout le reste. Et maintenant, nous commençons à comprendre tout le reste et nous sommes plus ou moins prêts à commencer à comprendre le raisonnement.

Geoffrey Hinton

Mais raisonner simplement avec des symboles nus en utilisant des règles qui sont exprimées par d'autres symboles, cela me semblait sans espoir. On passe à côté de tout le contenu. Il n'y a pas de sens.

Geoffrey Hinton

D'accord, je veux parler un peu du futur de la vision par ordinateur. Les réseaux de neurones convolutifs ont été très efficaces. Ce qu'ils font, c'est câbler l'idée que si une caractéristique est utile à un endroit, elle le sera aussi à un autre endroit. Cela nous permet d'accumuler et de combiner les preuves provenant de différents endroits pour apprendre un détecteur de caractéristiques partagé.

Geoffrey Hinton

C'est-à-dire apprendre des détecteurs de caractéristiques répliqués qui sont les mêmes dans tous ces endroits. C'est un gain énorme. Cela rend l'apprentissage beaucoup plus efficace en données. Et ces choses, Yann les a fait fonctionner dans les années 1990. C'était l'une des rares choses qui marchaient vraiment bien dans les années 1990 et elles marchent encore mieux maintenant.

Geoffrey Hinton

Mais je ne pense pas que ce soit ainsi que les gens font de la vision. Je veux dire, je pense qu'un aspect, celui de l'appareil répliqué, est clairement vrai pour le cerveau. Mais ils ne reconnaissent pas les objets de la même manière que nous. Et cela mène aux exemples contradictoires (adversarial examples). Si je vous donne une grande base de données, un réseau de neurones convolutif s'en sortira très bien, il pourra faire mieux qu'une personne.

Geoffrey Hinton

Mais il ne reconnaît pas les choses de la même manière qu'une personne. Je peux donc changer les choses d'une manière qui fera changer d'avis le réseau de neurones convolutif alors qu'une personne ne peut même pas voir les changements que j'ai faits. Ils utilisent des choses qui ressemblent beaucoup plus à la texture et à la couleur, ils n'utilisent pas les relations géométriques entre les objets et leurs parties.

Geoffrey Hinton

Je suis convaincu que la principale façon dont les gens reconnaissent les objets — ils utilisent évidemment la texture et la couleur — est qu'ils sont très conscients des relations géométriques entre un objet et ses parties, et cette relation géométrique est complètement indépendante du point de vue. Cela donne quelque chose de très robuste que l'on devrait pouvoir entraîner avec beaucoup moins de données.

Geoffrey Hinton

Et en fait je ne peux pas m'empêcher de faire une petite démonstration pour vous convaincre que lorsque vous comprenez les objets, ce n'est pas seulement quand vous êtes un scientifique que vous utilisez des référentiels, c'est même quand vous pensez naïvement aux objets, vous leur imposez des référentiels. Je vais donc faire une petite démonstration. Et vous devez participer à cette démonstration sinon ce n'est pas drôle.

Geoffrey Hinton

D'accord, je veux que vous imaginiez, posé sur la table devant vous, un cube. Voici le haut, voici le bas, voici le cube. C'est un cube en fil de fer comme celui-ci. D'accord ? Fils noirs mats. Et ce que je vais faire avec ce cube, c'est que de votre point de vue, il y a un coin avant bas droit ici et le coin arrière haut gauche ici. D'accord ?

Geoffrey Hinton

Et je vais faire pivoter le cube de sorte que le coin arrière haut gauche soit verticalement au-dessus du coin avant bas droit. Nous y voilà. Et donc maintenant je veux que vous teniez le bout de votre doigt dans l'espace, probablement votre index gauche, là où se trouve le sommet du haut du cube, d'accord ? Et maintenant personne ne le fait. Allez.

Geoffrey Hinton

Maintenant avec votre autre doigt je veux juste que vous pointiez l'endroit où se trouvent les autres coins du cube, ceux qui ne reposent pas sur la table. Il y en a un sur la table, un verticalement au-dessus ici, où sont les autres coins ? Et vous devez le faire, vous devez les montrer du doigt. D'accord ? Maintenant, je ne vois pas ce que vous faites, mais je sais qu'un grand nombre d'entre vous aura montré quatre autres coins, parce que je l'ai déjà fait.

Geoffrey Hinton

Et maintenant je veux que vous imaginiez un cube dans l'orientation normale et demandez-vous combien de coins a-t-il ? D'accord ? Il a huit coins, n'est-ce pas ? Donc il y en a six pour ces gars-là. Et ce que font la plupart des gens, c'est qu'ils disent ici, ici, ici et ici. Quel est le problème ? Eh bien, le problème c'est que ce n'est pas un cube. Ce que vous avez fait, c'est préserver la symétrie de rotation d'ordre quatre qu'a un cube, et vous avez montré une forme complètement différente.

Geoffrey Hinton

C'est une forme complètement différente qui a le même nombre de faces qu'un cube a de coins et le même nombre de coins qu'un cube a de faces. C'est le dual d'un cube si on substitue les coins aux faces. Parce que vous aimez tellement la symétrie que vous êtes prêts à vraiment massacrer les choses pour préserver les symétries. En fait, un cube a trois arêtes qui descendent comme ça et trois arêtes qui montent comme ça et mes six doigts sont là où sont les coins, d'accord ?

Geoffrey Hinton

Et les gens n'arrivent tout simplement pas à voir ça, à moins d'être cristallographes ou très intelligents. Le point principal de cette démo est que je vous ai forcé, en faisant cette rotation, à utiliser un axe pour le cube ; l'axe principal qui définissait l'orientation du cube n'était pas l'un des axes du référentiel que vous utilisez habituellement pour un cube. Et en vous forçant à utiliser un référentiel inhabituel, j'ai détruit toutes vos connaissances sur l'emplacement des parties d'un cube.

Geoffrey Hinton

Vous comprenez les choses par rapport à des référentiels. Et si je vous amène à imposer un référentiel différent, c'est juste un objet différent pour vous. Les réseaux convolutifs ne font pas cela. Et parce qu'ils ne le font pas, je ne pense pas qu'ils soient la façon dont les gens perçoivent les formes. Nous avons récemment réussi à faire faire cela à des réseaux de neurones en effectuant un entraînement auto-supervisé et il y a une référence archive là que vous pourriez obtenir si vous êtes rapides ou je tweeterai à ce sujet plus tard.

Geoffrey Hinton

La dernière chose que je veux dire ne concerne pas la reconnaissance de formes en particulier, mais l'avenir des réseaux de neurones. Il y a quelque chose de très bizarre et de très peu biologique que nous faisons depuis 50 ans : nous n'utilisons que deux échelles de temps. C'est-à-dire que vous avez des activités neuronales qui changent rapidement, et vous avez des poids qui changent lentement. Et c'est tout.

Geoffrey Hinton

Mais nous savons qu'en biologie, les synapses changent à toutes sortes d'échelles de temps. Et la question est : que se passe-t-il si l'on introduit maintenant plus d'échelles de temps ? En particulier, introduisons juste une échelle de temps supplémentaire et disons qu'en plus de ces poids qui changent lentement — ce qui correspond à l'apprentissage à long terme — les poids ont un composant, le même poids, la même synapse, mais il y a un composant supplémentaire qui peut changer plus rapidement et décroître assez vite.

Geoffrey Hinton

Si vous demandez : où est votre souvenir du fait qu'il y a une minute j'ai mis mon doigt sur ce coin ici ? Est-ce dans un groupe de neurones qui sont là en train d'être actifs pour que vous puissiez vous en souvenir ? Cela semble peu probable. Il est beaucoup plus probable que votre souvenir de cela réside dans des modifications rapides des poids du réseau de neurones qui vous permettent de reconstruire cela très rapidement et qui s'estomperont avec le temps.

Geoffrey Hinton

Vous avez donc une mémoire qui est dans les poids, une mémoire à court terme. Dès que vous faites cela, toutes sortes de bonnes choses arrivent. On peut utiliser cela pour obtenir une meilleure méthode d'optimisation et on peut l'utiliser pour faire quelque chose qui pourrait très bien être pertinent pour le raisonnement. On peut l'utiliser pour permettre aux réseaux de neurones de faire de la vraie récursion, pas très profonde mais de la vraie récursion.

Geoffrey Hinton

Et ce que j'entends par vraie récursion, c'est que lorsque vous faites l'appel récursif, comme une proposition relative dans une phrase, le réseau de neurones peut utiliser tous les mêmes neurones et tous les mêmes poids qu'il utilisait pour toute la phrase pour traiter la proposition relative. Et bien sûr pour faire cela, il doit d'une manière ou d'une autre se souvenir de ce qui se passait lorsqu'il a décidé de traiter la proposition relative. Il doit stocker cela quelque part.

Geoffrey Hinton

Et je ne pense pas qu'il le stocke dans d'autres neurones, je pense qu'il le stocke dans des changements temporaires des forces synaptiques, et quand il a fini de traiter la proposition relative, il emballe le tout et dit en substance : maintenant qu'est-ce que j'étais en train de faire quand j'ai commencé ce traitement ? Et il peut récupérer l'information de cette mémoire associative dans les poids rapides.

Geoffrey Hinton

Je voulais finir par là parce que la toute première conférence que j'ai donnée en 1973 portait exactement sur cela. J'avais un système qui fonctionnait sur un ordinateur qui avait 64 ko de mémoire. Je n'ai pas encore eu l'occasion de le publier, mais je pense que ça redevenient à la mode, donc je suppose que je le ferai. Et c'est la fin de mon exposé et je n'ai plus de temps.

Geoffrey Hinton

Et maintenant j'aimerais vous présenter Yann LeCun, qui n'est pas seulement un collègue mais un très bon ami.

La révolution de l'apprentissage profond : La suite - Yann LeCun

Yann LeCun

D'accord. Je vais parler de la suite. Mais je vais aussi commencer par un peu d'histoire et passer en revue certaines des choses que Jeff vient de mentionner.

Yann LeCun

Jeff a parlé de l'apprentissage supervisé, et l'apprentissage supervisé fonctionne incroyablement bien si vous avez beaucoup de données. Nous le savons tous, nous pouvons donc faire de la reconnaissance vocale, de la reconnaissance d'images, de la reconnaissance faciale, nous pouvons générer des légendes pour des images, nous pouvons faire de la traduction. Cela fonctionne très bien.

Yann LeCun

Et si vous donnez à votre réseau de neurones une structure particulière, comme un réseau convolutif, comme Jeff l'a mentionné à la fin des années 80 et au début des années 90, nous pouvions entraîner des systèmes à reconnaître l'écriture manuscrite, ce qui a été un franc succès. À la fin des années 90, un système de ce type que j'ai construit aux Bell Labs lisait environ 10 à 20 % de tous les chèques aux États-Unis. Un grand succès donc, même commercial.

Yann LeCun

Mais à cette époque, la communauté entière avait pratiquement abandonné les réseaux de neurones, en partie à cause du manque de grands ensembles de données sur lesquels ils pouvaient travailler, en partie parce que le type de logiciel que l'on devait écrire à l'époque était assez compliqué et c'était un gros investissement, et en partie aussi parce que les ordinateurs n'étaient pas assez rapides pour toutes sortes d'autres applications.

Yann LeCun

Mais les réseaux convolutifs sont réellement inspirés par la biologie. Ils ne sont pas copiés sur la biologie, mais il y a beaucoup d'inspiration tirée de l'architecture du cortex visuel et d'idées qui viennent naturellement quand on étudie le traitement du signal, l'idée que le filtrage est un bon moyen de traiter les signaux, qu'il s'agisse de signaux audio ou d'images, et que les convolutions sont une façon de faire du filtrage est très naturelle.

Yann LeCun

Et le fait que l'on retrouve cela dans le cerveau n'est vraiment pas si surprenant. Ces idées ont bien sûr été proposées par Hubel et Wiesel dans des travaux classiques en neurosciences dans les années 60, et ont également été reprises par Fukushima, un chercheur japonais qui a tenté de construire des modèles informatiques du modèle de Hubel et Wiesel si vous voulez. J'ai trouvé cela inspirant et j'ai essayé de reproduire cela en utilisant des réseaux de neurones qui pourraient être entraînés avec la rétropropagation. C'est essentiellement ce qu'est un réseau convolutif.

Yann LeCun

L'idée du réseau convolutif est que le monde, le monde perceptuel est compositionnel, que dans le monde visuel les objets sont formés de parties, les parties sont formées de motifs, les motifs sont formés de textures ou de combinaisons élémentaires de bords, et les bords sont formés de pixels, d'agencements de pixels.

Yann LeCun

Ainsi, si vous avez un système qui peut détecter de manière hiérarchique des combinaisons de pixels exceptionnellement utiles en bords, des bords en motifs et des motifs en parties d'objets, alors vous aurez un système de reconnaissance. Cette idée de hiérarchie remonte en fait à loin. C'est donc vraiment le principe des réseaux convolutifs.

Yann LeCun

Et il s'avère que les représentations hiérarchiques sont bonnes non seulement pour la vision, mais aussi pour la parole, le texte et toutes sortes d'autres signaux naturels qui sont compréhensibles parce qu'ils sont compositionnels. Je crois qu'il y a ce dicton attribué à Einstein : ce qui est le plus mystérieux dans le monde, c'est qu'il soit compréhensible, et c'est probablement dû à la nature compositionnelle des signaux naturels.

Yann LeCun

Ainsi, au début des années 90, nous étions capables de faire des choses comme construire des systèmes de reconnaissance comme celui-ci. C'est une version plus jeune de moi-même ici aux Bell Labs. C'est d'ailleurs mon numéro de téléphone aux Bell Labs à Holmdel, qui ne fonctionne plus. J'appuie sur une touche ici et le système capture une image avec une caméra vidéo. Cela tourne sur un PC avec une carte DSP spéciale et pouvait faire tourner ces réseaux convolutifs à, vous savez, plusieurs centaines de caractères par seconde à l'époque, ce qui était incroyable. On pouvait faire 20 mégaflops, vous savez, c'était juste incroyable. Donc ça marchait très bien.

Yann LeCun

Et très vite, nous avons réalisé que nous pouvions utiliser cela pour des images naturelles également pour faire des choses comme détecter des visages, et finalement détecter des piétons. Cela a pris quelques années. Mais comme Jeff l'a mentionné, il y a eu une sorte d'hiver des réseaux de neurones entre le milieu des années 90 et la fin des années 2000 si vous voulez, où presque personne ne travaillait sur les réseaux de neurones sauf quelques fous comme nous.

Yann LeCun

Cela ne nous a pas arrêtés, et nous avons continué à travailler sur la détection de visages, de piétons, et même sur l'utilisation de l'apprentissage automatique et des réseaux convolutifs pour la robotique, où nous utilisions un réseau convolutif pour étiqueter une image entière de telle sorte que chaque pixel d'une image soit étiqueté pour savoir s'il est franchissable ou non par un robot.

Yann LeCun

L'avantage de ceci est que vous pouvez collecter des données automatiquement, vous n'avez pas besoin de les étiqueter manuellement car en utilisant la vision stéréo, vous pouvez déterminer si un pixel dépasse du sol ou non grâce à la reconstruction 3D, mais malheureusement cela ne fonctionne qu'à courte portée. Donc si vous voulez un système capable de planifier des trajectoires à longue portée, alors vous pouvez entraîner un réseau convolutif à faire les prédictions de franchissabilité en utilisant ces étiquettes, puis laisser le robot se conduire tout seul.

Yann LeCun

Ce robot particulier ici possède une combinaison de différentes caractéristiques qu'il utilise, extraites par le réseau convolutif, et aussi un système de vision stéréo rapide qui lui permet d'éviter les obstacles tels que des étudiants diplômés agaçants. Pierre Sermanet et Raia Hadsell, au fait, qui sont presque sûrs que le robot ne va pas leur rouler dessus parce qu'ils ont écrit le code.

Yann LeCun

D'accord. Et puis quelques années plus tard, nous avons utilisé un système très similaire pour faire de la segmentation sémantique. C'est d'ailleurs le travail dont Jeff parlait, qui a été rejeté par CVPR 2011. C'est donc un système qui pouvait en temps réel, en utilisant une implémentation FPGA, segmenter, vous savez, donner fondamentalement une catégorie pour chaque pixel d'une image à environ 30 images par seconde avec une résolution décente.

Yann LeCun

C'était loin d'être parfait, mais il pouvait étiqueter avec une précision raisonnable, détecter des piétons, détecter les routes et les arbres, etc. Mais les résultats n'ont pas été immédiatement crus par la communauté de la vision par ordinateur.

Yann LeCun

Maintenant, pour mesurer les progrès accomplis depuis lors au cours des 10 dernières années environ. Voici un exemple de résultat d'un système très récent mis au point par une équipe de Facebook qu'ils appellent le réseau pyramidal de caractéristiques panoptiques. C'est essentiellement un grand réseau convolutif qui a une sorte de chemin qui extrait des caractéristiques, un chemin multicouche, et puis un autre chemin qui génère une image de sortie.

Yann LeCun

Et l'image de sortie identifie et génère un masque pour chaque instance de chaque objet dans l'image et vous indique à quelle catégorie ils appartiennent. Ici le nom des catégories n'est pas affiché, mais il peut reconnaître environ quelques centaines de catégories. Des gens, des véhicules de diverses sortes et pas seulement des catégories d'objets, mais aussi des textures de fond ou des régions, comme de l'herbe, du sable, des arbres et des choses comme ça. On imagine donc qu'un système comme celui-ci serait très utile pour des choses comme les voitures autonomes ; si vous avez la segmentation et l'identification complètes de tous les pixels d'une image, cela faciliterait la construction de voitures autonomes. Pas seulement pour les voitures autonomes, mais aussi pour les systèmes d'analyse d'images médicales. C'est une architecture assez similaire. Les gens appellent ça parfois U-Net à cause de la forme évidente en U de ce réseau convolutif. Là encore, il a une partie encodeur qui extrait des caractéristiques, puis une partie qui construit l'image de sortie où les différentes zones des images médicales sont segmentées. C'est le genre de résultat qu'il produit. C'est un travail réalisé par certains de mes collègues de NYU, je n'ai pas participé à ce travail. Un autre sous-groupe de collègues avec certains coauteurs communs a également travaillé sur la détection du cancer du sein à partir d'imageries, de rayons X, de mammographies. En fait, l'un des sujets les plus brûlants en radiologie ces jours-ci est l'utilisation de l'apprentissage profond pour l'analyse d'images médicales. Cela va probablement affecter, sinon révolutionner la radiologie dans les prochaines années. C'est déjà le cas dans une certaine mesure. Encore d'autres travaux dans ces directions. Il s'agit en fait d'une collaboration entre la NYU Medical School et Facebook AI Research pour accélérer la collecte de données pour l'IRM. Quand vous passez une IRM, vous devez rester dans la machine pendant environ une heure ou 20 minutes selon le type d'examen. Et cette technique utilisant ce genre de réseau convolutif de reconstruction permet de réduire radicalement le temps de collecte des données et d'obtenir des images qui sont essentiellement de la même qualité. Cela ne va pas mettre les radiologues au chômage, mais cela rendra probablement le métier plus intéressant. Jeff mentionnait les travaux sur la traduction avec les réseaux de neurones. Je pense que c'est un développement très surprenant et intéressant de voir qu'on peut utiliser des réseaux de neurones pour faire de la traduction. Et il y a beaucoup d'innovation dans le type d'architectures utilisées pour cela. Jeff a parlé du mécanisme d'attention, de l'architecture transformeur. En voici une nouvelle appelée convolutions dynamiques qui recycle un peu ces idées. Et les choses marchent vraiment bien. Ces réseaux sont très grands. Ils ont quelques centaines de millions de paramètres. Et l'un des défis est de les faire tourner sur des GPU, en ayant assez de mémoire pour les exécuter. Nous étions fondamentalement limités par la mémoire des GPU. Ces idées de segmentation d'images ont été utilisées par des gens travaillant sur les voitures autonomes, en particulier chez Mobileye, qui appartient maintenant à Intel, il y a déjà plusieurs années. Les premiers réseaux convolutifs, je crois, qui ont été déployés pour les voitures autonomes ou pour l'aide à la conduite étaient dans le modèle Tesla S de 2015. NVIDIA a également consacré d'énormes efforts aux voitures autonomes. Il se passe donc beaucoup de choses intéressantes. Mais les progrès sont — je ne dirais pas lents, mais la conduite complètement autonome est un problème difficile. Ce n'est pas aussi facile qu'on le pensait au début. D'accord, donc Jeff a un peu écarté l'apprentissage par renforcement, mais l'apprentissage par renforcement est quelque chose qui passionne beaucoup de gens, en particulier chez DeepMind. Mais il y a un problème avec la version actuelle de l'apprentissage par renforcement, c'est qu'il est extrêmement inefficace en termes de données. Si vous voulez entraîner un système à faire quoi que ce soit par apprentissage par renforcement, il devra faire énormément d'essais et d'erreurs. Par exemple, pour qu'une machine puisse jouer à des jeux Atari classiques au niveau qu'un humain peut atteindre en environ 15 minutes d'entraînement, la machine devra jouer l'équivalent de 80 heures de jeu en temps réel. Pour jouer au Go à un niveau surhumain, elle devra jouer quelque 20 millions de parties. Pour jouer à StarCraft — c'est un travail récent de DeepMind, un billet de blog et non un article — le système AlphaStar a mis l'équivalent de 200 ans de jeu en temps réel pour atteindre un niveau humain sur une seule carte pour un seul type de joueur. Au passage, tous ces systèmes utilisent des ConvNets et diverses autres choses, mais c'est un point intéressant. Le problème avec l'apprentissage par renforcement, c'est que ces modèles doivent essayer quelque chose pour savoir si cela va marcher. Et ce n'est vraiment pas pratique à utiliser dans le monde réel si vous voulez entraîner un robot à saisir des objets ou si vous voulez entraîner une voiture à se conduire toute seule. Pour entraîner un système à conduire une voiture de manière à ce qu'elle ne tombe pas d'une falaise, il devra en fait tomber plusieurs fois avant de comprendre comment ne pas le faire. D'abord pour comprendre que c'est une mauvaise idée, et ensuite pour comprendre comment l'éviter. Parce qu'il n'a pas de modèle du monde. Il ne peut pas imaginer ce qui va se passer avant que cela n'arrive. Il doit essayer les choses pour se corriger. C'est pour cela que c'est si inefficace. Cela soulève donc la question : comment se fait-il que les humains et les animaux puissent apprendre si efficacement, si vite ? Nous pouvons apprendre à conduire une voiture, la plupart d'entre nous peuvent apprendre à conduire en environ 20 heures d'entraînement sans pratiquement aucun accident. Comment cela arrive-t-il ? Nous ne tombons pas des falaises parce que nous avons un assez bon modèle intuitif de la physique qui nous dit que si je conduis à côté d'une falaise et que je tourne le volant vers la droite, la voiture va tomber, et que rien de bon n'en sortira. D'accord. Nous avons donc ce modèle interne. Et la question est : comment apprenons-nous ce modèle interne ? Puis la question suivante est : comment amener les machines à apprendre des modèles internes comme celui-là, essentiellement par simple observation ? Il y a un monsieur qui s'appelle Emmanuel Dupoux à Paris, c'est un psychologue du développement. Il travaille sur la façon dont les enfants apprennent la langue et la parole, mais aussi d'autres concepts. Et il a fait ce tableau sur l'âge en mois auquel les bébés apprennent des concepts de base, comme distinguer les objets animés des objets inanimés. Cela arrive très vite vers l'âge de trois mois. Le fait que certains objets sont stables, d'autres vont tomber, et on peut mesurer si les bébés sont surpris par le comportement de certains objets. Et il faut environ neuf mois aux bébés pour comprendre que les objets qui ne sont pas soutenus tombent. Fondamentalement, la gravité. Si vous montrez à un bébé de six mois le scénario en haut à gauche où il y a une petite voiture sur une plateforme et que vous poussez la petite voiture hors de la plateforme et qu'elle ne tombe pas — c'est un trucage — les bébés de six mois n'y prêtent même pas attention. C'est juste une chose de plus que le monde leur balance et qu'ils doivent apprendre. Ce n'est pas grave. Un bébé de neuf mois fera comme la petite fille en bas à gauche. Il sera très, très surpris. Entre-temps, ils ont appris le concept de gravité. Et personne ne leur a vraiment expliqué ce qu'est la gravité, ils ont juste observé le monde et ont compris que les objets non soutenus tombent, et quand cela n'arrive pas, ils sont surpris. Comment cela se passe-t-il ? Ce n'est pas seulement chez les humains. Les animaux ont aussi ces modèles. Les chats, les chiens, les rats, les orangs-outans. Voici un bébé orang-outan à qui l'on montre un tour de magie. On met un objet dans un gobelet, on retire l'objet sans qu'il le voie, puis on montre le gobelet vide. Il se roule par terre de rire. Son modèle du monde a été violé, n'est-ce pas ? Il a un assez bon modèle du monde — la permanence de l'objet, c'est un concept très basique — les objets ne sont pas censés disparaître comme ça. Et quand votre modèle du monde est violé, vous faites attention parce que vous allez apprendre quelque chose sur le monde que vous ne saviez pas. Si cela viole vraiment une chose très fondamentale du monde, c'est drôle. Mais cela peut aussi être dangereux, n'est-ce pas ? Ça pourrait être quelque chose qui peut vous tuer parce que vous n'avez pas prédit ce qui vient de se passer. D'accord, alors quel est le salut ? Comment amener les machines à apprendre ce genre de choses ? À apprendre l'énorme quantité de connaissances de base que nous apprenons sur le monde juste en observant dans les premiers mois de la vie. Et les animaux le font aussi. Par exemple, si je me demande si je m'entraîne à prédire à quoi ressemblera le monde quand je déplace ma tête légèrement vers la gauche. À cause du mouvement de parallaxe, les objets proches et les objets lointains ne bougeront pas de la même façon par rapport à mon point de vue. La meilleure façon de prédire à quoi ressemblera le monde quand je déplace ma tête est donc de représenter en interne la notion de profondeur. Et par conséquent, si j'entraîne un système à prédire à quoi ressemblera le monde quand il déplace sa caméra, peut-être qu'il va apprendre automatiquement la notion de profondeur. Et une fois que vous avez la profondeur, vous avez les objets parce que vous avez des objets devant d'autres, vous avez des bords d'occlusion. Une fois que vous avez des objets, vous avez des choses que vous pouvez influencer et des choses qui peuvent bouger indépendamment des autres, etc. Les concepts peuvent se construire les uns sur les autres grâce à la prédiction. C'est l'idée de l'apprentissage auto-supervisé. C'est de la prédiction et de la reconstruction. Je donne à la machine une donnée, disons un clip vidéo, je masque une partie de ce clip et je demande au système de prédire la partie manquante à partir de celle qu'il peut observer. D'accord, ce serait de la prédiction vidéo, prédire le futur. La forme plus générale d'apprentissage auto-supervisé est que je ne précise pas à l'avance quelle partie je vais masquer ou non. Je dis juste au système que je vais en masquer une partie et que quoi qu'il soit masqué, je te demande de le reconstruire. En fait, je pourrais même ne pas le masquer du tout. Je vais juste le masquer virtuellement et demander au système de reconstruire l'entrée sous certaines contraintes. L'avantage de cet apprentissage auto-supervisé est qu'il ne dépend pas d'une tâche particulière, vous amenez la machine à apprendre sur le monde sans l'entraîner pour une tâche spécifique. Elle peut donc apprendre par simple observation sans avoir à interagir avec le monde, ce qui est bien plus efficace. Mais surtout, vous demandez au système de prédire beaucoup de choses. Pas seulement une fonction de valeur comme dans l'apprentissage par renforcement où fondamentalement la seule chose que vous donnez à prédire à la machine est une valeur scalaire de temps en temps. Ce n'est pas de l'apprentissage supervisé où vous demandez au système de prédire une étiquette, ce qui représente quelques bits. Dans le cas de l'apprentissage auto-supervisé, vous demandez à la machine de prédire énormément de choses. Cela m'a conduit à cette analogie un peu provocante, du moins pour ceux qui travaillent sur l'apprentissage par renforcement. C'est l'idée que si l'intelligence ou l'apprentissage est un gâteau, la majeure partie du gâteau, la génoise, est vraiment l'apprentissage auto-supervisé. La majeure partie de ce que nous apprenons, l'essentiel des connaissances que nous accumulons sur le monde est appris par l'apprentissage auto-supervisé. Il y a un peu de glaçage sur le gâteau, c'est l'apprentissage supervisé. On nous montre un livre d'images et on nous donne le nom des objets et avec juste quelques exemples, nous savons ce que sont ces objets. On nous apprend le sens de certains mots et les jeunes enfants peuvent apprendre énormément de mots par jour. De nouveaux mots. Et puis la cerise sur le gâteau, c'est l'apprentissage par renforcement. C'est une très petite quantité d'informations que vous demandez à la machine de prédire. Il n'y a donc aucun moyen pour la machine d'apprendre uniquement à partir de cette forme d'apprentissage. Ce doit être une combinaison des trois formes d'apprentissage, mais principalement de l'apprentissage auto-supervisé. Cette idée n'est pas nouvelle. Beaucoup de gens ont plaidé pour l'idée de la prédiction pour l'apprentissage, l'idée d'apprendre des modèles prédictifs. L'une de ces personnes est Jeff, en fait. C'est une citation de lui qui date de quelques années, mais il dit cela depuis environ 40 ans. Au moins depuis plus longtemps que je ne le connais. Et cela va comme ceci : le cerveau a environ 10 puissance 14 synapses et nous ne vivons qu'environ 10 puissance 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é ou auto-supervisé. Puisque l'entrée perceptuelle incluant la proprioception est le seul endroit où nous pouvons obtenir 10 puissance 5 dimensions de contrainte par seconde. Si on vous demande de prédire tout ce qui entre par vos sens, chaque fraction de seconde, c'est énormément d'informations que vous devez apprendre. Et cela pourrait être suffisant pour contraindre toutes les synapses que nous avons dans notre cerveau à apprendre des choses qui ont du sens. Donc la suite de l'apprentissage profond, à mon avis, c'est l'apprentissage auto-supervisé. Et en fait historiquement comme Jeff l'a mentionné, la sorte de « conspiration de l'apprentissage profond » que Jeff et moi avons lancée au début des années 2000 était concentrée sur l'apprentissage non supervisé. Le pré-apprentissage non supervisé. Et cela a partiellement réussi, mais nous l'avons mis de côté pendant un moment et il revient sur le devant de la scène aujourd'hui. Cela va créer une nouvelle révolution, du moins c'est ma prédiction. Et la révolution ne sera pas supervisée. Je dois remercier Alyosha Efros pour ce slogan, c'est lui qui l'a inventé. Bien sûr, il s'est inspiré de Gil Scott-Heron, « the revolution will not be televised ». On peut même trouver des t-shirts avec ça maintenant. D'accord. Alors qu'est-ce que l'apprentissage auto-supervisé réellement ? L'apprentissage auto-supervisé consiste à remplir les blancs. Et cela fonctionne très bien pour le traitement du langage naturel. En traitement du langage naturel, une méthode est devenue standard l'année dernière dans des modèles comme BERT et d'autres : vous prenez une longue séquence de mots extraite d'un corpus de texte. Vous masquez une certaine proportion des mots et vous entraînez un très grand réseau de neurones basé sur ces architectures de transformeurs ou diverses autres architectures pour prédire les mots manquants. En fait, il ne peut pas prédire exactement les mots manquants, donc on lui demande de prédire une distribution sur tout le vocabulaire pour la probabilité que chaque mot se trouve à ces endroits. C'est ce qu'on appelle un cas particulier de ce que nous appelons un auto-encodeur masqué, d'accord ? On lui donne une entrée, on lui demande de reconstruire, mais une partie de l'entrée n'est pas présente. On a essayé de faire cela aussi dans le contexte de la reconnaissance d'images. Il y a eu diverses tentatives. C'est le travail de Pathak et al. d'il y a quelques années où l'on occulte des parties d'une image puis on demande au système de les remplir. Et ce n'est que partiellement réussi, loin d'être aussi réussi que dans le contexte du traitement du langage naturel. En traitement du langage naturel, il y a eu une révolution l'année dernière en utilisant ces systèmes de pré-entraînement pour la compréhension du langage naturel, la traduction, toutes sortes de choses et les performances sont incroyables. Ce sont de très, très grands modèles, mais les performances sont vraiment excellentes. Et il y a eu des indications précoces de cela dans les travaux que Yoshua Bengio a faits il y a longtemps dans les années 90 et que Ronan Collobert et Jason Weston ont faits vers 2010 en utilisant des réseaux de neurones pour le TAL. Puis des travaux plus récents Word2Vec, FastText, etc. qui utilisent cette idée de prédire des mots à partir de leur contexte. Mais vraiment, toute cette idée a complètement décollé. Alors pourquoi cela fonctionne-t-il pour le traitement du langage naturel et pourquoi cela ne fonctionne-t-il pas si bien dans le contexte des images et de la vision ? Je pense que c'est dû à la façon dont nous représentons l'incertitude ou comment nous ne la représentons pas. Disons que nous voulons faire de la prédiction vidéo. Nous avons de courts clips vidéo avec quelques images, dans ce cas-ci une petite fille s'approchant d'un gâteau d'anniversaire. Et nous demandons à la machine de prédire les images suivantes de la vidéo. Si on entraîne un grand réseau de neurones à prédire les prochaines images en utilisant l'erreur quadratique moyenne. Ce qu'on obtient, ce sont des prédictions floues. Pourquoi ? Parce que le système ne peut pas prédire exactement ce qui va se passer et donc la meilleure chose qu'il puisse faire est de prédire la moyenne de tous les résultats possibles. Pour être plus concret, imaginons que toutes les vidéos consistent en quelqu'un posant un stylo sur la table et le lâchant, et chaque fois qu'on répète l'expérience le stylo tombe dans une direction différente et on ne peut pas vraiment prédire dans quelle direction il va tomber. Alors si on prédit la moyenne de tous les résultats, ce serait un stylo transparent superposé sur lui-même dans toutes les orientations possibles. Et ce n'est pas une bonne prédiction. Donc si l'on veut qu'un système puisse représenter plusieurs prédictions, il doit avoir ce qu'on appelle une variable latente. On a donc une fonction implémentée par un réseau de neurones, elle prend le passé, disons quelques images d'une vidéo, et elle veut prédire les images suivantes. Il doit y avoir une variable supplémentaire ici, appelée Z, de sorte que lorsqu'on fait varier cette variable, la sortie varie sur un ensemble particulier de prédictions plausibles. D'accord, c'est ce qu'on appelle un modèle à variable latente. Le problème pour entraîner ces choses-là, c'est qu'il n'y a fondamentalement que deux familles de méthodes. L'une est une idée très cool d'Ian Goodfellow et de ses collaborateurs de l'Université de Montréal d'il y a quelques années, appelée entraînement antagoniste ou réseaux antagonistes génératifs (GAN). Et l'idée des GAN est d'entraîner un deuxième réseau de neurones pour dire au premier réseau si sa prédiction est sur cette variété (manifold) ou cet ensemble de futurs plausibles ou non. Et on entraîne ces deux réseaux simultanément. Il existe une autre technique qui consiste à inférer quelle serait la valeur idéale de la variable latente pour faire une bonne prédiction. Mais si l'on fait cela, on court le risque que la variable latente capture toute l'information qu'il y a à capturer sur la prédiction et qu'aucune information du passé ne soit réellement utilisée pour faire cette prédiction. Il faut donc régulariser cette variable latente. D'accord, donc ces idées d'entraînement antagoniste fonctionnent très bien. Ce que vous voyez en bas est une prédiction vidéo pour un court clip où le système a été entraîné avec cet entraînement antagoniste. Il existe diverses façons de faire ces prédictions non seulement dans l'espace des pixels, mais aussi dans l'espace des objets qui ont déjà été segmentés. Ces réseaux antagonistes génératifs peuvent générer des images qui sont utilisées pour la production artistique. Ce sont des visages inexistants. Vous avez ici un système qui a été entraîné pour produire une image qui ressemble à une célébrité. Une fois le système entraîné, vous lui donnez quelques centaines de nombres aléatoires et il en ressort un visage qui n'existe pas. Et ils ont l'air pas mal. C'est un travail de NVIDIA de cette année en fait, présenté cette année. On peut utiliser cela pour produire toutes sortes de choses comme des vêtements, par exemple, en s'entraînant sur une collection de vêtements d'un célèbre créateur. Je pense donc que nous avons besoin de nouvelles façons de formuler ce problème d'apprentissage non supervisé pour que nos systèmes puissent gérer cette incertitude dans la prédiction dans le contexte d'espaces continus à haute dimension. Nous n'avons pas ce problème dans le contexte du traitement du langage naturel parce qu'il est facile de représenter une distribution sur les mots. C'est juste une distribution discrète, un long vecteur de nombres entre zéro et un dont la somme est un. Mais c'est très difficile dans des espaces continus à haute dimension. Il nous faut donc de nouvelles techniques et l'une de celles que je propose est l'apprentissage auto-supervisé basé sur l'énergie. Imaginez que votre monde est en deux dimensions, vous n'avez que deux variables d'entrée, deux capteurs. Et votre monde entier, tout votre ensemble d'entraînement est composé de ces points ici dans cet espace en deux dimensions. Ce que vous aimeriez, c'est entraîner une fonction de contraste, appelons-la une énergie, qui donne une énergie basse aux points qui sont sur la variété des données et une énergie plus élevée ailleurs. Et il y a fondamentalement beaucoup de recherche à faire là pour trouver la meilleure méthode. Ma préférée est ce que j'appelle les modèles à variable latente régularisée. Et nous avons eu un certain succès il y a environ 10 ans en utilisant des techniques de ce type pour apprendre des caractéristiques dans un réseau convolutif de manière complètement non supervisée. Ce que vous voyez à gauche est l'animation d'un système qui apprend des filtres orientés simplement en étant entraîné avec des patchs d'images naturelles pour reconstruire ceux-ci sous des contraintes de parcimonie (sparsity). Et ce que vous voyez à droite, ce sont des filtres d'un réseau convolutif appris avec le même algorithme avec différents nombres de filtres. Ces trucs marchent plus ou moins. Ils ne battent pas l'apprentissage supervisé si vous avez des tonnes de données étiquetées, mais l'espoir est qu'ils réduiront la quantité nécessaire de données étiquetées. Je vais finir avec un exemple de la façon de combiner tout cela pour amener une machine à apprendre quelque chose d'utile, comme une tâche motrice. Ici ce dont je parle, c'est : pouvons-nous entraîner une machine à apprendre à conduire simplement en observant d'autres personnes conduire et en entraînant un modèle de ce qui se passe dans le monde ? Vous êtes dans votre voiture, vous voyez toutes les voitures autour de vous, et si vous pouvez prédire ce que les voitures autour vont faire à l'avance, alors vous pouvez conduire de manière défensive. Vous pouvez décider de rester loin de telle voiture parce que vous la voyez faire des embardées. Vous pouvez décider de ralentir parce que la voiture devant vous va probablement ralentir car il y a une autre voiture devant elle qui ralentit. Vous avez donc tous ces modèles prédictifs qui vous gardent en sécurité, et vous avez appris à les intégrer au fil du temps. Vous n'avez même pas besoin d'y penser. C'est juste dans vos réflexes de conduite. Vous pouvez parler en même temps et ça marchera. Mais la façon d'entraîner un tel système est de d'abord entraîner un modèle direct (forward model). Un modèle direct serait : voici l'état du monde à l'instant T, donne-moi une prédiction sur l'état du monde à l'instant T plus un. Et le problème avec ça, bien sûr, c'est que le monde n'est pas déterministe. Il y a beaucoup de choses qui pourraient arriver. C'est le même problème dont je parlais avec le stylo. Beaucoup de choses peuvent se passer. Mais si vous aviez un tel modèle direct, vous pourriez le faire tourner sur plusieurs pas de temps, et si vous aviez une fonction objective, comme votre distance par rapport aux autres voitures, si vous êtes bien sur votre voie, etc., vous pourriez rétropropager le gradient à travers tout ce système pour entraîner un réseau de neurones à prédire la bonne trajectoire qui serait sûre sur le long terme. Et cela peut se faire entièrement dans votre tête. Si vous avez un modèle direct dans votre tête, vous n'avez pas besoin de conduire réellement pour vous entraîner. Vous pouvez juste imaginer toutes ces choses. C'est un exemple spécifique. On place une caméra qui regarde une autoroute, elle suit chaque voiture, et extrait un petit rectangle autour de chaque voiture que vous voyez en bas. Et ce que vous faites maintenant, c'est entraîner un réseau convolutif à prendre quelques images centrées sur une voiture particulière et à prédire le prochain état du monde. Et si vous faites ça, vous obtenez la deuxième colonne. La colonne de gauche est ce qui se passe dans le monde réel. La deuxième colonne est ce qui se passe si vous entraînez juste un réseau convolutif avec l'erreur quadratique pour prédire ce qui va arriver. Il ne peut que prédire la moyenne de tous les futurs possibles, et vous obtenez donc des prédictions floues. Si vous transformez maintenant le modèle pour qu'il ait une variable latente qui lui permet de prendre en compte l'incertitude du monde — je ne vais pas expliquer exactement comment ça marche — alors vous obtenez la prédiction que vous venez de voir à droite où pour chaque tirage de cette variable latente, vous obtenez des prédictions différentes, mais elles sont nettes. D'accord, donc maintenant ce que vous pouvez faire c'est, pour faire cet entraînement dont je parlais plus tôt, vous échantillonnez cette variable latente, donc vous obtenez différents scénarios possibles sur ce qui va se passer dans votre futur. Ensuite, par rétropropagation, vous entraînez votre réseau de politique pour amener votre système à conduire. Et si vous faites ça, ça ne marche pas. Ça ne marche pas parce que le système va dans des régions de l'espace d'états où le modèle direct est très imprécis et très incertain. Donc ce que vous devez faire c'est ajouter un autre terme dans la fonction objective qui empêche le système d'aller dans des parties de l'espace où ses prédictions sont mauvaises. C'est comme une contrainte de curiosité inverse, si vous voulez. Et si vous faites ça, ça marche. Voici des exemples : la voiture bleue se conduit toute seule. Le petit point blanc indique s'il accélère, s'il freine ou s'il tourne, et il se maintient en sécurité à l'écart des autres voitures. Les autres voitures ne peuvent pas le voir. La voiture bleue est invisible ici. Laissez-moi vous montrer un autre exemple ici. Ici la voiture jaune est la vraie voiture de la vidéo. La voiture bleue est ce que l'agent entraîné ici fait, et il est coincé entre deux voitures, donc il doit s'échapper parce que les autres voitures ne le voient pas. Il doit donc se faufiler. Mais ça marche. Ça marche raisonnablement bien. Et fondamentalement ce système n'a jamais interagi avec le monde réel. Il a juste regardé d'autres gens conduire, puis il s'en est servi pour entraîner ses plans d'action, essentiellement sa politique. D'accord, maintenant je vais devenir un peu philosophique, si vous voulez. Il y a eu tout au long de l'histoire de la technologie et de la science ce phénomène, ce n'est pas universel, mais c'est assez fréquent, où les gens inventent un artefact puis en tirent une science pour expliquer comment cet artefact fonctionne ou pour trouver ses limites. Un bon exemple est l'invention du télescope dans les années 1600. L'optique ne s'est développée qu'au moins 50 ans plus tard. Mais les gens avaient une bonne intuition de la façon de construire des télescopes avant cela. La machine à vapeur a été inventée à la fin du XVIIe siècle, début du XVIIIe, et la thermodynamique est apparue plus de 100 ans après, essentiellement conçue pour expliquer les limites des moteurs thermiques. Et la thermodynamique est aujourd'hui le fondement de l'une des constructions intellectuelles les plus fondamentales de toute la science. Elle a donc été délibérément définie pour expliquer un artefact particulier. C'est très intéressant. Même chose avec l'électromagnétisme et l'électrodynamique, avec l'invention des voiliers et des avions et l'aérodynamique, l'invention des composés et la chimie pour expliquer, etc., n'est-ce pas ? Les ordinateurs et l'informatique sont venus après l'invention des ordinateurs, non ? La théorie de l'information est venue après l'invention des premières communications numériques par radio, télétype et autres. Il est donc tout à fait possible que dans les prochaines décennies, nous ayons des systèmes empiriques construits par essais et erreurs, peut-être par optimisation systématique sur des machines puissantes, peut-être par intuition, par travail empirique, peut-être avec un peu de théorie, peut-être beaucoup de théorie, espérons-le. Et la question est de savoir si cela mènera à une théorie complète de l'intelligence. Le fait que l'on puisse construire un artefact intelligent pourrait mener à une théorie générale du traitement de l'information et de l'intelligence. C'est un grand espoir. Je ne suis pas sûr que cela se réalisera dans les prochaines décennies, mais c'est un bon programme. Un mot de prudence concernant l'inspiration biologique. Les réseaux de neurones sont biologiquement inspirés, les réseaux convolutifs sont biologiquement inspirés, mais ils sont juste inspirés, pas copiés. Laissez-moi vous raconter l'histoire d'un monsieur qui s'appelle Clément Ader. Y a-t-il des Français dans la salle ? D'accord, pouvez-vous lever la main ? Pas de Français ? D'accord, deux. Vous avez entendu parler de Clément Ader ? Jamais entendu parler de Clément Ader ? Si. D'accord. Y a-t-il quelqu'un qui n'est pas Français et qui a entendu parler de Clément Ader ? Pratiquement personne. Vous n'avez aucune idée de qui il est, n'est-ce pas ? D'accord. Alors ce type a construit à la fin des années 1800 un avion en forme de chauve-souris, propulsé à la vapeur. C'était un concepteur de machines à vapeur. Et son avion a en fait décollé par sa propre puissance 13 ans avant les frères Wright, a volé sur environ 50 mètres à environ 50 centimètres d'altitude, puis s'est en quelque sorte écrasé en atterrissant. C'était fondamentalement incontrôlable. En gros le gars a juste copié des chauves-souris et a supposé que parce qu'il avait la forme d'une chauve-souris, il allait voler, n'est-ce pas ? Cela semblait un peu naïf. Ce n'était pas naïf du tout, mais il est resté un peu trop proche de la biologie et s'est laissé un peu hypnotiser par elle. Il n'a pas fait de choses comme construire une maquette, un planeur ou un cerf-volant, ou une soufflerie comme les frères Wright. Il est resté un peu trop près de la biologie. D'un autre côté, il a laissé un grand héritage : son deuxième avion s'appelait l'Avion, et c'est en fait le mot en français, en espagnol et en portugais pour désigner l'aéroplane. Il a donc eu un certain héritage. Mais c'était un homme secret. C'était avant l'époque de l'open source. Et c'est pourquoi vous n'avez jamais entendu parler de lui. Merci beaucoup.

Session de questions-réponses et conclusion

Modérateur

Merci. Merci, Jeff. Merci, Yann. Nous avons — peut-on allumer la salle, s'il vous plaît ? Nous avons deux micros et nous avons le temps pour quelques questions. Lumières s'il vous plaît. Je sais qu'elles ont été allumées tout à l'heure.

Modérateur

Oui, alors d'abord, applaudissons Yann et Jeff pour cette conférence incroyable.

Modérateur

Une petite anecdote pendant que quelqu'un s'approche du micro. L'anniversaire d'Alan Turing était le 23 juin 1912. Aujourd'hui est donc le 107e anniversaire de sa naissance, et il est donc très approprié que nous ayons eu cette conférence Turing mémorable aujourd'hui. D'accord, une question.

Membre du public

Bonjour, merci à tous les deux. Je suis vraiment intéressé par les travaux sur la compréhension du raisonnement. Pouvez-vous nous donner un petit aperçu de ce que vous en pensez ? Le raisonnement sur la façon dont les réseaux de neurones raisonnent.

Geoffrey Hinton

D'accord, les réseaux de neurones sont assez bons pour les choses que l'on fait en parallèle en 100 millisecondes. Jusqu'à présent, ils ne sont pas si bons pour les choses que l'on fait sur des périodes plus longues. Et en particulier, une chose que les gens reprochent aux réseaux de neurones est qu'ils ne peuvent pas faire de récursion. Quand nous comprenons une phrase, nous pouvons passer dans une proposition relative, comprendre cette proposition relative en y consacrant tout notre effort, puis revenir en arrière. Et ce genre de chose, nous commençons à peine à pouvoir le faire avec les réseaux de neurones. Des gens chez Facebook ont beaucoup travaillé là-dessus, des gens chez Google le font aussi. Mais pour faire des choses pareilles, il faut une sorte de mémoire. La solution habituelle dans un réseau de neurones est d'avoir une autre rangée de neurones qui sont des copies des neurones que vous avez déjà. Mais ce n'est pas biologiquement plausible. Je veux toujours quelque chose qui soit biologiquement plausible. Et dans le cerveau, il semble beaucoup plus probable que cette mémoire ne soit pas des copies d'activités neuronales, mais une mémoire associative capable de recréer les activités neuronales, mais qui ne soit utilisée que pour des choses temporaires. Il y a en fait pas mal de travail là-dessus, pour essayer de combler le fossé des réseaux de neurones incapables de faire de longues chaînes de raisonnement.

Yann LeCun

Il y a une question que Jeff préconise depuis longtemps : le fait que si vous avez un raisonnement classique basé sur la logique, il est discret, donc incompatible avec l'apprentissage basé sur le gradient. Alors comment faire du raisonnement avec des vecteurs en remplaçant les symboles par des vecteurs et la logique par des fonctions continues, en gros des fonctions continues paramétrées ? Et puis si vous voulez de longues chaînes de raisonnement, vous devez avoir une mémoire de travail. Jeff mentionnait une idée utilisant des poids rapides. Beaucoup de gens travaillent sur ce qu'on appelle un réseau à mémoire (memory network). Vous avez donc essentiellement un réseau récurrent qui peut accéder à un réseau de neurones séparé qui est aussi différentiable, mais construit dans une architecture particulière qui le transforme en une mémoire associative, au fond. Et ce genre de choses marche dans des cas simples, elles n'ont pas encore vraiment été portées à l'échelle pour de gros problèmes. Mais il y a un travail très intéressant sur des réseaux de neurones qui ne calculent pas directement une réponse, mais produisent un réseau de neurones conçu pour répondre à la question posée. Le « visual question answering » en est un exemple typique. Vous montrez une image complexe à un système et vous lui demandez : « y a-t-il une sphère brillante qui est plus grande que les deux cubes dans cette image ? » Et ce que fait le réseau de neurones, c'est qu'il produit un autre réseau de neurones qui a le bon module pour répondre à cette question. On peut entraîner tout ça avec la rétropropagation et c'est assez incroyable que ça marche, mais ça marche.

Modérateur

Encore une question de ce côté-là. Allez-y.

Membre du public

Je viens de la Northeastern University. Beaucoup de gens s'interrogent sur les réseaux de neurones en disant : nous savons qu'ils fonctionnent, mais nous ne savons pas comment ils fonctionnent. J'aimerais avoir vos commentaires là-dessus.

Yann LeCun

Ce n'est pas tout à fait vrai. Je veux dire, nous avons une certaine compréhension, bien sûr. D'abord, nous avons accès à tout ce qu'il y a à l'intérieur de la machine, non ? Évidemment ces choses ont des centaines de millions de paramètres, des centaines de milliers de variables à l'intérieur. Ça va être compliqué. Ça doit être compliqué parce que nous voulons qu'elles résolvent des problèmes compliqués. Penser qu'on va avoir une compréhension complète de chaque détail est vain. En revanche, je pense qu'il y a pas mal de compréhension théorique, par exemple, sur les raisons pour lesquelles l'optimisation semble fonctionner dans de grands réseaux, pourquoi le système ne semble pas piégé dans des minima locaux, par exemple, ou sur le genre de représentations apprises.

Geoffrey Hinton

J'ai quelque chose à dire là-dessus aussi : la plupart des choses que font les gens, nous ne savons pas comment elles fonctionnent, nous n'avons aucune idée de comment ils les font. Et donc si vous remplacez les gens par des réseaux de neurones, vous n'êtes pas plus mal lotis qu'avec les gens. En fait, vous êtes probablement mieux lotis parce qu'on peut mieux corriger les biais avec un réseau de neurones qu'avec une personne. Mais l'autre chose est qu'il peut y avoir des tâches où vous avez besoin d'utiliser des centaines de milliers de régularités faibles dans les données pour faire une prédiction, et il n'y a pas de règles simples, juste beaucoup de régularités faibles. Et ce que font les grands réseaux de neurones, c'est qu'ils les utilisent toutes et disent : « 300 000 régularités disent oui et 150 000 disent non, donc c'est probablement oui. » Et si vous me demandez : mais comment a-t-il fait ? Si vous vous attendez à obtenir quelques lignes de code informatique qui calculeraient ça, vous ne les aurez pas. Ce réseau de neurones a un milliard de poids, et la façon dont il l'a fait, c'est que ce milliard de poids avait ces valeurs-là. Et c'est peut-être le mieux qu'on puisse obtenir. Pour ce genre de décision, vous allez juste devoir vivre avec le fait que les gens ont des intuitions et que leurs intuitions leur disent quoi faire, et les réseaux de neurones ont des intuitions aussi, et elles fonctionnent de la même manière qu'avec les gens, en ayant un grand nombre de poids qui conspirent ensemble pour dire que ceci est plus probable que cela.

Modérateur

Merci. Je sais que vous attendiez, alors allez-y et on en prendra une dernière là-bas.

Membre du public

Désolé, juste une petite question sur d'autres aspects de l'IA comme le calcul évolutionnaire. Avez-vous des avis sur le fait qu'ils vont — désolé, je n'ai pas entendu — sur d'autres domaines de l'IA comme le calcul évolutionnaire, par exemple, parce que vous n'avez mentionné que le symbolique et le neuronal.

Geoffrey Hinton

Je pense que c'est super pour régler les hyperparamètres. C'est-à-dire que si vous êtes dans un espace à haute dimension et que vous voulez vous améliorer, si vous pouvez avoir un gradient, vous ferez beaucoup mieux que quelqu'un qui n'en a pas. Et le cerveau est un appareil à obtenir des gradients, je crois. L'évolution ne peut pas obtenir de gradients parce qu'une grande partie de ce qui détermine la relation entre le génotype et le phénotype échappe à votre contrôle, c'est l'environnement. L'évolution doit donc utiliser des techniques comme la mutation, les changements aléatoires et les recombinaisons. Mais nous ne sommes pas limités à cela. Nous pouvons produire un appareil capable d'obtenir des gradients. Maintenant, évidemment, si vous pouvez obtenir des gradients, vous pouvez aussi utiliser l'évolution pour améliorer cet appareil. Et si vous regardez ce qui se passe dans les réseaux de neurones aujourd'hui, vous entraînez un réseau de neurones en utilisant des gradients, mais vous bidouillez maintenant les hyperparamètres en utilisant quelque chose qui ressemble beaucoup plus à une technique évolutionnaire.

Modérateur

Je pense que nous avons le temps pour une dernière question de ce côté-là.

Membre du public

Merci. Yann a parlé de l'utilisation des CNN ou d'autres types de réseaux de neurones dans la perception pour les véhicules autonomes et cela ne semble pas très positif. Pourriez-vous faire d'autres commentaires à ce sujet ?

Yann LeCun

Eh bien, il y a eu beaucoup de déclarations, probablement plus axées sur le marketing que sur la science, affirmant que la conduite entièrement autonome était pour demain. Et c'est juste beaucoup plus difficile que ce que la plupart des gens imaginent. Beaucoup de gens dans le secteur savaient bien sûr que c'était difficile et que ce n'était pas pour demain. Je pense qu'il y a une histoire similaire dans beaucoup de domaines de l'IA et pour l'IA dans son ensemble, où beaucoup de gens avaient des attentes très optimistes sur le moment où l'IA de niveau humain serait atteinte, par exemple. À mon avis, ce n'est pas pour demain. Il y a certainement des choses, comme la façon de faire correctement l'apprentissage auto-supervisé, qui doivent être résolues avant que cela n'arrive. Mais ce ne sont pas les seuls obstacles, c'est juste la première montagne que l'on voit et il pourrait y avoir tout un tas de montagnes derrière que nous n'avons pas encore identifiées. Je pense donc que c'est un peu la même chose pour la conduite autonome. Pour la conduite autonome, il est facile d'obtenir des résultats précoces impressionnants où une voiture semble se conduire assez bien pendant, disons, une demi-heure. Mais pour obtenir le même niveau de fiabilité que les humains, qui est d'un accident mortel pour 100 millions de miles — je suis désolé, qu'est-ce qu'un facteur 10 puissance 6 entre amis ? Alors c'est vraiment difficile d'atteindre ce niveau. Et si vous essayez d'extrapoler la quantité de données dont vous avez besoin pour atteindre ce niveau en voyant comment les performances s'améliorent à mesure que vous augmentez la quantité de données, c'est au fond impraticable. Nous devons donc trouver de nouvelles façons d'entraîner ces systèmes, et je pense que l'apprentissage auto-supervisé fait partie de la réponse. On verra bien. D'accord. Vous savez, c'est un problème difficile. On peut sur-optimiser, ajouter des capteurs qui facilitent le traitement, faire des cartes détaillées, faire toutes sortes de choses pour que ce soit pratique dans certaines conditions, mais la conduite autonome de niveau 5 est difficile.

Modérateur

Bien, sur ce, je sais que beaucoup d'entre vous ont d'autres événements de conférence à suivre. Nous avons terminé avec la dernière question. J'aimerais donc vraiment remercier Yann et Jeff une fois de plus pour cette conférence Turing des plus mémorables. Merci.

Modérateur

Et profitez bien du reste de la conférence, y compris des événements de ce soir. Merci.