samedi 10 février 2018

Intelligence artificielle: "I'm sorry Dave, I can't do that"

"I'm soory Dave, I'm affraid I can't do that" voilà comment HAL, l'IA inventé par Stanley Kubrick dans son film 2001, L'Odysée de l'espace, répond à Dave qui lui commande d'ouvrir le sas lui permettant de rejoindre le vaisseau principal. En refusant cette injonction, la machine signe l'arrêt de mort du spationaute.... et elle le sait. Nous étions en 1968, SIRI n'existait pas, pas plus que les assistants vocaux et pourtant "l'intelligence artificielle" était déjà là mais on appelait ça un ordinateur.

Après le "cloud", le "bring your own device", la "blockchain", voici que ressurgit l'intelligence artificielle (IA) un nouveau "buzz word" qui emmène avec lui son lot de vendeurs de rêves, d'experts et de pipoteurs. Le mythe de l'intelligence artificielle, ce robot pensant qui résoudra nos problèmes de prise de décision, de traitement des données (massives, bien évidement), et qui facilitera nos vies avec des assistants aux voies suaves n'est pas une nouveauté mais il s'incarne objectivement aujourd'hui.



Car enfin, depuis que la machine bat l'humain au jeu de GO, le monde a changé (ou pas). De quoi parle-t-on exactement ? Y-a-t-il une différence fondamentale entre le traitement algorithmique statistique et les avancées de l'IA ? Tentons d'y voir un peu plus clair.


L'intelligence artificielle (IA) c'est d'abord « l'ensemble de théories et de techniques mises en œuvre en vue de réaliser des machines capables de simuler l'intelligence » [Larousse]. Hum... "simuler l'intelligence" nous ramène à définir "l'intelligence" humaine, est là on est plutôt mal en matière de corpus théorique. S'agissant de reproduire voire de dépasser les capacités humaines, deux écoles vont émerger. 
La première approche dite "logiciste" ou "symbolique" repose sur le concept de machine de Turing et la notion de calculabilité. 
C'est un prototype de la machine imaginée par Alan Turing pour modéliser le concept d'algorithme et donner une réponse négative au problème de la décision en logique du premier ordre posé quelques années auparavant par Hilbert et Ackermann.
Pour simplifier, est-il possible de trouver une méthode "effectivement calculable" pour décider si une proposition est démontrable ou non ? [http://www.machinedeturing.org/turingmachine.php?page=]
 La seconde approche est dite neuronale et cherche à "imiter" les processus biologiques cérébraux. Jusqu'à la fin des années 80 ce sont les "symbolistes" qui dominent la recherche [école de Gottlob Frege] puis l'approche neuronale réapparait à la faveur des avancées de la biologie notamment.

Ainsi donc, l'IA recouvre différentes approches et surtout différentes techniques qui visent à augmenter ou compléter les capacités humaines. L'IA regroupe donc un ensemble de matériels, de logiciels et des données dont elle se nourrit. Aujourd'hui on peut schématiquement identifier quatre briques logicielles sur lesquelles repose l'IA: les moteurs de règles, le machine learning, le deep learning et les réseaux d'agents (qui servent à orchestrer l'ensemble). 

Mais à quoi ça sert ?

Les moteurs de règles ou BRMS (Business Rules Management Systems) sont des logiciels qui exécutent des règles métiers dans un environnement de production. C'est la solution idéale pour des programmes dont la logique nécessite le traitement de nombreux "if". Le moteur traite donc des "règles" et des "faits". Ces éléments sont injectés dans un "moteur d’inférence" qui cherche les règles applicables aux faits (en gros).
En informatique, un moteur de règles est un système logiciel qui exécute une ou plusieurs règles métiers dans un environnement de production. Ces règles peuvent venir de la législation, de politiques applicables ou d'autres sources.
Un moteur de règle est généralement fourni comme composant d'un système de gestion de règles qui, parmi d'autres fonctionnalités, permet d'enregistrer, définir, classifier et gérer toutes les règles, vérifier la cohérence de leur définition, définir les relations entre différentes règles, et relier certaines d'entre elles à d'autres applications, qui sont affectées par ces règles ou nécessitées par celles-ci. [Wikipedia]

