L'apprentissage profond et le futur de l'IA
27 octobre 2017
Artificial Intelligence
Introduction et parcours
parler d'apprentissage profond, sans surprise. Mon nom est Yann LeCun en français, Yann LeCun en anglais et Yann LeCun en chinois.
Et je suis professeur à NYU, juste à côté. Je suis aussi le directeur de Facebook AI Research. Et laissez-moi d'abord vous dire quelques mots sur Facebook AI Research. Et aussi quelques mots sur NYU. Je suis sûr que beaucoup d'entre vous connaissent certaines des activités de NYU. Il y a quelques années, j'ai fondé le Center for Data Science à NYU, qui est un centre axé sur toutes les méthodes et les applications de l'extraction de connaissances à partir de données. C'est ce qu'est la science des données, la façon dont je vois la science des données, l'extraction de connaissances à partir de données. Et de plus en plus, ce processus implique ce que nous appelons maintenant l'IA, qui sont des méthodes d'apprentissage automatique sophistiquées. Et je parlerai des applications potentielles de cela, des applications actuelles, ainsi que des limites et de ce sur quoi nous travaillons pour aller au-delà de ces limites.
Je passe, bien sûr, la majeure partie de mon temps chez Facebook, je suis basé au bureau de Facebook à New York, qui est très proche d'ici sur Astor Place. C'est à seulement cinq minutes à pied d'ici. Cela rend les choses très pratiques. Et nous avons, chez Facebook AI Research, quatre sites : à New York, à Menlo Park en Californie, à Paris, et il y a deux semaines, nous avons annoncé la création d'un nouveau laboratoire à Montréal, qui fonctionne depuis quelques mois, mais nous avons fait l'annonce officielle il y a deux semaines. Facebook AI Research compte environ 110 chercheurs et ingénieurs, et travaille sur tous les aspects de l'IA dans la recherche avancée, en développant de nouveaux algorithmes, de nouvelles méthodes, de nouveaux principes, une nouvelle théorie. C'est tout à fait du côté de la recherche. Et puis il y a un autre groupe chez Facebook également appelé Applied Machine Learning, qui est un peu plus grand que FAIR, qui travaille sur l'application des méthodes d'IA pour Facebook, fournissant la technologie aux groupes d'ingénierie. Et il y a beaucoup de gens chez Facebook qui développent également des produits autour de ces technologies. En fait, on pourrait soutenir que Facebook aujourd'hui ne pourrait pas exister sans la version actuelle de l'IA. Beaucoup de systèmes chez Facebook utilisent l'apprentissage profond, les réseaux neuronaux et les techniques d'IA.
Les limites de l'IA actuelle
Je vais aborder un certain nombre de questions. Certaines sont un peu philosophiques, mais d'autres sont des questions technologiques et scientifiques. J'étais récemment à une conférence à l'Université de Columbia il y a quelques semaines, et j'y ai fait une présentation, et juste avant moi, un professeur du MIT, Josh Tenenbaum, qui est un researcher en sciences cognitives, a dit ceci : « Tous ces systèmes d'IA que nous voyons, aucun d'entre eux n'est une véritable IA. » Et ce qu'il entendait par là, et je suis d'accord avec lui, c'est que ce que nous pouvons faire avec notre système d'apprentissage automatique actuel est très limité. Nous pouvons les entraîner en mode supervisé, nous pouvons les entraîner avec des formes d'apprentissage par renforcement, mais cela limite le type de problèmes que nous pouvons résoudre. C'est généralement limité à des domaines très étroits, et nous n'avons aucune idée de la façon de construire des machines généralement intelligentes. Nous n'avons aucune idée de la façon d'amener les machines à apprendre comme le font les humains et les animaux. Il y a beaucoup de battage médiatique autour de l'IA, et c'est en partie mérité car il y a beaucoup de belles applications, et elle va révolutionner de nombreux pans de l'économie. Mais elle reste encore très limitée, et nous devons faire la recherche aujourd'hui pour dépasser ces limitations.
Le paradigme de l'apprentissage supervisé
Voici le paradigme que nous utilisons tous. Tous les systèmes d'IA dont vous avez entendu parler et qui fonctionnent dans la pratique utilisent essentiellement l'apprentissage supervisé. Et puis il y a un petit nombre qui utilise ce qu'on appelle l'apprentissage par renforcement. J'y reviendrai plus tard. Dans l'apprentissage supervisé, vous voulez, par exemple, entraîner une machine à distinguer les voitures des avions. Vous lui montrez des milliers d'exemples, et chaque fois, vous lui dites quelle est la bonne réponse. Si la sortie est correcte, vous ne faites rien. Sinon, vous ajustez les paramètres internes de la machine, symbolisés par ces boutons, pour que la sortie se rapproche du résultat voulu. Après des milliers d'exemples, les réglages se stabilisent pour lui permettre de reconnaître n'importe quelle voiture ou avion, même jamais vus. C'est la magie de l'apprentissage automatique. Et la magie de l'apprentissage profond est que vous n'avez pas besoin de faire beaucoup d'ingénierie pour entraîner ces machines. Elles sont très souvent génériques.
Qu'est-ce que l'apprentissage profond ?
Ce que les gens appellent l'IA aujourd'hui, c'est l'apprentissage profond. Cela signifie essentiellement deux approches majeures : les réseaux de neurones convolutifs et les réseaux de neurones récurrents. On l'appelle apprentissage profond car par le passé, pour construire un système de reconnaissance de formes, il fallait concevoir manuellement un « extracteur de caractéristiques » qui transformait l'image brute en une liste de nombres décrivant son contenu. On y ajoutait ensuite un classificateur simple. L'apprentissage profond a apporté ce diagramme du bas où tout le système est une cascade de modules, tous entraînables simultanément. Vous insérez une image, attendez la réponse et ajustez tous les paramètres pour qu'elle soit correcte. Cela permet au système d'apprendre la tâche de bout en bout avec très peu d'ingénierie humaine, ce qui le rend applicable à beaucoup de données sans trop d'efforts.
Aujourd'hui, cela signifie que les opérations requises pour implémenter ces réseaux neuronaux sont très simples. Essentiellement, vous n'avez besoin que de trois opérations : multiplication, addition et comparaison. C'est tout. Si vous pouvez faire ces trois opérations très rapidement dans une organisation particulière, vous pouvez exécuter des réseaux de neurones très vite. Pour un ordinateur, une image est un tableau de nombres, la valeur de chaque pixel. L'entrée du système est donc une liste de nombres. Ensuite, vous calculez plusieurs sommes pondérées de ces valeurs et les comparez à un seuil. Si c'est en dessous, la sortie est zéro ; au-dessus, c'est un nombre non nul. Vous faites cela avec de nombreuses configurations de poids. C'est mathématiquement équivalent à multiplier un vecteur par une matrice, puis à passer les composants par des opérations non linéaires. Vous répétez cela en empilant ces couches.
L'algorithme de rétropropagation
La beauté de l'algorithme d'apprentissage est qu'il est mathématiquement connu comme l'optimisation à grande échelle d'une fonction dans un espace de grande dimension. Vous mesurez la performance en comparant la sortie produite à celle attendue, ce qui donne une valeur de coût. Vous faites la moyenne sur un grand ensemble d'entraînement pour mesurer l'erreur. L'objectif est d'ajuster tous les boutons, tous ces coefficients dans les matrices, pour que ce coût diminue. C'est comme marcher dans le brouillard en montagne pour trouver le village dans la vallée : la seule chose que vous avez est la direction de la pente. Une technique très efficace remonte à Newton et Leibniz, mais son utilisation pour les réseaux de neurones date du début des années 80. L'idée est de propager un signal à l'envers dans le réseau, ce qui indique pour chaque bouton ajustable comment le modifier pour que la sortie soit plus proche du but. C'est l'algorithme de rétropropagation, utilisé partout.
L'invention des réseaux convolutifs
La question suivante est de savoir comment construire l'architecture du système pour qu'il comprenne la nature des données. Cela a conduit à une invention quand je travaillais aux Bell Labs dans le New Jersey. C'était le bras de recherche d'AT&T, appartenant maintenant à Nokia. Les Bell Labs sont l'institution où tout le monde moderne a été inventé : le transistor, le laser, le satellite, Unix, C et C++. J'y étais à la fin des années 80 et j'ai conçu cette architecture appelée réseau convolutif. Elle s'inspire de la biologie. Des neuroscientifiques avaient examiné le cortex visuel et compris comment les neurones étaient connectés. Au Japon, Kunihiko Fukushima a créé un modèle appelé néocognitron, mais il n'avait pas le bon algorithme d'apprentissage. J'ai donc combiné cette inspiration avec l'algorithme de rétropropagation pour créer le réseau convolutif.
Premières applications et déploiement
Voici un réseau convolutif que mes collègues et moi avons construit vers 1990, entraîné pour reconnaître les chiffres manuscrits. À l'époque, nous ne pouvions pas entraîner de grands réseaux car les ordinateurs n'étaient pas assez puissants et nous manquions de données. Les seuls domaines avec assez de données étaient la reconnaissance de l'écriture et de la parole. Ça fonctionnait très bien pour l'écriture. Plus on monte dans les couches, plus la représentation du monde est abstraite et de haut niveau. À la fin, il reconnaît les caractères, et même plusieurs caractères à la fois. Nous avions des implémentations sur des puces spéciales qui fonctionnaient assez rapidement pour l'époque.
Finalement, nous avons construit un système pour reconnaître les codes postaux et les chèques, déployé commercialement à grande échelle. À la fin des années 1990, ce système lisait environ 20 % de tous les chèques bancaires aux États-Unis. Mais à cette époque, la communauté de recherche s'est détournée des réseaux neuronaux pour des méthodes plus simples à gérer, car le logiciel à écrire était complexe et c'était avant l'ère de l'open source. J'ai donc arrêté l'apprentissage automatique de 1996 à 2002 pour travailler sur la compression d'images.
Le renouveau et le succès d'ImageNet
En 2003, j'ai rejoint NYU et j'ai recommencé à travailler sur les réseaux de neurones avec Geoffrey Hinton et Yoshua Bengio. Nous voulions relancer l'intérêt pour ces méthodes car nous pensions qu'elles étaient la solution avec des ordinateurs puissants. Vers 2010-2011, Geoffrey Hinton a eu du succès dans la reconnaissance vocale. Ses étudiants ont compris comment implémenter ces réseaux efficacement sur des GPU (cartes graphiques). Ils ont entraîné AlexNet en 2012, un réseau gigantesque pour l'époque avec 1 milliard de connexions et 20 couches, sur le jeu de données ImageNet. Ils ont remporté la compétition avec un taux d'erreur divisé par deux par rapport à l'état de l'art. En deux ans, la communauté de la vision par ordinateur est passée de l'ignorance à l'adoption complète de ces méthodes.
Ces dernières années, on a vu une inflation du nombre de couches. Un de mes anciens étudiants chez Google a participé à GoogLeNet. Plus récemment, Kaiming He a proposé ResNet chez Microsoft Research, avec des connexions sautant des couches. C'était si impressionnant que nous avons embauché Kaiming chez Facebook. Il y a maintenant des idées dérivées comme DenseNet.
Hiérarchie et compositionnalité du monde
Cette idée de hiérarchie fonctionne car le monde visuel est compositionnel. Les scènes sont composées d'objets, eux-mêmes de parties, puis de motifs et enfin de caractéristiques élémentaires comme des coins ou des cercles. Cette architecture multi-couches construit cette hiérarchie en détectant d'abord les bords, puis en les assemblant pour former des motifs et des parties d'objets. C'est probablement ce qui rend le monde compréhensible pour nous comme pour les machines.
Il y a quelques années, nos réseaux étaient très petits et prenaient deux semaines à entraîner. AlexNet en 2012 prenait aussi deux semaines sur un ou deux GPU. Aujourd'hui, grâce à la parallélisation et à l'optimisation logicielle, nous pouvons entraîner un réseau plus grand comme ResNet en environ une heure. Les progrès du matériel et du logiciel sont immenses.
Robotique et conduite autonome
En 2003, nous avons entraîné un petit camion télécommandé à se conduire seul via un réseau convolutif, en imitant un conducteur humain. La DARPA s'est montrée intéressée, ce qui a mené au projet LAGR pour piloter des robots en milieu naturel. Le réseau convolutif aidait à déterminer si un emplacement était praticable ou s'il s'agissait d'un obstacle.
Voici le réseau appliqué à l'image : une fois chaque pixel étiqueté, on place cela sur une carte pour planifier le trajet du robot. Le robot avait trois ordinateurs portables dans le ventre. Voici une séquence où le robot tente d'atteindre un but tandis que des étudiants l'en empêchent. Finalement, il trouve son chemin.
Plus récemment à NYU, nous avons collaboré avec NVIDIA. Les personnes travaillant sur leur voiture autonome sont les mêmes que celles du projet robotique précédent. Après quelques heures d'entraînement à imiter un humain, cette voiture peut se conduire dans des environnements complexes comme des forêts. Fait incroyable, leurs bureaux sont situés dans le même bâtiment des Bell Labs, dans le même couloir où se trouvait mon bureau dans les années 80.
Segmentation sémantique et Mask R-CNN
L'idée de segmentation sémantique pour identifier les routes, voitures et bâtiments a donné des idées à de nombreuses entreprises comme Mobileye. Aujourd'hui, toute l'industrie des voitures autonomes aux États-Unis, en Europe ou en Chine utilise des réseaux convolutifs. C'est une technologie qui fait l'unanimité.
Voici des travaux récents de Facebook appelés Mask R-CNN. Le système peut fonctionner en temps réel sur un téléphone. Il peut détourer chaque objet de l'image (environ 200 catégories) : verres à vin transparents, objets partiellement cachés ou qui se chevauchent. Il y a 10 ans, on pensait que cela prendrait 20 ans à résoudre. Ce système peut compter les moutons ou estimer la posture d'une personne.
Applications massives chez Facebook
Nous utilisons aussi les réseaux convolutifs pour la traduction chez Facebook, afin de connecter les gens à travers le monde. C'est un réseau avec quelques astuces et des mécanismes d'attention qui traduit les publications d'une langue à l'autre.
La reconnaissance d'image est utilisée massivement chez Facebook. 1,5 milliard de photos sont téléchargées chaque jour. Chaque photo passe par quatre réseaux convolutifs : un pour identifier les objets et intérêts, un pour filtrer le contenu inapproprié, un pour générer des descriptions textuelles pour les aveugles, et un pour la reconnaissance faciale. Tout cela se fait en deux secondes, ce qui demande une efficacité de calcul extrême.
La recherche chez Facebook AI Research est ouverte. Nous publions nos travaux et notre code en open source, comme PyTorch, une plateforme très flexible pour l'apprentissage profond. Nous avons aussi des outils pour la classification de texte, le jeu de Go ou la recherche de similarité.
Le futur : Santé et Science
Il y aura de nombreuses applications : voitures autonomes, analyse d'images médicales (notamment en radiologie), médecine personnalisée, reconnaissance vocale sur smartphones, et analyse de données scientifiques en physique ou en biologie.
Par exemple, à NYU, Kyunghyun Cho travaille sur la détection de tumeurs par rayons X. À Stanford, on travaille sur le diagnostic des lésions cutanées. Mais parlons du futur et des obstacles. L'IA actuelle est très différente de la façon dont les humains et les animaux apprennent.
Le défi du bon sens et de la prédiction
Nous cherchons à abstraire des principes du cerveau. Je crois qu'il existe un principe sous-jacent à l'apprentissage. Ce que les animaux possèdent, c'est le bon sens : la capacité de remplir les blancs à partir d'informations partielles. Si je dis « Jean prend son sac et quitte la pièce », vous déduisez qu'il s'est levé, a marché et n'est plus là. Vous savez qu'il ne va pas s'envoler ou se dématérialiser. C'est cela, le bon sens.
Le bon sens nous permet de prédire. Si je lâche cet objet, vous savez qu'il va tomber. L'essence de l'intelligence est cette capacité à prédire l'avenir et les conséquences de nos actions via des notions de physique intuitive.
Les bébés apprennent la permanence de l'objet vers deux mois, c'est pourquoi le jeu de cache-cache les amuse tant. La notion de gravité s'acquiert vers huit mois. Avant cela, un bébé ne s'étonne pas de voir un objet flotter. On apprend tout cela par simple observation du monde, sans qu'on nous l'explique.
Emmanuel Dupoux de l'ENS a établi un tableau de l'âge d'acquisition de ces concepts : visages à 2 mois, stabilité à 5 mois, gravité à 8 mois. Nous ne savons pas encore comment reproduire cet apprentissage par observation chez les machines.
L'apprentissage non supervisé : le gâteau de l'IA
Quand nous observons, nous nous entraînons à prédire. C'est l'apprentissage non supervisé ou prédictif. Dans l'apprentissage supervisé, l'information donnée est faible (juste une étiquette). Dans l'apprentissage par renforcement, c'est encore moins (juste une récompense). AlphaGo a dû jouer des millions de parties pour devenir bon. Mais on ne peut pas faire s'écraser une voiture des millions de fois pour lui apprendre à conduire.
Si l'intelligence artificielle était un gâteau, la base serait l'apprentissage non supervisé (apprendre comment le monde fonctionne par observation).
Le glaçage serait l'apprentissage supervisé, et la cerise serait l'apprentissage par renforcement.
Le problème est que nous savons faire la cerise et le glaçage, mais pas encore le gâteau.
C'est comme en physique : la matière ordinaire ne représente que 5 % de l'univers. Les 95 % restants sont de la matière noire et de l'énergie noire.
En apprentissage automatique, la partie au chocolat est notre matière noire.
Modèles de monde et agents autonomes
Nous travaillons tout de même sur le renforcement chez Facebook, par exemple pour jouer à Doom ou StarCraft.
Mais nous devons construire des machines autonomes. Une machine intelligente interagit avec le monde via des perceptions et des actions pour minimiser une fonction objectif (une mesure de son malheur).
Nos cerveaux ont des fonctions objectifs câblées (faim, soif) et d'autres apprises (distinguer le bien du mal).
Pour être intelligent, un agent doit pouvoir simuler ce qui va se passer. Il lui faut un modèle du monde pour prédire les conséquences de ses actions.
C'est cette partie que nous ne savons pas encore construire et que les bébés apprennent par observation.
Prédire l'avenir et systèmes de dialogue
Nous travaillons sur des modèles prédictifs. Vous voulez prédire que vous allez tomber à ski quelques secondes avant que cela n'arrive pour pouvoir l'éviter.
Chez Facebook, nous avons entraîné des machines à prédire la chute de cubes.
La machine détermine la direction de la chute, même si la prédiction reste un peu floue à cause de l'incertitude.
Nous appliquons aussi cela aux systèmes de dialogue pour leur donner un peu de bon sens.
En entraînant une machine à prédire ce que l'interlocuteur va dire, elle apprend à comprendre le sujet de la conversation.
L'équipe de Jason Weston à New York a créé un système capable de discuter de films de manière semi-intelligente.
Ce modèle prédictif permet au système d'apprendre à dialoguer plus rapidement.
Réseaux antagonistes (GANs)
Une nouvelle technique appelée réseaux antagonistes a été proposée par Ian Goodfellow. Elle permet de gérer le problème des prédictions multiples valides.
Si je lâche un stylo, il peut tomber dans n'importe quelle direction. Toutes ces options sont correctes. Dans l'apprentissage supervisé classique, on ne peut donner qu'une seule « bonne » réponse.
L'idée de l'entraînement antagoniste est d'utiliser un deuxième réseau neuronal pour apprendre quelles sont les réponses possibles et punir seulement les prédictions en dehors de cet ensemble.
Ce « discuriminateur » essaie de faire la différence entre ce qui arrive réellement et ce que le prédicteur invente.
À terme, le prédicteur devient si bon que ses prédictions sont indiscernables de la réalité.
Génération et prédiction vidéo
Des chercheurs ont créé DCGAN. Ils ont entraîné le système à générer des images de chambres à coucher à partir d'un vecteur aléatoire.
Ce sont de fausses chambres avec des lits, des fenêtres et des lampes. On peut aussi générer des visages.
Si on l'entraîne sur des chiens, on obtient des chiens un peu étranges.
Pour la prédiction vidéo, l'entraînement antagoniste évite les images floues et produit des séquences plus nettes et réalistes.
Le système peut même « inventer » la suite d'une bibliothèque quand la caméra tourne dans un appartement.
C'est crucial pour les voitures autonomes : prédire qu'un piéton va finir de traverser ou qu'une voiture va continuer de tourner.
Prédire à l'avance permet de prendre des mesures de sécurité, comme s'éloigner d'un conducteur erratique ou d'un gros camion.
Questions-Réponses : Rétropropagation et Capsules
Désolé professeur, nous devons vous interrompre par manque de temps.
J'ai fini, c'était mon dernier point. Merci beaucoup.
Nous passons aux questions. Merci pour ce discours passionnant. Qui souhaite poser une question ?
Bonjour Professeur LeCun. J'ai lu que Geoffrey Hinton pensait qu'il fallait abandonner la rétropropagation pour progresser.
Quel est votre avis sur le sujet et quelles seraient les alternatives ? Merci.
Je suis d'accord avec lui sur beaucoup de points. Nous avons des vues très alignées. Les articles reflètent parfois mal sa pensée réelle.
Il a cette idée de « capsules » pour mieux séparer les facteurs explicatifs des données (quoi et où). C'est une amélioration des réseaux classiques.
Sur la rétropropagation, il cherche des moyens d'estimer les gradients autrement. Il y a trois questions : doit-on minimiser une fonction objectif ? Le fait-on par gradient ? Et comment estimer ce gradient ?
Beaucoup de neuroscientifiques essaient de comprendre comment le cerveau évalue les gradients. Pour l'instant, aucune alternative ne surpasse la rétropropagation en pratique.
Questions-Réponses : Machines et Fiabilité
Merci professeur. Une autre question ?
Bonjour, je suis de JHU. Pensez-vous qu'à l'avenir les machines pourront entraîner d'autres machines ?
On ne peut pas copier un humain, mais on peut copier une machine. Si une voiture autonome vit une expérience, toutes les autres peuvent en profiter en partageant les poids du réseau.
C'est un avantage majeur. Et oui, les machines finiront par apprendre par elles-mêmes en observant le monde.
Dernière question, là-bas.
Bonjour. Concernant les systèmes critiques, les réseaux de neurones sont moins prévisibles que les systèmes à règles. Qu'en pensez-vous pour la sécurité ?
L'entraînement antagoniste est difficile pour le texte car il est discret. Mais il existe des méthodes comme les auto-encodeurs régularisés par adversaire.
Pour la fiabilité, on ne peut pas encore faire de vérification formelle sur l'apprentissage comme on le fait pour le logiciel d'un Airbus. Ce sont les constructeurs de voitures autonomes qui trouveront les solutions en premier.
Merci beaucoup, Professeur. Applaudissons-le encore une fois.