Un plan pour atteindre l'intelligence artificielle générale
22 mars 2019
Intelligence Artificielle
Définition de l'IA Générale
D'accord, merci pour l'introduction. Aujourd'hui, je vais parler d'un plan pour atteindre l'intelligence artificielle ou l'intelligence machine. L'exposé ne sera pas très technique ; il est censé vous motiver à travailler dans ce domaine car de nombreux chercheurs considèrent cela comme un grand objectif pour l'humanité en ce siècle : parvenir à l'intelligence artificielle car il y a de très bonnes raisons pour lesquelles nous voudrions faire cela. J'en parlerai plus tard. Tout d'abord, je peux dire ce qu'est ce terme d'IA générale car il y a beaucoup de confusion. Beaucoup de gens voient quelque chose de complètement différent derrière ces mots. Pour expliquer ma vision de l'intelligence artificielle : c'est un moyen mécanique, un algorithme, pour effectuer automatiquement des tâches que n'importe quel humain peut faire et peut-être beaucoup plus. Ce devrait être un système ouvert qui peut être un humain artificiel capable d'effectuer des tâches intellectuelles similaires à celles que nous, humains, pouvons accomplir. Il existe de nombreux noms pour ce domaine, ce qui peut prêter à confusion. Tout au long de l'histoire de l'IA, il y a eu le terme "IA-complète", qui désignait une solution où si vous résolvez un problème d'IA-complète, vous résolvez tous les problèmes d'IA, une machine d'apprentissage général. La même signification se cache derrière l'IA forte. Il existe l'IA étroite ou faible et l'IA forte. L'IA forte est une solution à tous les problèmes ensemble, un grand algorithme pour l'IA. L'IA générale a été inventée avec la même motivation. Ensuite, nous avons l'IA de niveau humain. À mon avis, l'idée est la même derrière tous ces noms ; les chercheurs veulent différencier leurs objectifs et aspirations de ce sur quoi d'autres travaillent sous l'étiquette IA, qui est davantage de l'apprentissage automatique appliqué. Les classificateurs sont utiles ; les réseaux de neurones artificiels peuvent classer des images d'ImageNet avec une grande précision, mais ce n'est pas de l'IA générale. Si vous résolvez cette tâche avec une précision maximale, vous ne résolvez que cette tâche et ne pouvez pas facilement utiliser votre solution pour l'étendre à d'autres tâches sans créer un ensemble de données étiquetées manuellement à partir de zéro. Des exemples de systèmes IA-complets incluent la réponse aux questions, un système avec lequel vous pouvez parler en langage naturel similaire au test de Turing ; un algorithme qui contrôlerait un robot pour faire n'importe quoi ; ou il devrait être capable de jouer à des jeux vidéo et d'apprendre à des vitesses similaires à partir de la même quantité d'expérience que les humains. Ce devrait être une machine capable de faire de la recherche, de lire des articles, d'extraire des informations, de réaliser des expériences et d'écrire des programmes informatiques. L'IA générale ne devrait pas porter sur une seule tâche ; elle devrait être applicable à toutes ces tâches. Le meilleur système qui existe actuellement est l'humain, mais il n'existe pas de version mécanique de notre intelligence.
Ce que l'IA Générale n'est pas
Pour clarifier, ce qui n'est pas de l'IA générale ou de l'IA forte inclut tout ce que nous avons accompli jusqu'à présent, comme les algorithmes à usage unique codés manuellement. Considérez une calculatrice de poche. Elle a des capacités mathématiques surhumaines car elle peut multiplier des nombres beaucoup plus rapidement qu'un humain, mais elle ne peut rien faire de nouveau par elle-même. On peut dire la même chose des systèmes qui jouent automatiquement à des jeux informatiques. Ce sont des algorithmes codés en dur qui effectuent une tâche mieux ou plus rapidement que les humains, mais ce n'est pas ce que nous recherchons dans l'IA générale. Si vous optimisez pour une seule tâche, vous obtenez une solution qui a de la valeur pour cette tâche mais pas pour toutes.
Évolution des idées et simulations
Comment pouvons-nous développer une IA générale ? Personne ne le sait aujourd'hui. Beaucoup de gens prétendraient avoir la solution, mais nous n'avons pas d'idées convaincantes selon lesquelles l'IA générale soit possible de sitôt en utilisant nos connaissances existantes. Ce sujet est intéressant car cette solution transformerait la société. Les ordinateurs n'auraient plus besoin d'être programmés ; nous communiquerions avec eux, et ils utiliseraient leurs ressources informatiques pour optimiser nos tâches. Cette interaction avec les machines se produira dans le futur. La question est quand et comment. Je veux vous motiver à travailler sur ce problème et à réfléchir de manière plus large à des idées qui ne sont pas populaires car les percées viennent de directions que beaucoup de gens n'attendent pas. Je vais décrire l'évolution de mes idées depuis que j'ai commencé à travailler sur l'IA. Cela a commencé au début des années 90 quand j'ai vu des ordinateurs pour la première fois. Il était clair qu'un ordinateur peut suivre n'importe quelle instruction que nous lui donnons, et il y a un nombre illimité de programmes que nous pouvons composer. Je me suis demandé s'il existait un programme capable de remplir la même fonction que les humains. Il semblait qu'il devrait y avoir une possibilité de rendre un ordinateur vivant. Une preuve de concept est que vous pouvez construire des mondes simulés dans un ordinateur ; les jeux informatiques simulent une partie de la réalité, et nous pouvons rendre les simulations plus précises. Il devrait être possible d'avoir une simulation du monde incluant des formes de vie intelligentes. J'étais convaincu dès le début que c'était possible. J'étais passionné par les jeux informatiques et j'ai créé des algorithmes dont j'ai appris plus tard qu'ils s'appelaient Monte Carlo. Il est intéressant de réfléchir aux générateurs pseudo-aléatoires et à l'espace de tous les programmes informatiques possibles. Des idées connexes que j'ai apprises plus tard incluent la longueur de description minimale et la probabilité algorithmique de Ray Solomonoff, qui est une distribution sur tous les programmes possibles générant un préfixe. Ces concepts sont très intéressants pour l'IA et ne sont pas bien connus actuellement. Les travaux de Gregory Chaitin vont dans ce sens. J'espère que les chercheurs considéreront cet éventail plus large d'idées.
Réseaux de neurones et neurosciences
Après avoir développé des algorithmes pour les jeux informatiques, je suis revenu à l'IA au début des années 2000 à l'université. J'ai trouvé des réseaux de neurones artificiels, qui étaient alors considérés comme un domaine mort. Il y avait une motivation à les considérer comme une solution pour l'IA. Le cerveau humain possède 100 milliards de neurones, chacun ayant 10 000 connexions. Avec suffisamment de puissance de calcul, nous devrions être capables de simuler le cerveau. Cela semble convaincant, sauf que les neurones artificiels fonctionnent différemment des neurones biologiques, et que la structure du cerveau humain n'est ni simple ni uniforme. Il y avait des tâches utilisant des réseaux de neurones comme la reconnaissance vocale, mais les gens étaient sceptiques à cause des grandes affirmations les comparant au cerveau. C'étaient des modèles mathématiques, et le lien entre la biologie et ces modèles a été surmédiatisé, ce qui a découragé les gens. Ils sont redevenus populaires au cours des sept dernières années, mais en tant qu'étudiant de premier cycle, il y avait beaucoup de scepticisme. Un autre plan pour parvenir à l'IA consistait à imiter plus étroitement le fonctionnement du cerveau. Les neuroscientifiques étudient les cerveaux d'animaux simples pour comprendre comment les neurones fonctionnent et copier cette fonctionnalité dans une simulation. C'est une preuve d'existence : si notre compréhension du cerveau était assez bonne, nous pourrions simuler le cerveau avec une grande précision. À moins que nous ne croyions en la métaphysique, cela devrait être équivalent à un vrai cerveau. Le problème il y a 15 ans était la grande complexité ; comprendre la fonction d'un seul neurone semblait difficile. De plus, simuler le cerveau pourrait ne pas suffire car le cerveau a besoin d'entrées pour se développer. Un cerveau dans un bocal ne saurait rien. Nous devrions simuler le cerveau avec le corps et l'environnement. Bien que ce soit une direction intéressante, ce n'était pas pour moi.
Apprentissage par renforcement et techniques évolutionnistes
Une autre branche était l'apprentissage par renforcement. L'histoire se répète ; ces exemples réapparaissent aujourd'hui. Des jeux simples peuvent être appris en explorant des combinaisons. Il n'y a pas de motivation biologique au-delà de l'idée que l'apprentissage est l'objectif. Nous n'apprenons pas de manière supervisée ; personne ne nous donne de vecteurs cibles. Au mieux, nous nous sentons bien quand nous faisons quelque chose de bien pour nous. Les récompenses — positives et négatives — remplacent l'apprentissage supervisé et semblent plus réalistes pour l'IA. Vous pouvez imaginer interagir avec une machine et donner des récompenses pour façonner son comportement. C'est ainsi que nous formons les animaux ou expliquons les choses aux gens. L'apprentissage par renforcement est intéressant, mais les exemples ne sont pas allés loin. On s'est trop concentré sur l'optimisation des récompenses, et non sur la création d'un système ouvert qui gagne en complexité. Ces algorithmes convergeaient vers une stratégie optimale pour un jeu mais s'arrêtaient là ; il n'y avait pas d'explosion de complexité comme dans la vie. Une autre branche était celle des techniques évolutionnistes ou des systèmes dynamiques où la complexité émerge des interactions entre agents. L'objectif est de simuler la vie, où l'intelligence est une propriété de la vie. J'étais passionné par l'évolution computationnelle. C'est l'approche la plus générale car le cerveau a évolué grâce à des mécanismes simples. Il n'y a pas de récompenses dans l'univers ; elles sont des produits de l'évolution qui nous aident à survivre. Cependant, les techniques évolutionnistes étaient souvent appliquées à des tâches où l'apprentissage par renforcement ou supervisé était plus approprié. Elles étaient considérées comme des approximations lentes de solutions analytiques. Je n'ai pas vu d'exemples où les techniques évolutionnistes passaient à l'échelle au-delà des problèmes jouets. Les critiques suggéraient que des techniques de recherche plus simples comme la recherche aléatoire gloutonne pourraient faire de même.
Modélisation du langage et réseaux récurrents
En réfléchissant au cœur de l'intelligence, je suis devenu convaincu que l'apprentissage par renforcement serait bon si nous avions un modèle du monde construit de manière non supervisée. Nous apprenons par l'observation de la façon dont les choses changent. Parce que nous pouvons prédire le résultat des actions à l'aide de ce modèle, l'apprentissage par renforcement fonctionne. Mon mémoire de maîtrise sur la modélisation du langage était basé sur l'idée que si nous développons de bonnes techniques de prédiction et ajoutons l'apprentissage par renforcement, nous obtenons une IA. J'ai trouvé confirmation dans le livre de Jeff Hawkins "On Intelligence". Marcus Hutter et Matt Mahoney ont publié un défi de compression pour Wikipédia, qui était considéré comme faisant partie de la connaissance humaine. L'argument était basé sur la longueur de description minimale : pour maximiser la compression, vous devez trouver des modèles. Ce défi est en cours ; des réseaux récurrents ont été ajoutés récemment. Il s'est éloigné des objectifs originaux, mais les gens ont optimisé pour la tâche plutôt que de construire des modèles de langage. Je me suis concentré sur la modélisation du langage parce que nous apprenons de manière non supervisée et que le langage est au cœur de l'intelligence humaine. Pendant mon doctorat, j'ai compris comment entraîner des réseaux récurrents de pointe. J'ai inventé l'écrêtage de gradient pour stabiliser l'entraînement. Beaucoup ne croyaient pas à mes résultats car les réseaux récurrents étaient considérés comme instables. J'ai publié la boîte à outils RNNLM. Ma thèse a montré que des modèles plus grands réduisent le taux d'erreur sur les mots. J'ai battu le système de pointe d'IBM pour la reconnaissance vocale. Les réseaux récurrents sont désormais une technique standard et ont mené à la traduction automatique neuronale. Chez Google Brain, j'ai collaboré avec l'équipe Google Translate, ce qui a entraîné des bonds de qualité. Cependant, ces tâches étaient de l'IA étroite.
Limites de la prédiction et feuille de route
Je suis devenu sceptique quant à la prédiction comme seul plan. De nombreuses actions humaines ne sont pas basées sur des prédictions apprises au cours d'une vie, mais sur l'instinct et la culture. La prédiction pourrait être le résultat de principes généraux, et non l'objectif. L'évolution a développé notre capacité à faire des prédictions. Nous devrions étudier les mécanismes qui nous permettent de développer ces systèmes. "La Société de l'Esprit" de Marvin Minsky explore les comportements complexes issus des agents. Concernant la planification, comment définir le succès ? J'aime le test de Turing, mais si vous optimisez trop fortement, vous pouvez tromper les humains en utilisant des astuces. L'IA devrait être un système ayant le potentiel d'apprendre. J'ai écrit un plan pour avoir une vision concrète. Les chercheurs en IA générale devraient avoir des tâches utiles à l'esprit. Si vous définissez une tâche, vous limitez la complexité pour trouver une solution. Notre feuille de route, "Roadmap towards Machine Intelligence", suggère que l'IA devrait effectuer des tâches pour des utilisateurs humains. Si vous supprimez l'utilité, vous pourriez développer quelque chose de dangereux. L'IA devrait être utilisée avec nous, pas comme une entité autonome avec des objectifs orthogonaux. La capacité d'apprendre et de s'améliorer est une exigence, pourtant de nombreux systèmes ont des paramètres gelés après l'entraînement. La communication par le langage est nécessaire à l'utilité. Chez Facebook AI Research, nous utilisons un environnement 2D où les agents suivent des instructions. On pourrait le rendre en 3D, ajouter la vision et le son, ou avoir plusieurs IA qui communiquent. Notre objectif à long terme est un agent de communication qui exécute des tâches, comme des rappels. Il diffère de Siri ou Google Now car nous nous soucions de la généralisation et de l'apprentissage rapide. Les sujets de recherche nécessitant un développement incluent l'apprentissage non supervisé, l'apprentissage basé sur les récompenses et l'apprentissage compositionnel. L'apprentissage automatique actuel échoue lorsqu'une tâche est légèrement modifiée ; repartir de zéro est souvent plus rapide. La mémoire à long terme fait également défaut.
Mémoire à long terme et Projet Communication AI
Il est possible de voir que la véritable IA devrait être capable de stocker des faits pendant une durée indéfiniment longue, tout comme les humains. Là encore, l'apprentissage automatique actuel n'a pas la capacité de former ou même de représenter une mémoire à long terme. Les ensembles de données d'entraînement et les cadres que nous avons actuellement semblent erronés. De mon point de vue, l'IA générale est dans une situation similaire à celle de la reconnaissance automatique de la parole dans les années 60. Il y avait beaucoup d'idées sur la façon de construire des systèmes de reconnaissance vocale, mais il manquait les ensembles de données pour mesurer les progrès et les techniques d'apprentissage statistique. Dans les années 60, l'idée dominante pour la reconnaissance vocale était que de nombreux linguistes, phonéticiens et experts collaboreraient pour écrire des systèmes basés sur des règles. Ce ne fut pas le cas ; les techniques statistiques ont réussi. Je pense qu'il en va de même pour l'IA : nous devons définir les bons cadres, les bons ensembles de données et les bonnes métriques pour mesurer les progrès. C'est l'un des grands objectifs pour l'avenir. Nous avons essayé de montrer un exemple de la façon dont cela pourrait être fait. Cela s'appelle le projet Communication AI, et l'environnement est en libre accès sur le GitHub de Facebook Research. Il s'agit d'un ensemble de tâches de communication de plus en plus complexes. Pour exemple, un enseignant et un apprenant interagissent où l'apprenant essaie d'apprendre à partir des entrées de l'enseignant. C'est très général ; il y a un flux d'entrée et de sortie entre les deux agents. L'enseignant crée des tâches, et l'apprenant est la partie qui apprend. L'IA est censée réagir et s'optimiser pour obtenir des récompenses. Les tâches de base sont simples, mais elles deviennent vite trop compliquées pour les modèles de référence que nous avons considérés. Une fois qu'elle répète correctement les symboles, elle reçoit une récompense. C'est une tâche intéressante car les réseaux récurrents typiques n'ont pas la capacité d'apprendre cet algorithme. Cet algorithme est la mémorisation de séquences, où l'apprenant se souvient de n symboles et les répète. Les réseaux récurrents classiques ne peuvent pas apprendre à généraliser sur ces tâches ; ils mémorisent des instances mais échouent lorsque les chaînes sont plus longues. Nous avons développé un réseau récurrent augmenté de mémoire qui a motivé d'autres groupes à travailler sur des idées similaires, comme les machines de Turing neuronales et les réseaux de mémoire. La motivation était d'avoir quelque chose qui généralise davantage, mais cela reste un problème ouvert. En ce qui concerne l'apprentissage incrémental, une fois que vous répétez une chaîne une fois, comprendre "deux fois" à partir des entrées de l'enseignant ne devrait pas être impossible. Je ne prétends pas que ce soit facile ; si les instructions étaient en japonais, vous auriez besoin d'exploration pour comprendre la signification des symboles. Une fois que vous avez les connaissances pour répéter une chaîne une fois, la répéter deux fois est gérable. Fait intéressant, les techniques actuelles d'apprentissage automatique ne peuvent pas réutiliser ces connaissances entre les tâches ; elles repartent de zéro. Notre environnement a été utilisé par GoodAI dans le General AI Challenge. Les objectifs étaient d'apprendre des modèles de plus en plus complexes dans des contextes de communication. C'est toujours un défi ; personne n'a encore résolu ces tâches. Pour récapituler, l'apprentissage non supervisé et l'apprentissage basé sur les récompenses sont des problèmes intéressants pour la communauté de l'apprentissage automatique. Nous devons apprendre à apprendre afin de pouvoir modifier la solution en fonction des signaux entrants, comme l'apprentissage basé sur la prédiction où l'on apprend par l'observation sans récompenses. Si quelqu'un vous dit un nouveau mot, vous vous en souvenez. Vous pouvez construire un modèle du monde, naviguer dans une nouvelle ville et apprendre à connaître les rues sans récompenses. On appelle cela parfois apprendre à apprendre. L'apprentissage compositionnel et incrémental et la mémoire à long terme sont des problèmes de recherche ouverts. Il y a plus de questions que de réponses. Les problèmes sont liés et nous devrions envisager une approche de haut niveau. Peut-être que la solution est une théorie où les propriétés de l'IA émergent de systèmes simples, de la même manière que l'évolution. La mémoire à long terme pourrait être un résultat de l'évolution. Nous ne devrions pas les étudier un par un ; ce sont des problèmes avec lesquels les techniques actuelles d'apprentissage automatique ont du mal. J'ai mentionné un modèle avec une mémoire structurée qui a réussi à apprendre des modèles algorithmiques afin que le système puisse mieux généraliser qu'un réseau récurrent. Vous pouvez en trouver plus dans notre article NIPS. Je ne prétendrais pas que nous avons une solution finale pour la mémoire à long terme, mais nous montrons les limites des réseaux récurrents et faisons un pas en avant. Il existe des défis, comme rendre la mémoire à long terme active pour qu'elle influence sa propre croissance. Pour conclure, nous avons besoin de plus de plans pour parvenir à une IA de niveau humain. Les gens croient souvent qu'il suffit de plus de neurones ou de GPU. Notre plan se concentre sur l'apprentissage incrémental et la communication. Après des années de travail sur ces sujets, je peux dire qu'il est difficile de progresser, mais c'est un sujet passionnant. C'est un moment idéal pour faire de la recherche en IA avec des financements et de l'intérêt. De nombreuses entreprises ont des plans pour soutenir la recherche, et les universités permettent aux gens de travailler sur ces idées. J'espère que certains d'entre vous seront motivés pour réfléchir à de nouvelles idées et faire les choses différemment, car c'est ce dont nous avons besoin pour progresser. Merci de votre attention.
Questions-Réponses : Le rôle du langage
Merci beaucoup, Tomas. Nous passons à une autre série de questions rapides. Michael aimerait savoir : pourquoi le langage est-il le cœur de l'intelligence ?
Pour l'intelligence humaine, le langage est nécessaire à l'interaction. Si vous voulez savoir si un étudiant est intelligent, vous lui parlez. Il en va de même pour l'IA ; pour comprendre ce qu'elle fait et façonner son comportement, la communication est le moyen le plus naturel. Les humains ont évolué de sorte que la communication passe par le langage. D'autres animaux communiquent différemment, comme les abeilles par des mouvements. Pour une IA de haut niveau, le cœur est le langage.
Questions-Réponses : Émergence et Modèles de grande taille
Une question de Chris : si les prédictions sont un sous-produit de mécanismes généraux de bas niveau, ne pourrait-il pas en être de même pour le langage ? Si c'est le cas, qu'est-ce que cela pourrait signifier pour l'intelligence artificielle générale ?
Je pense tout à fait que c'est le cas. Le langage émerge de principes généraux et plus simples. Le langage peut être vu comme un système en évolution. Je n'en ai pas beaucoup parlé, mais de nombreux processus dans le monde sont intelligents et pas au niveau de l'individu. Dans "Society of Mind", les agents communiquent pour créer un comportement émergent. Les agents peuvent être simples. Cette intelligence émergente existe à de nombreux niveaux. La culture est vivante et évolue ; les villes et les nations sont intelligentes à leur manière. L'émergence de la complexité dans le langage est un résultat des principes généraux.
Une troisième question sur le langage d'affilée, de la part de Michael : l'augmentation de la taille des réseaux existants pour la modélisation du langage conduit à une amélioration des performances sur divers benchmarks. Considérez-vous cela comme une direction de recherche utile ou existe-t-il des limitations fondamentales ?
Je le vois des deux côtés. Il y a des limitations fondamentales, mais c'est intéressant. L'augmentation de la taille des modèles, comme le montre ma thèse de 2012, entraîne une diminution des perplexités si vous augmentez les données et la taille du modèle. Pour moi, c'est un effort d'ingénierie ; il est évident que l'on s'améliore si l'on agrandit le modèle. Il y aura des gains décroissants où vous devrez multiplier la taille du modèle par cent pour une petite amélioration. Des rendements décroissants se sont produits avec les n-grammes avant les réseaux de neurones. Les plus grands modèles de langage d'aujourd'hui voient 10 000 fois plus de données qu'un humain n'en voit au cours de sa vie. Leur capacité de prédiction peut paraître magique, mais ils sont incapables d'apprendre des régularités simples. Ils apprennent du langage quelque chose de différent des humains. Mon article sur les modèles algorithmiques montre que des modèles simples ne peuvent pas être représentés par certains modèles d'apprentissage automatique, ce qui signifie qu'aucun poids n'existe qui permettrait de généraliser.
Questions-Réponses : Données Facebook et Apprentissage auto-supervisé
Une question de Romain : utilisez-vous les données des utilisateurs de Facebook pour vos algorithmes de NLP ?
Certaines personnes le font, mais chez Facebook AI Research, nous sommes libres de faire ce que nous voulons. Il est plus facile d'éviter les problèmes compliqués et d'utiliser des ensembles de données ouverts.
C'était un "non" assez long. Dernière question avant votre pause café : pouvez-vous nous en dire plus sur l'idée de Yann LeCun selon laquelle l'apprentissage auto-supervisé est la voie vers l'AGI ? C'est une question de Gael.
Concernant l'apprentissage auto-supervisé, je ne suis pas sûr d'interpréter parfaitement les idées de Yann. Il serait préférable de lui demander. La dernière fois que j'ai entendu parler de ses idées, elles étaient similaires à l'apprentissage basé sur la prédiction combiné à l'apprentissage par renforcement. Une grande partie de l'apprentissage est non supervisée ; la supervision vient des données. Les modèles de langage prédisent le mot suivant, ou des caractéristiques visuelles dans une vidéo sont prédites. Je ne crois plus en cette voie. Se concentrer trop sur la prédiction pourrait nous mener sur la mauvaise voie. Les gens passent à côté de la différence entre généralisation et mémorisation. Nos meilleurs modèles de prédiction mémorisent plus qu'on ne le suppose et généralisent moins.
Merci beaucoup. Remercions encore Tomas.
Merci.