source: https://blog.xebia.fr/2010/01/08/drools-et-les-moteurs-de-regles/

Les BRMS, sont très utilisés dans les applications industrielles et tous les systèmes de "management de la décision". C'est la première brique de l'IA.

Le machine learning ou apprentissage automatique repose, pour sa part, sur de grands jeux de données structurées et permet la classification automatique et la prédiction. Ces prédictions sont liées à un "contexte" qu'il va falloir que la machine détermine. Pour constituer ce modèle, il faut classer les données, les associer à une classe précise, l'algorithme d'apprentissage automatique utilise alors soit l'apprentissage supervisé soit non-supervisé.

Dans le premier, l’apprentissage s’effectue de manière subjective c’est-à-dire qu’une personne décrit au préalable quels critères existent dans son jeu de données à analyser et classer. Dans cet apprentissage ci, l’algorithme ne possède pas d’étiquette : il est autodidacte. Il va procéder par regroupement en cherchant les données similaires. Il est très intéressant d’utiliser cette technique lorsque vous ne savez pas ce que vous cherchez. Typiquement quand vous voulez faire éclore quelque chose qui ne vous viendrait pas à l’esprit. Ce type d’apprentissage est aussi appelé « clustering », qui signifie « groupement ». 
[https://blogs.msdn.microsoft.com/big_data_france/2013/04/24/apprentissage-automatique-machine-learning/]
Enfin on peut également parler d'apprentissage par renforcement où c'est l'environnement qui va "récompenser" l'algorithme lors d'une décision correcte par exemple.

Le deep learning, "apprentissage profond" s'appuie sur des réseaux de neurones multicouches et permet des opérations complexes comme la reconnaissance d'images ou le traitement d'objets complexes. On l'utilise pour l'imagerie médicale, la génération de contenus pour les chats bots etc...  L'apprentissage profond prolonge donc d'une certaine manière les algorithmes d'apprentissage automatique mais c'est "la machinerie" qui change.
Un réseau de neuronal est l'association, en un graphe, d'objets élémentaires (les neurones formels). Les réseaux se distinguent par l'organisation du graphe (en couche, complets), le type de neurones et l'objectif visé.






Les avancées récentes (on sait aujourd'hui réaliser des réseaux neuronaux complexes) contribuent aux développement rapide de l'intelligence artificielle et à son retour sur le devant de la scène. 
A la fin des années 80, « il y a eu une vague d'intérêt pour le deep learning », se souvient Yann LeCun, qui avait présenté sa thèse sur le sujet en 1987. Un système de lecture de chèques qu'il avait développé lisait, dans les années 90, « entre 10 % et 20 % des chèques émis aux Etats-Unis ». Mais, devant le manque de résultats de ces technologies prometteuses, lié à la faible puissance des machines et le nombre limité de données, la communauté scientifique a fini par s'en détourner. [https://www.lemonde.fr/pixels/article/2015/07/24/comment-le-deep-learning-revolutionne-l-intelligence-artificielle_4695929_4408996.html]

Parler de l'IA se révèle donc plus complexe que la simple invocation mystique d'une solution à l'ensemble de nos problèmes. L'IA a déjà subit des avancées et des périodes de désintérêt, il nous faut garder à l'esprit le sens de la démarche, sa finalité et ne jamais oublier la complexité sous-jacente. Car pour l'heure, la puissance de calcul du cerveau humain devance la machine d'un facteur un million et quand bien même la vitesse de calcul des ordinateurs dépasserait la nôtre, l'intelligence ne se résume pas (encore) à ça...
Bref, l'interface chaise-machine à encore de beaux jours devant elle.




Aucun commentaire:

Enregistrer un commentaire