Il faut arrêter. L’intelligence artificielle n’est pas de « l’intelligence ». Ce n’est pas non plus de la « conscience artificielle ».
Tout le monde redoute que l’intelligence artificielle s’éveille soudain, se fâche et prenne le contrôle du monde.
Ou que l’IA s’éveille et prenne tous nos emplois. Cela arrivera. Mais sans la partie « éveil ».
Je vais vous expliquer ce qu’est réellement l’intelligence artificielle.
Ainsi, lorsqu’au cours d’une soirée, quelqu’un déclarera « Mais que se passera-t-il si les robots deviennent intelligents ? », vous pourrez répliquer par du factuel – mélangé à un peu d’alcool.
A) LES STATISTIQUES
Les statistiques sont au cœur de la plupart des programmes d’intelligence artificielle.
Tout comme elles sont au cœur de beaucoup de prises de décisions humaines.
Par exemple, si vous voyez des nuages dans le ciel, votre cerveau va penser : « Hmmm, les cent dernières fois que j’ai vu des nuages aussi sombres, c’était annonciateur de pluie. »
Lorsque vous pensez de cette façon, vous utilisez des statistiques pour prendre cette décision : « Je devrais probablement rentrer à présent. »
Un exemple d’intelligence artificielle ? Siri ou Alexa. Comment Alexa comprend-il les mots que vous prononcez ?
En 1989, je visitais l’université Carnegie Mellon pour décider si j’allais y faire mes études.
L’un des étudiants de troisième cycle, Kai-Fu-Lee (aujourd’hui l’un des investisseurs les plus célèbres au monde ; je vous conseille sa dernière conférence TED, excellente, sur l’intelligence artificielle) me montra sur quoi il travaillait.
Il s’agissait de reconnaissance vocale pour la soixantaine d’ordres pouvant être donnés au cours d’une bataille navale (je vous laisse deviner qui finançait ce projet).
Lorsque vous dites le mot « Feu ! », une onde sonore est générée. Lorsque vous prononcez le mot « Bonjour », une onde sonore différente est créée.
Si cent personnes disent « Feu » et cent autres disent « Bonjour », toutes ces ondes sonores sont stockées dans une base de données.
À présent, si une toute nouvelle personne dit « Bonjour », le programme informatique doit déterminer si cette personne prononce « Bonjour » ou « Feu ».
Il peut y avoir une dizaine d’attributs différents dans chaque onde sonore. Le programme décompose l’onde sonore de cette nouvelle personne en ces dix attributs différents.
Puis il compare ce « vecteur » de dix attributs avec tous les vecteurs dans sa base de données pour « Bonjour » et « Feu ! ».
Il utilise une statistique technique appelée « Modèle de Markov caché » pour déterminer si l’onde sonore ressemble plus aux « Bonjour » dans la base de données ou plus aux « Feu ! ».
Puis il se dit : « Ce gars a dit ʺBonjourʺ. »
Ensuite, il a une ligne de code qui dit : « Si quelqu’un dit ʺBonjourʺ, alors réponds ʺBonjourʺ. »
En outre, il ajoute votre « Bonjour » à sa base de données.
Votre « Bonjour » pouvant être légèrement différent des cent autres « Bonjour », il vient donc d’apprendre une nouvelle façon de dire « Bonjour ». Ce qui lui donne une plus grande capacité dans le futur à reconnaître le mot « Bonjour ».
Autrement dit, il a « appris ».
Il a donc utilisé des statistiques pour vous entendre, du code pour vous répondre, et la technologie des bases de données pour apprendre. Il n’y pas ici d’intelligence réelle mais on a l’impression que c’est de l’intelligence.
Si on multiplie cela par 30 ans, par des millions de schémas et par des ordinateurs un million de fois plus rapides, on obtient Alexa et Siri dans nos cuisines aujourd’hui.
Demandez à « Siri » quel est son sexe.
B) LA FONCTION D’ÉVALUATION
Je viens de mentionner la reconnaissance du langage. Mais alors comment fonctionne une voiture qui se conduit toute seule ?
Chaque seconde, elle doit prendre une décision. Doit-elle avancer ? Freiner ? Faire une embardée pour éviter un accident ? Doit-elle tourner à gauche ?
Comment se rend-elle du point A au point B ?
- Google Maps. Avec un GPS, elle sait où elle se trouve. Et elle se situe elle-même sur Google Maps.
- Elle liste tous les chemins possibles. C’est là un problème « difficile » au sens mathématique. (Elle n’a aucun moyen de deviner quel est le chemin le plus rapide. Elle doit lister tous les chemins pour ensuite les trier du plus court au plus long.)
Mais aujourd’hui les ordinateurs sont si rapides que ce qui serait normalement une décision lente (conduis-moi de ce coin du Pays Basque à telle adresse à Paris) ne prend plus que quelques secondes.
- Waze. Elle utilise Waze pour éliminer les routes où le trafic est dense.
- Elle démarre.
- Les statistiques : chaque microseconde elle utilise des statistiques pour voir si elle a devant elle un espace libre, un objet devant être évité ou un panneau de signalisation qui doit être suivi.
- Elle décide quoi faire selon le code. Pour chaque panneau de signalisation, elle a un code qui lui dit ce qu’il faut faire. (Si un panneau dit « Stop », elle s’arrête pendant une seconde et utilise les statistiques pour voir si du trafic a lieu autour d’elle. Les radars et les caméras fournissent les images.)
S’il y a une personne qui se tient devant elle, elle s’arrête.
S’il y a un trafic auquel elle ne s’attendait pas, cela déclenche un nouveau programme de calcul de l’itinéraire.
Si l’espace devant elle est libre, elle continuera à avancer.
Si un enfant traverse la route, elle doit s’écarter brusquement pour l’éviter. Mais si cette embardée la fera rentrer dans un camion, tuant le passager dans la voiture, alors « l’IA » de la voiture est tributaire des décisions éthiques du programmateur de la voiture.
En d’autres termes, dans chaque situation elle détermine ses options, puis utilise une « fonction d’évaluation » programmée par un codeur pour déterminer quelle option donnera le résultat le plus satisfaisant (poursuivre le trajet, ne tuer personne).
Un jour ou l’autre, la fonction d’évaluation NE SERA PAS programmée par un codeur humain.
En effet, grâce aux milliers d’expériences d’autres voitures autonomes, les expériences comme les résultats seront tous consolidés dans une base de données centrale.
Lorsqu’une nouvelle expérience sera faite, le code recherchera cette expérience dans la base de données et celle-ci donnera en retour le meilleur résultat possible.
Le code apprendra de manière statistique quels sont les meilleurs résultats dans chaque décision possible, modifiera le code en fonction et enverra des mises à jour à toutes les voitures autonomes.
C) LES ARBRES
Le jeu le plus difficile au monde est un jeu de société appelé Go. Aux échecs, si un ordinateur peut évaluer un milliard de possibilités par seconde, il est un joueur de niveau mondial.
Mais le jeu de Go implique des milliers de milliards de possibilités.
Comment Google a-t-il réussi à concevoir un programme, Deep Go, pour battre le meilleur joueur au monde de Go ? On pensait que c’était impossible.
Pourtant Google l’a fait.
Quel que soit le jeu, un programme informatique construit d’abord un arbre de possibilités. Comme le ferait un être humain.
Un être humain pense : « Si je fais ce mouvement au jeu de dames, mon adversaire pourrait réagir par A, B ou C et alors je pourrais faire D, E ou F puis mon adversaire pourra faire G, H, I si je fais D, ou il peut faire J, K, L si je fais E et je ne ferai jamais F. »
Un ordinateur ne choisit pas aussi bien qu’un être humain, il construit donc l’arbre COMPLET, c’est-à-dire TOUS les mouvements possibles qu’il peut faire, quelles sont TOUTES les réponses possibles de son adversaire, etc.
Puis il utilise une fonction d’évaluation programmée pour étudier les feuilles de l’arbre qu’il a construit.
De tous les mouvements, celui qui aboutit à la meilleure feuille de l’arbre (déterminée par la fonction d’évaluation) devient alors le mouvement qu’il effectue.
C’est ainsi que le jeu d’échecs électronique a fonctionné pendant des décennies. Plus loin, je vais vous révéler la recette secrète de la manière dont les ordinateurs ont conquis les échecs.
Puis je décrirai comment les ordinateurs ont miraculeusement conquis le jeu de Go.
Il ne s’agit que d’un miracle jusqu’à ce que la science puisse l’expliquer. Ce n’est que de « l’intelligence » jusqu’à ce que cela puisse être codé par un programmeur.
D) LE HARDWARE
Pendant des décennies, tout le monde a cru (y compris de nombreux Prix Nobel) que les meilleurs programmes de jeux d’échecs sur ordinateur seraient développés lorsque les informaticiens encoderaient les connaissances des meilleurs joueurs d’échecs au monde en une fonction d’évaluation.
Comment le champion du monde évalue-t-il une position par rapport à un joueur moyen ?
Cela s’est avéré erroné.
PLUS il y a de code dans la fonction d’évaluation (c’est-à-dire plus la fonction d’évaluation est « intelligente » d’un point de vue humain), plus le programme est LENT.
Ce qui signifiait qu’un arbre plus petit serait construit, ce qui signifiait que moins de possibilités seraient analysées.
Deux éléments ont réellement permis aux programmeurs chez IBM de construire « Deep Blue » (qui a battu Garry Kasparov en 1997). Ces deux éléments étaient tous deux liés au hardware:
- Les ordinateurs ont été plus rapides.
- D’abord, les créateurs de Deep Blue ont développé un logiciel. Mais ensuite ils ont porté le logiciel au niveau du hardware, construisant la logique à l’intérieur même de l’infrastructure du hardware de l’ordinateur. Ce qui a rendu le programme 100 fois plus rapide.
Enfin, ils ont rendu la fonction d’évaluation STUPIDE afin d’utiliser moins de code et le hardware pouvait donc évaluer plus de positions.
Puis, avant même que quiconque ne puisse mettre la main sur leur « intelligence artificielle », ils retirèrent le superordinateur de la compétition, juste après sa victoire sur le champion du monde d’échecs.
À mesure que le hardware devient de plus en plus rapide, l’intelligence artificielle devient « plus intelligente ».
ENTRACTE
Ce que je viens de décrire est la base.
Le reste de l’intelligence artificielle consiste simplement à combiner ces principes fondamentaux pour fabriquer des techniques plus avancées.