On me pose la question suivante:
"Quand faut-il parler d'Intelligence Artificielle, quand faut-il parler d'algorithmes?"
Par exemple à propos du système IBM "Watson" qui a gagné le jeu de télévision Jeopardy.
Un début de réponse:
Un algorithme, c'est la description précise d'un enchaînement prédéfini
d'opérations pour résoudre un problème précis sur des données précises.
Par exemple trouver le plus court chemin dans un graphe, inverser
une matrice, résoudre un système d'équations aux dérivées partielles.
Un "vrai, bon" algorithme est "rapide": il doit trouver une solution
plus vite que la manière stupide qui consiste à examiner toutes les
solutions possibles et ne retenir que celles qui marchent. Par exemple,
pour trier un ensemble de N nombres, on ne va pas générer toutes les
combinaisons possibles pour ne retenir que celle qui est dans le bon
ordre.
IL N'EXISTE PAS BEAUCOUP D'ALGORITHMES !!! Pour la plupart des
problèmes de la vie réelle, il n'y en a pas. En général parce que l'on ne sait pas les ramener à une description précise, et que l'on ne sait pas les résoudre de manière prédéfinie.
On ne trouve pas souvent de nouveaux algorithmes importants. La
plupart des progrès sur les algorithmes consistent à améliorer leur
vitesse de manière "epsilonesque" (style "battre le record du monde"). Ce qui change aujourd'hui, c'est la quantité de données disponibles
et la puissance des machines. Par exemple, le "big data" utilise des
algorithmes vieux de dizaines d'années.
Si on appelle "intelligence artificielle" la capacité d'une machine à
reproduire la manière dont nos cerveaux résolvent des problèmes, on
peut dire que:
-- notre cerveau n'exécute pas d'algorithme, il est trop lent pour ça. (1 mètre par seconde dans les neurones ...)
-- il faut distinguer -en simplifiant- deux types de fonctionnements de notre intelligence:
D'une part, reconnaître un visage, une scène: tout est réalisé sans algorithme par la simple traversée du réseau de neurones et de leurs connexions depuis la rétine jusqu'aux zones corticales de la vision (parfois beaucoup moins de 100 millisecondes. Ici, aucun raisonnement, aucune connaissance consciente.
D'autre part, rédiger une proposition commerciale. Là, on va raisonner, utiliser des connaissances sur nos produits, la concurrence, le client. On va enchaîner des connaissances. C'est une activité intelligente qui peut durer des jours.
La "vieille IA" s'intéresse à ce dernier cas, ce qu'on appelait
les "systèmes experts": on faisait des systèmes experts d'aide à la
construction de devis, par exemple. On PASSAIT DES MOIS à discuter avec
de bons commerciaux ou technico-commerciaux pour qu'ils expliquent
leurs règles de raisonnement, que l'on représentait ensuite en machine,
là où un "moteur d'inférence" (un programme) essayait de les enchaîner
pour construire un bon devis.
La "nouvelle IA" s'intéresse plutôt au premier cas (la reconnaissance
d'image) en travaillant par "apprentissage automatique". Par exemple si
on veut faire un système qui décide si une personne sourit ou pas, on va
montrer à la machine des centaines de milliers de photos de visages
(voire des millions), avec pour chacun l'indication "sourit" ou "ne
sourit pas", on va en plus lui montrer ces photos en boucle PENDANT DES
MOIS -vraiment!- pendant lesquels la machine va essayer de trouver UNE
formule mathématique (en procédant un peu à tâtons avec l'aide de la
statistique) qui, au vu d'une image, répondra en quelques millisecondes
si c'est un sourire ou pas. On dit qu'on entraîne la machine, que la
machine apprend la formule.
On voit que:
-- ces deux IA n'ont strictement rien à voir entre elles (sauf LES MOIS PASSES en amont !!!)
-- dans les deux cas, les algorithmes sont très loin de la
résolution du problème précis, ce sont des "rouages internes" dans les
soutes.
Dans la nouvelle IA, l'algorithme est celui du processus d'affinage progressif de la formule à apprendre, pendant des mois (optimisation, analyse numérique)
Dans la vieille IA, l'algorithme est celui du moteur d'inférence qui essaie de trouver un fil de raisonnement, un chemin, entre un problème et une solution, via un ensemble de règles de connaissances élémentaires (un peu comme on construit une démonstration de théorème)
Mais aujourd'hui, le mot "algorithme" est subitement devenu à la
mode dans les media, style "l'algorithme de Google, de Amazon, de la
NSA, l'algorithme de Watson / Jeopardy". (Dans l'idée de big brother, formule magique qui nous dépasse
concoctée par les maîtres du monde, pour dramatiser aux yeux du bon peuple)
Pour revenir à la question du début, il y a peu d'algorithmes, on
n'en trouve pas souvent de "révolutionnaires", et, vis à vis de l'IA,
ils jouent des rôles "dans les soutes", l'essentiel de l'intelligence
venant des CONNAISSANCES que l'on apporté pendant des mois au système,
soit en collectant PENDANT DES MOIS des connaissances auprès d'humains,
soit en montrant de manière répétée PENDANT DES MOIS à la machine "ceci
est un sourire" "ceci n'est pas un sourire" (ce qui sont aussi des connaissances humaines)
Quand au système Watson, c'est tout sauf un algorithme, c'est un "système complexe" qui mélange de manière très sophistiquée LES
DEUX TYPES D'IA (l'ancienne et la nouvelle) , et qui a mis des centaines
d'hommes/années à être mis au point pour gagner le jeu (et qui n'a pas
encore prouvé sa capacité -sans d'autres centaines d'H/an- à résoudre
de vrais gros problèmes, comme le diagnostic médical).
.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire