Quelle est l’origine de l’intelligence artificielle ?
La notion d’intelligence artificielle (IA) est très ancienne : elle remonte au moins jusqu’aux pères fondateurs de l’informatique, c’est-à-dire Alan Turing ou John von Neumann
Mais depuis l’apparition des ordinateurs, l’IA a connu des vagues successives d’enthousiasme, comme dans les années 1980, où tout le monde s’est mis à faire des systèmes experts (c’est-à-dire des enchaînements de règles logiques), de la même façon qu’aujourd’hui tout le monde se concentre sur les réseaux de neurones formels. Mais ces vagues d’enthousiasme sont toujours retombées parce que les chercheurs ont promis beaucoup de réalisations qu’ils ne sont pas parvenus à concrétiser, en tout cas pas totalement – par exemple, des systèmes experts, restés en informatique traditionnelle, ou les « langages à base de règles », utilisés dans de nombreuses applications.
Quelles sont plus précisément les grandes évolutions identifiées au cours de ces différentes vagues ?
La première a été celle de la logique informatique qui a duré pendant 30 ou 40 ans. La logique se fonde sur l’idée que ce sont essentiellement les connaissances humaines des experts qui vont permettre de résoudre les problèmes. Il faut trouver des moyens de mécaniser ces connaissances humaines et de faire en sorte qu’elles s’enchaînent les unes aux autres de manière rationnelle, pour arriver aux conclusions. Cette démarche a un certain nombre de qualités : nous pouvons comprendre exactement ce que fait le système puisque ce sont des connaissances humaines qui ont été intégrées. Le phénomène de « boîte noire », souvent reproché à l’IA, est dans ce cas très atténué.
Dans les années 1980 ont commencé à apparaître les réseaux de neurones artificiels, quasiment identiques à ceux exploités aujourd’hui ; mais ils n’ont eu qu’un succès académique, car il n’y avait pas assez de données, ni assez de puissance de calcul, pour les faire tourner efficacement. Ils réapparaissent aujourd’hui, car la disponibilité de masse de données (le Big Data) et les machines plus performantes permettent de faire les apprentissages nécessaires.
À l’opposé de la logique, et de façon un peu caricaturale, les réseaux de neurones ne prennent en compte que des connaissances humaines minimales, mais en les faisant tourner sur d’immenses bases de données. Ils font de l’apprentissage et génèrent des systèmes avec des millions de paramètres. Cet apprentissage consiste à fixer ces millions de valeurs alors qu’un processus logique ne comprend que très peu de valeurs ajustables. L’avantage des réseaux de neurones vient de la facilité de développement, car il n’est pas nécessaire de mobiliser des experts et de traduire leurs connaissances.
Prenons l’exemple de la détection de fraudes à l’utilisation de cartes bancaires dans les DAB ou sur Internet : vous pouvez aborder cette question en demandant aux experts de la fraude d’expliquer les comportements des fraudeurs et essayer de traduire ces connaissances sous forme d’un certain nombre de règles. Cela demande beaucoup d’efforts et présente l’inconvénient d’être peu adaptable à l’évolution des comportements frauduleux : quand ceux-ci changent, il faut aussi changer les règles.
Une autre possibilité est de charger des millions de données, reprenant par exemple l’historique de toutes les utilisations des cartes bancaires françaises, et faire tourner des algorithmes d’apprentissage qui vont extraire de ces données des paramètres pour apprendre en permanence la manière dont ces cartes bancaires frauduleuses ont été utilisées et ensuite détecter quand une carte est utilisée de manière suspecte. L’avantage est qu’il est possible de mener un apprentissage plus ou moins permanent, et ainsi de suivre l’évolution du comportement des fraudeurs. En revanche, quand une utilisation de carte est détectée comme frauduleuse, il est difficile de savoir pourquoi puisque la décision est prise par le système à partir de millions de valeurs.
Une troisième tendance est celle fondée sur les probabilités. Celles-ci sont en fait une extension du domaine de la logique pour gérer les problèmes qui incluent un certain nombre d’incertitudes. Mais elles ont la faculté de mélanger les connaissances humaines et les connaissances issues des données. La construction d’un modèle probabiliste ou bayésien commence par la prise en compte des connaissances humaines des experts, mais en laissant un certain nombre de paramètres ouverts et dont la valeur sera fixée grâce aux données. Ces modèles bayésiens ont eu énormément de succès. Beaucoup ont été construits pour modéliser des comportements humains/animaux ou le fonctionnement de certaines applications industrielles.
Quels exemples d’applications industrielles des modèles bayésiens peut-on citer ?
Ils ont été utilisés sur la détection des fraudes et sur la prévision du risque opérationnel, un domaine où la généralisation est très importante car peu de données sont disponibles sur certains risques. Sur l’utilisation frauduleuse des cartes bancaires par exemple, il est facile de travailler à partir des statistiques sur les transactions passées pour obtenir une prédiction pour l’année qui vient. En revanche, sur les risques opérationnels exceptionnels comme un incendie ou une inondation, les données sur les évènements sont par nature peu nombreuses et il est nécessaire de s’appuyer sur des estimations humaines pour évaluer l’occurrence de tels événements et imaginer la cascade de leurs conséquences possibles.
Qu’est-ce que la généralisation dans un système informatique ?
Un système informatique présente certaines caractéristiques fondamentales comme l’explicabilité ou la généralisation.
La généralisation est le fait d’être capable, à partir d’un apprentissage réalisé sur un ensemble de données, de le généraliser en se confrontant à de nouvelles données. Mais cette démarche est parfois complexe, car il existe un risque de « surapprentissage » : caricaturalement, le système apprend par cœur des réponses aux données présentées, et peut avoir du mal avec des nouveaux cas, même si les algorithmes de deep learning sont aujourd’hui de plus en plus performants en la matière. Dans ce cas de figure, les connaissances humaines sont importantes pour la généralisation car elles permettent de gérer ces situations où l’algorithme est confronté à des données qu’il n’a pas apprises et pour lesquelles il faut définir des règles de généralisation adéquates.
L’explicabilité recouvre à la fois le fait d’être capable d’expliquer à l’utilisateur la décision prise, mais aussi que le concepteur puisse comprendre pourquoi dans certains cas le système ne marche pas. Ce point est particulièrement complexe avec les réseaux de neurones qui peuvent être trompés en changeant très peu de choses (deceptive cases en anglais). Par exemple les algorithmes de deep learning sont particulièrement performants dans les reconnaissances d’image, mais il suffit parfois de changer quelques pixels, une modification invisible à l’œil nu, pour que l’algorithme soit induit en erreur et se trompe sur l’interprétation de l’image. Pourquoi ? Personne ne le sait vraiment.
La vague actuelle qui porte le deap learning et les réseaux de neurones suivra-t-elle le même cycle que les autres tendances ou peut-elle s’imposer de façon plus durable en s’appuyant sur le Big Data et une puissance de calcul qui n’existaient pas auparavant ?
La vague d’enthousiasme pour le deep learning risque de retomber en tout cas pour certains sujets, parce que l’explicabilité est une question de plus en plus prégnante, qui devient même légale avec l’entrée en vigueur du RGPD. Certaines décisions doivent pouvoir être expliquées et cela paraît légitime : si vous êtes soumis à la décision d’un algorithme, vous devez pouvoir demander comment cette décision a été prise. Dans le domaine du droit, notamment, si des décisions juridiques ou administratives sont prises par des algorithmes, le justiciable est en droit de demander pourquoi et cela va être très difficile à faire avec du deep learning, en tout cas tel qu’il est conçu actuellement. Des adaptations importantes seront nécessaires pour y parvenir.
Pensez-vous que l’idée d’une IA autonome peut devenir une réalité ou cela reste-t-il un mythe ?
Cela reste largement un mythe. La confusion vient de l’utilisation du mot « intelligence », car il n’existe pas un concept unique d’intelligence, mais de très nombreuses formes d’intelligence. Prenons un exemple qui est celui du jeu d’échecs. Quand il s’agit de « jouer aux échecs », l’ordinateur peut être considéré comme définitivement meilleur que les humains, comme l’a montré en 1997 la victoire du supercalculateur d’IBM, Big Blue, sur le champion du monde d’échecs, Garry Kasparov. Maintenant prenons une proposition légèrement différente qui est de « jouer avec les échecs » : il s’agit d’être capable de prendre les pièces avec la main et de les déplacer sur l’échiquier, ce qu’un enfant est capable de faire, quels que soient la taille du jeu, la forme des pièces, l’intensité de la lumière, l’environnement (il peut par exemple manipuler les pièces dans l’eau), etc. Aucun robot n’est actuellement capable de faire cela !
Dans le cas de cette intelligence sensori-motrice, c’est-à-dire qui perçoit et agit avec ses sens, les performances des machines sont donc très loin de celles d’un enfant. Quelle est la différence entre ces deux problèmes, « jouer aux échecs » et « jouer avec des échecs » ? La différence fondamentale vient de la capacité à bien cerner les connaissances nécessaires. Celle-ci existe quand il s’agit de « jouer aux échecs » : il faut un échiquier, 6 types de pièces et un nombre fixé pour chacun d’entre eux, connaître les règles de déplacement sur l’échiquier et quelques règles spécifiques du jeu, comme le roque. Vous disposez alors des connaissances nécessaires pour jouer et gagner. Le jeu en lui-même se résume à un problème de combinatoire : il faut envisager un très grand nombre de combinaisons possibles dans le futur pour déterminer lesquelles sont intéressantes ; l’ordinateur sait très bien faire cela. Pour « jouer avec les échecs », en revanche, les connaissances nécessaires sont impossibles à cerner : il faut, par exemple, comprendre, comme le fait intuitivement un enfant, comment se propage la lumière, comment reconstruire la forme de la pièce à partir de ce que vous voyez sur votre rétine, comment évaluer l’inertie du corps que vous déplacez, quelle force déployer pour que votre bras aille au bon endroit au bon moment, etc. C'est quasiment sans fin.
Il existe ainsi deux catégories de problèmes : les problèmes fermés, où les connaissances nécessaires sont parfaitement connues, et les problèmes ouverts, où il est difficile de fixer les limites de connaissances dont vous avez besoin. Par exemple, la détection des fraudes est un problème très ouvert, puisque vous avez en face de vous un humain qui cherche sciemment à vous tromper. Il est presque impossible de spécifier l’ensemble de ce qu’il est capable de faire pour tricher avec un DAB : l’imagination est au pouvoir en face de vous !
L’informatique des cinquante dernières années a traité de façon très performante les problèmes fermés. L’informatique qui est devant nous est celle des problèmes ouverts, dans laquelle l’IA n’est qu’une branche parmi d’autres. Mais il est certain que, même si l’informatique envahit petit à petit nos vies sous toutes sortes de formes, les machines ne seront pas demain plus intelligentes que l’humain dans tous les domaines.
Le recours à l’IA soulève-t-il des questions d’éthique ?
Oui, par exemple, dans la difficulté relative à l’explicabilité des décisions prises par certains algorithmes, quand nous ne pouvons pas les attaquer en justice par exemple. Cela pose une question éthique, mais qui existe déjà plus globalement dans le domaine informatique. Elle n’est pas spécifique à l’IA. Par exemple, les différents algorithmes du ministère de l’Éducation, pour gérer les choix des étudiants postbac, sont loin d’être de l’IA, mais ils prennent des décisions qui orientent la vie entière des étudiants, sans que personne ne sache vraiment sur quels critères se font ces choix.
En revanche, la question liée à l’éthique peut parfois être un peu spécieuse : un cas souvent évoqué pour les voitures autonomes est de déterminer leur décision face à un choix cornélien : éviter un enfant ou trois personnes adultes… Or, d’une part, le développement des voitures autonomes est loin d’être aussi abouti et, d’autre part, est-ce que les choix humains dans une telle situation vont être faits de manière éthique et rationnelle ? Ce sont des questions un peu hors sol !
Qu’en est-il des conséquences sociales ?
Les conséquences sociales sont également dans la continuité de ce qui se passe avec l’informatique et sans particularité liée à l’IA. Un certain nombre de métiers sont en effet mis en danger par le développement de ces nouvelles techniques, mais c’est une tendance de fonds depuis que l’homme cherche à mécaniser ses tâches pour alléger sa quantité de travail. La question est de savoir si nous arrivons à un seuil où cela pose un vrai problème, c’est-à-dire qu’il n’est plus possible de donner du travail à tout le monde. Cela questionne la répartition des richesses, aujourd’hui encore essentiellement organisée autour du travail : si certains ne travaillent plus, comment leur donne-t-on des richesses ? Un autre aspect à prendre en compte est de savoir si les gens désœuvrées auront une vie agréable.
Il faut également préciser que les métiers mis en danger par l’IA ne sont pas forcément ceux que l’on croit. En particulier les métiers manuels, souvent situés au bas de l’échelle sociale ou éducative, sont, à mon avis, relativement à l’abri, car ils posent typiquement des problèmes sensori-moteurs ouverts que les machines ne savent actuellement pas traiter.
Quels sont les métiers qui vous semblent en danger ?
Les plus concernés sont des métiers très formalisés, par exemple, la décision d’attribution de prêt en fonction d’un dossier. C’est un problème ancien qui avait été abordé, voire même traité, par des systèmes experts, mais qui reste d’actualité. Aujourd’hui encore, les conseillers financiers pour les demandes de crédits les plus simples ont une grille reprenant des facteurs qui pèsent de façon positive ou négative pour aboutir à une évaluation sur l’accord ou pas du prêt. Un algorithme, même sans être très performant, est capable de faire cela.
Quelle gouvernance donner à l’IA ?
Comme toute technique, toute science, elle peut avoir des bonnes et des mauvaises utilisations. Il faut que la société et le politique établissent des règles. Les législateurs doivent se pencher de très près sur les cas d’utilisation de l’IA et de l’informatique en général, pour décider de ce qui est légal et de ce qui ne l’est pas, et quelles sont les procédures en cas de conflit. Prenons un exemple simple comme l’achat de billets d’avion : lorsque vous consultez à partir d’une même adresse IP et à plusieurs reprises le prix d’un billet mais sans l’acheter, il n’est pas rare de constater que le prix augmente au fur à mesure des consultations car l’ordinateur détecte votre intérêt et ajuste le prix en fonction : est-ce une pratique commerciale acceptable ou pas ? Un commerçant fait souvent la même chose quand il voit quelqu’un revenir pour la deuxième fois voir le même objet…
L’explicabilité et la capacité à demander un arbitrage me semblent également des questions très importantes pour encadrer l’IA, mais difficiles à résoudre : que veut dire explicabilité ? dans quels cas pouvez-vous demander un arbitrage humain ?
D’autant que les politiques ont une assez grande ignorance de ce qui est techniquement possible.
Il faudrait sans doute avoir des organes spécialisés pour conseiller les politiques dans ce domaine, mais aussi les décisionnaires des entreprises, qui sont souvent dans le même cas.
Comme toute technique ou science émergente, il faut faire attention aux conséquences de l’IA, essayer de les comprendre, de les influencer et prendre des décisions sociales et législatives pour la réguler sans brider l’innovation. Et l’utilisateur doit, de son côté, garder une certaine distance et son esprit critique vis-à-vis de la machine.