Qu’est-ce-que l’intelligence artificielle (IA) et comment comprendre son émergence ?
Nous vivons une période particulièrement active pour l’intelligence artificielle.
Ce domaine fascine l’homme depuis longtemps, les romans de science-fiction ont imaginé des futurs dans lesquels de nombreuses tâches, traditionnellement réalisées par l’homme, sont transférées aux machines, dotées d’intelligence. L’intelligence des machines, puis des logiciels, fascine. Mais elle inquiète également. De grands pays se dotent de systèmes de contrôles des personnes s’appuyant sur la reconnaissance des visages, la même technologie qui nous permet de retrouver les visages de nos amis dans les photos publiées sur Facebook. Plus que jamais la responsabilité des spécialistes qui travaillent dans le domaine est mise en cause. On accuse les systèmes de recommandation d’enfermer les internautes dans des bulles de filtrage (le concept de “Filter Bubble” est introduit par Eli Pariser dans sa conférence TedX), lesquelles leur présentent un monde “sur mesure” mais sans diversité, où ils sont seuls. Certaines applications reproduisent aussi de manière mécanique les biais de ceux qui ont pu les concevoir (Amazon a malencontreusement créé un système d’IA pour les RH reproduisant le sexisme à l’embauche). A l’instar de la mécanisation, l’intelligence artificielle serait également destructrice d’emplois. Elon Musk, Stephen Hawking, Bill Gates et d’autres personnalités ont tiré des sonnettes alarmistes sur les conséquence pour nos sociétés, d’une intelligence artificielle non maîtrisée.
Pourtant, ces technologies sont aussi capables du meilleur. En sismologie, elles peuvent prévoir certains séismes en « écoutant » le mouvement des plaques . En médecine elles aident à diagnostiquer puis à soigner des maladies graves.
Plus proche de nous, elles entrent progressivement dans notre quotidien, et nous mesurons chaque jour les nouvelles capacités qu’elles nous procurent. On parle d’homme augmenté. Nos smartphones sont dotés d’assistants qui nous aident à réaliser des tâches fastidieuses. Les voitures deviennent autonomes et réduisent l’accidentologie. Nous pouvons également citer les logiciels de traduction, grands consommateurs d’intelligence artificielle, ou encore les logiciels anti-spam, et d’une manière plus générale les logiciels de détection de fraudes et des anomalies.
Nous allons présenter les grands principes de l’intelligence artificielle dans une approche accessible à tous.
Concept d’intelligence
Une définition précise de l’intelligence artificielle est élusive, car il faudrait déjà être en mesure de définir l’intelligence humaine. Le plus souvent, on décrit l’intelligence artificielle comme étant la capacité d’un système à apprendre. A la différence d’un système informatique classique dont le comportement est totalement déterminé par le développeur, un logiciel d’intelligence artificielle a la capacité à se programmer lui-même pour que ses résultats correspondent à une série d’exemples qui lui sont fournis. Marvin Lee Minsky, un des fondateurs de l’intelligence artificielle la décrivait ainsi : « L’intelligence artificielle est la science de faire faire à des machines des choses qui demanderaient de l’intelligence si elles étaient faites par des humains ».
De la même manière qu’un enfant apprendra à reconnaître un cheval à partir d’une série de photos qui lui seront montrées -son cerveau se calibrera automatiquement pour reconnaître la prochaine fois un cheval – , un système intelligent sera capable, sur la base de données d’apprentissage de se calibrer lui-même pour pouvoir ensuite « s’exécuter » et donner les résultats attendus pour de nouvelles données.
La particularité de l’intelligence artificielle est de pouvoir produire une fonction de généralisation à partir d’exemples appris. Un enfant qui ne serait capable que de reconnaître précisément les exemples appris, uniquement ceux-ci, aurait « appris par cœur ». Pourtant ce n’est pas ce qu’il se passe. Son cerveau va réaliser une abstraction consistant à extraire les caractéristiques communes et spécifiques aux chevaux, qui diffèrent des autres animaux qu’il a précédemment appris. Ainsi, s’il n’a pas appris ce qu’était un zèbre, il risque de confondre les deux animaux. Puis, lorsqu’il aura des exemples de zèbres à sa disposition, il sera en mesure de différencier les deux espèces, selon la présence de rayures sur la peau, par exemple. Son cerveau aura attribué un « poids » particulier à la présence de rayures pour différencier un zèbre d’un cheval. Un tigre possède également des rayures ? Alors le cerveau de l’enfant va prendre en compte la présence de rayures, mais également la couleur des rayures, avec encore une fois un système de pondération pour chaque caractéristique. Et c’est ainsi que le cerveau d’un enfant apprend le monde qui l’entoure. De la même manière qu’un système intelligent, dépendamment de la complexité du modèle qu’il applique et du nombre de données d’apprentissage, progressera petit à petit dans sa capacité à prédire la classe d’objets ou d’évènements qui surviennent. On peut noter d’ailleurs que si les phases d’apprentissage peuvent être longues, les phases de classification (ou “d’exécution”) sont, quant-à-elles beaucoup plus rapides.
Prédire, raisonner et décider sont trois notions liées. C’est par sa capacité à prédire mentalement l’effet d’une action (ou plus généralement le futur), sans avoir à la réaliser réellement, que le cerveau va être en mesure de « raisonner » pour décider des meilleures décisions à prendre. Ce fonctionnement probabiliste du cerveau consiste à calculer les probabilités de différentes actions successives, en combinant les probabilités entre elles. De la même manière, en étant capable de prévoir, un système intelligent pourra décider de la meilleure solution à suivre.
Une histoire ancienne
Les prémices de l’intelligence artificielle datent des années 1950. Il y a alors deux approches différentes qui s’opposent. La première, nommée logique symbolique consiste à développer des “systèmes experts” capables de déduire mathématiquement de nouvelles règles à partir d’une base de règles apprises nommées “contraintes” (c’est la base d’apprentissage). L’idée est ici de résoudre par une approche logique les interactions entre les données et le résultat de sortie. C’est une approche formelle, rigoureuse, dans laquelle les prédictions réalisées peuvent être démontrées mathématiquement.
La conférence de Dartmouth en 1956 représente un moment historique dans le développement de l’IA. Les pères fondateurs de l’IA étaient présents : John Mc Carthy, Marvin Minsky, Claude Shannon, Ray Solomonoff, Alan Newell, Herbert Simon, Arthur Samuel, Olivier Selfridge, Nathaniel Rochester, et Trenchard More
Cette logique a connu son heure de gloire dans les années 80, et elle a massivement intégré les secteurs de l’industrie et de la médecine pour optimiser des plannings, calculer des plans de découpe (typiquement faire rentrer un maximum de pièces de tailles différentes dans un élément, en limitant les chutes), réaliser des diagnostics médicaux à partir d’une liste de règles de type “liste de symptômes” -> ”maladie”, ou réaliser des agents conversationnels (voir notamment le projet Eliza écrit en 1966, que vous pouvez tester en ligne). Pourtant, cette approche a de nombreuses limitations, car elle nécessite un important travail de paramétrage que seuls des experts peuvent réaliser : il faut écrire littéralement les règles de départ, et dans le monde complexe qui nous entoure, c’est souvent impossible.
Ces dernières années, l’engouement s’est déplacé vers une autre approche, nommée “logique connexionniste”, pourtant aussi ancienne que sa concurrente, puisque le concept du “perceptron” date également des années 1950. Ce concept prometteur prend modèle sur le fonctionnement des neurones du cerveau humain. Il s’agit d’une première modélisation mathématique simplifiée d’un neurone humain. Il paraissait alors évident que les années suivantes verraient l’émergence d’intelligences artificielles à tous les niveaux de la société. Pourtant, cette approche – qui aujourd’hui représente l’essentiel des travaux en IA -, avait à l’époque rapidement déçu, car les capacités de calculs qu’elle requérait n’étaient alors, pas disponibles.
L’histoire de l’intelligence artificielle est ainsi une succession de périodes euphoriques suivies de périodes de désillusions. A cause des faibles puissances de calcul ou des données manquantes, les capacités des systèmes sont limitées et les industriels se désintéressent de l’IA. Puis régulièrement l’intérêt autour de l’intelligence artificielle repart à la hausse, du fait d’une nouvelle avancée technologique, de nouvelles données ou une puissance de calcul supplémentaire.
Nous sommes actuellement en pleine période d’euphorie, depuis les résultats spectaculaires obtenus par l’équipe de Geoffrey Hinton lors du concours ImageNet de 2012 où les algorithmes basés sur le tout nouveau “deep learning” surpassent leurs concurrents dans la reconnaissance d’objets dans des images. Le réseau contient 60 millions de paramètres, 650 000 neurones et 5 couches de convolutions ! Il permet de reconnaître avec un taux d’erreur de 17%, 1000 types d’objets différents dans une base de donnée de 1,2 millions d’images.
Le deep learning présente une approche convolutionnelle qui s’inspire du fonctionnement du cerveau humain dans la vision. La reconnaissance s’effectue en partant d’abord d’une vision générale (reconnaissance des formes principales), pour ensuite descendre plus « profondément » dans l’analyse des détails (recherche de détails discriminants). On parle alors de “réseaux de neurones convolutionnels”. Ce type de réseaux de neurones multicouches a été mis au point par le français Yann Le Cun en 2010 .
Il y a de nombreux modèles utilisables en intelligence artificielle en fonction de la nature des données qui sont traités. Des données séquentielles par exemple, peuvent être traitées par des réseaux de neurones récurrents, lesquels offrent la particularité d’avoir une sorte de mémoire interne permettant ainsi d’interpréter les données qui surviennent “dans leur contexte”, à savoir les données précédentes ou suivantes. Un exemple classique est le traitement d’une phrase, pour lequel il est nécessaire d’avoir l’ordre des mots qui la constitue pour en comprendre le sens. “Le cheval est plus grand que le zèbre” contient les mêmes mots que : “Le zèbre est plus grand que le cheval”, et pourtant les sens sont opposés.
La puissance de l’apprentissage
Les méthodes d’intelligence artificielle ne sont pas toujours basées sur des réseaux de neurones. Il existe d’autres méthodes telles que les régressions logistiques, les Forêts Aléatoires, ou les décompositions de matrice. Dans le dernier cas l’idée est de décomposer les données d’entrées sous la forme d’une matrice de dimension réduite, utilisée ensuite comme modèle pour réaliser les prédictions. Ce sont toutes des méthodes qui entrent dans la catégorie « Machine Learning« , puisqu’elles se calibrent sur la base de données d’apprentissage.
Le choix du modèle est crucial dans la performance du système mis en place. Un système trop simpliste, fonctionnera mal sur des problématiques complexes, mais à l’inverse, – et c’est un des pièges principaux de l’intelligence artificielle -, un modèle trop complexe sur une problématique simple, aura un effet encore pire ! On parle dans ce cas de surinterprétation ou d’apprentissage par cœur. Au lieu d’aller chercher les éléments visuels simples qui différencient un zèbre d’un cheval (les rayures !), c’est comme si le système allait rechercher dans le type de sabots, dans la couleur de la crinière, dans la forme des yeux.. ce qui différencie les deux espèces. Il y aurait alors un risque important de “sur-interpréter” ces données secondaires sur la base des quelques photographies, et d’être ensuite dans l’incapacité de généraliser le modèle.
Pour réaliser l’apprentissage des modèles, on commence par calibrer aléatoirement le système (on attribue une valeur aléatoire à chaque poids du système), puis pour l’ensemble des données en entrée, on calcule un premier taux d’erreur de prédiction. Le système va modifier progressivement chaque poids pour diminuer ce taux d’erreur : c’est la phase d’apprentissage. Pour connaître quels poids modifier et quelle valeur leur attribuer, le système réalise une série de calculs de dérivées partielles au niveau de chacun de ces éléments, appelée rétropropagation du gradient . Il s’agit d’une procédure itérative qui s’arrête lorsqu’un niveau d’erreur acceptable est atteint ou lorsqu’un nombre de boucle maximal est dépassé. Des problématiques de “minimum local” de la fonction d’erreur peuvent survenir, comme illustré par la figure ci-dessous.
C’est en réalisant des erreurs successives pour des calibrations différentes, que le système apprend petit à petit à moins en faire. Encore une fois, ce sont des comportements que nous retrouvons chez les enfants, dans l’apprentissage de la marche par exemple. En essayant de nouvelles positions, en trébuchant, puis en essayant encore, l’enfant comprend l’incidence de son centre de gravité, de ses appuis, et du relief, sur les mouvements qu’il doit effectuer.
Disposer d’un grand nombre de données d’apprentissage est aujourd’hui un élément indispensable pour la réussite d’un système intelligent. Il est assez amusant d’ailleurs de comparer les millions de photos de chats qu’a dû apprendre un système intelligent pour pouvoir ensuite reconnaître sans trop se tromper un chat, aux 4 photos de chat nécessaires en moyenne à un enfant pour qu’il ne se trompe plus. On mesure ici le long chemin qu’il reste à parcourir pour l’intelligence artificielle afin d’atteindre la capacité d’apprentissage du cerveau humain. Et ne parlons pas de la consommation d’énergie du cerveau humain, qui n’est que de 12,6 watts !
Vladimir Vapnik, le fondateur des Support Vector Machine (SVM) compare la méthode de Deep Learning à du « bruteforce », technique utilisée dans le domaine du hacking pour « casser » un système d’authentification en lui envoyant les millions de combinaisons aléatoires possibles, jusqu’à ce que le mot de passe soit généré. Dirait-on qu’un tel système est intelligent ?
Limites de l’IA
Une question revient souvent : quels sont les problèmes qui peuvent être résolus par l’intelligence artificielle ? En effet, on peut s’interroger sur les limites de ces technologies. En général nous pouvons appliquer la règle suivante : si un problème peut être résolu par un expert à partir d’un certain nombre de données, un système intelligent sera en mesure de réaliser la même expertise pour peu qu’il dispose des mêmes types de données, mais en quantité supérieure. Nous sommes entrés dans l’ère du “Big Data” et le volume de données d’apprentissage n’est plus réellement un problème. Quand on sait que Alpha Go, le logiciel de DeepMind qui a battu le champion du monde au jeu de Go, est capable dans sa nouvelle version, d’apprendre des dizaines de milliers de parties jouées par des joueurs professionnels, puis de s’entraîner contre 4,9 millions d’instances de lui-même en 5 jours, on réalise à quel point les capacités d’apprentissages des systèmes intelligents sont importantes.
Ils sont moins optimisés qu’un être humain, puisqu’ils ont besoin de plus de cycles d’apprentissage, mais avec la profusion de données disponibles et les capacités de calculs actuelles (ainsi que la parallélisation des traitements), leurs ressources sont bien plus importantes. Pourtant le jeu de Go présente une complexité bien supérieure au jeu d’échec, aussi la victoire de Alpha Go sur le champion du monde a-t-elle fait l’effet d’un electrochoc comme le montre la couverture médiatique de l’époque . La technique utilisée est nommée “adversial IA” et consiste pour une IA à se calibrer grâce à une autre IA (laquelle génère des données d’entrée fictives). La méthode la plus répandue est l’architecture GAN (Generative Adversial Network)
Des méthodes d’IA nombreuses
Avant de rentrer plus en détail dans chaque méthode, attardons-nous sur une notion essentielle en apprentissage : la supervision humaine. Il existe deux types de méthodes : les méthodes supervisées et les méthodes non supervisées. Globalement, il s’agit pour la première, d’avoir au départ, une base de donnée d’apprentissage “étiquetée”. On indique au système, pour chaque échantillon appris, la classe à laquelle il appartient. Lorsque nous montrons des photos de zèbres à un enfant, nous lui indiquons qu’il s’agit de “zèbres”. Cela peut paraître évident, mais en réalité, beaucoup d’apprentissages chez les enfants se font sans aucune intervention des adultes. Un enfant est capable de constituer des phrases complexes sans n’avoir jamais étudié la grammaire ! Sa seule base d’apprentissage a été d’écouter et d’analyser les phrases prononcées autour de lui.
Il y a dans les systèmes intelligents, des systèmes “non supervisés” qui sont capables de constituer un classement à partir de données non étiquetées. Sans avoir eu explicitement l’information qu’un zèbre et un animal différent d’un cheval, il leur est possible de distinguer seuls les deux espèces d’animaux. Ces systèmes sont très utilisés dans la détection de fraudes ou d’anomalies. Il existe également une troisième catégorie, dite “semi-supervisée” dans laquelle l’intervention humaine est réduite. Nous pourrions comparer ce type d’apprentissage avec ce qui se passera pour l’enfant ayant appréhendé seul la logique de construction des phrases (apprentissage “non-supervisé”) lorsqu’il se retrouvera ensuite en cours de français à l’école et que son enseignant le corrigera sur des erreurs de grammaire (apprentissage “supervisé”).
Par leur capacité à s’auto-programmer, les systèmes intelligents ouvrent de nouvelles possibilités dans le développement d’applications complexes qui jusque là étaient coûteuses, voire impossibles à réaliser par des humains. Comme l’avait prédit Alan Turing en 1950 , si l’on cherchait à coder les meilleurs modèles de prédiction s’inspirant du cerveau humain, il faudrait des milliards de lignes de codes et par conséquent, la collaboration de milliers de développeurs pendant des décennies. Il en conclut que, sans capacité du système à se programmer lui-même, approcher les fonctions cognitives de l’homme est impossible. L’IA apparaît comme la seule solution réaliste à la résolution de problèmes complexes.
L’époque actuelle voit la crédibilité de l’intelligence artificielle renforcée, d’une part grâce aux données disponibles en grande quantité, mais aussi parce que les systèmes algorithmiques classiques atteignent leurs limites.
Retrouvez les applications de l’IA compilées dans les livres publiés par OpenStudio :
IA & Protection de l’Environnement
IA : La Grande Mutation du E-commerce
IA : La Révolution de l’Industrie 4.0