La recherche en IA

Tout savoir sur la recherche et les techniques d’IA

On ne résiste pas au plaisir de partager ce bon mot trouvé sur Twitter en guise d’introduction mais qui en dit long sur la recherche en IA : « l’IA, c’est comme le fait de faire l’amour chez les ados : tout le monde en parle, personne ne sait vraiment le faire, tout le monde pense que les autres le font, donc tout le monde dit le faire ».

L’Intelligence Artificielle au singulier est un abus de langage courant car il n’existe pas une seule intelligence artificielle mais plusieurs intelligences artificielles aux approches techniques bien distinctes. Pour les systèmes les plus complexes, un montage multi-agents est même d’ailleurs requis.

On a tendance aujourd’hui, de par la médiatisation de la techno et des ses applis phares (véhicules autonomes en tête), à réduire l’IA au seul machine learning ou au deep learning. Pourtant, de nombreuses autres techniques existent (méthodes statistiques bayésiennes, arbres de décision, raisonnement à partir de règles RBR …).

Un point commun toutefois: l’algorithmique qui conduit les actions de la machine. Mais même dans ce domaine, différents langages de programmation (Lisp, Prolog, C++, Scheme…) co-existent aux côtés de techniques elles-aussi distinctes suivant l’objectif poursuivi.

Les systèmes experts

Les systèmes experts sont capables de reproduire certains mécanismes cognitifs d’un humain dans un domaine très précis (d’où le recours au mot « expert »). Ces logiciels retranscrivent la logique ou les compétences d’une personne et peuvent effectuer de façon efficace des tâches bien spécifiques. Ils constituent ainsi un gain de temps ou une aide à la décision basée d’abord sur des connaissances puis sur un moteur d’inférence (c’est-à-dire un « mouvement » allant de principes vers une conclusion).
Dit autrement, si un homme a un savoir-faire précis et spécifiques dans un domaine restreint et bien délimité, l’intelligence artificielle tentera de le reproduire pour faciliter la tâche de l’utilisateur (voire se passer de ce dernier).
La technique est construite sur la mise en place de règles (basiquement : « si » … « alors »).

Les systèmes experts
Les systèmes multi-agents et IA distribuée

Les systèmes multi-agents et IA distribuée

L’Intelligence Artificielle Distribuée conjugue plusieurs agents dans un même système que l’on nomme conséquemment multi-agents. En effet, elle porte sur des comportements intelligents qui résultent de la coopération de plusieurs agents, contrairement à l’intelligence artificielle classique, au singulier, généralement associée à la modélisation du comportement intelligent d’un seul agent.

Le réseau de neurones artificiels du deep learning peut à cet égard être aussi considéré comme un système d’Intelligence Artificielle Distribuée.

Ces systèmes s’organisent autour de plusieurs agents intelligents dont l’assemblage est rendu nécessaire par l’objectif poursuivi. Chacun de ces programmes est autonome mais ils communiquent entre eux pour atteindre cet objectif.

La résolution de problèmes

L’IA est une approche innovante et efficace pour résoudre des problèmes avec l’informatique. La résolution de problèmes incombe désormais à la machine, il suffit de les décrire pour que l’ordinateur les résolve lui-même.

Plusieurs méthodes coexistent en la matière. On peut énoncer plusieurs solutions possibles et y ajouter des contraintes qui permettront à la machine de choisir la bonne solution en fonction de ces contraintes (une grille de Sudoku laisse le choix entre plusieurs chiffres comme 1, 4 ou 6 à apposer dans les cases vides mais la contrainte de ne pas avoir deux fois le même chiffre dans cette grille qui comporte déjà un 4 et un 6 permet à la machine de savoir que la bonne réponse est 1).

On peut aussi demander à la machine de parcourir un chemin entre un état initial et un état final visé en choisissant le meilleur (le plus court, le plus rapide,…le principe du GPS). On dit qu’elle parcourt un graphe d’états.

Enfin on peut présenter à la machine des problèmes dont la solution est connue et fournie et lui poser un problème plus important composé de plusieurs sous-problèmes dont elle connaît la solution ; son objectif sera alors de diviser le problème en sous-problèmes plus simples et d’ainsi résoudre le problème chapeau (utile pour la grammaire d’une phrase par exemple).

La chaîne Tal

La chaîne TAL

Les hommes dialoguent entre eux en utilisant un langage que l’on qualifie de naturel pour le distinguer d’un langage formel de programmation informatique ou binaire. Le traitement automatique du langage (TAL) est une branche de l’Intelligence Artificielle qui regroupe les systèmes appliqués au langage humain. Son but est d’analyser et de reproduire artificiellement le langage parlé grâce à certaines techniques.

C’est un domaine assez large qui s’étend non seulement de la reconnaissance vocale (c’est-à-dire de la perception des sons jusqu’à la transformation de ces sons en mots) à la synthèse vocale (c’est-à-dire l’émission de sons constituant des mots et des phrases sensées) en passant par la compréhension intermédiaire nécessaire de ce qui se dit et la formulation d’idées.

Le champ d’application en est conséquemment très large également depuis la structuration de textes ou la synthèse aux systèmes de questions-réponses en passant par la traduction simultanée de langues entre autres exemples.

Le machine learning

Les systèmes d’IA actuels les plus exposés médiatiquement depuis 2012 et l’écrasante victoire de cette technique dans le concours de reconnaissance d’images ImageNet fonctionnent en majorité avec le machine learning, une technique d’apprentissage automatique qui permet à la machine d’évoluer sans nécessairement modifier ses algorithmes.

L’ordinateur apprend avec des données (dont il est nourri en énormes quantités) et peut ainsi effectuer ensuite des tâches pour lesquelles il n’est pas rigidement programmé. Cette technique connaît aujourd’hui un grand succès avec le Big Data (dont la masse de données permet à la fois justement de « nourrir la bête » mais aussi de booster les besoins en recours à l’IA aidant l’humain devant un volume dont il ne pourrait plus venir à bout seul).

L’apprentissage automatique qu’on appelle aussi apprentissage statistique donne le moyen à une machine de corriger elle-même ses analyses en fonction de données captées. Il s’agit d’une simple analogie algorithmique avec le cerveau humain : dès l’enfance, nous adaptons nos conclusions en fonction des données que nous rassemblons. Lorsque nous rencontrons un chat pour la première fois, on nous dit « c’est un chat ». Lorsque nous croisons un chien pour la première fois ensuite, nous disons « c’est un chat » : nos parents nous corrigent et nous disent « non, c’est un chien ». Notre cerveau va alors automatiquement distinguer les deux animaux par ce qui les sépare. Puis, à l’arrivée d’un autre chat, nous émettrons l’hypothèse que c’est un chat. Dès lors, nos parents nous dirons « bravo ». Alors notre cerveau tentera automatiquement de réconcilier tout les points communs entre les 2 premiers chats rencontrés (en s’appuyant aussi sur leurs différences d’avec le chien) et petit à petit, plus les exemples de chat s’accumulerons, et plus nous reconnaîtrons les chats avec un pourcentage de réussite très élevé.

Le machine learning a modélisé cette approche en laissant la machine tirer statistiquement les conclusions : on lui fournit des données en entrée en lui disant « oui » ou « non » sur ses interprétations en sortie le temps qu’elle ajuste elle-même les pondérations des critères de reconnaissance jusqu’à quasiment ne plus se tromper.

Les réseaux neuronaux

Le Web sémantique

Le réseau de neurones tente de simuler l’activité synaptique du cerveau c’est à dire les échanges d’informations dans leur acception « donnée d’entrée – engendre – donnée de sortie ». En additionnant ces espaces inter synaptiques en parallèle, puis en en superposant des couches, l’on vise à générer un « réseau » de pondérations auto-réglés par l’algorithme à qui l’on indiquera simplement ce qui est attendu en sortie en fonction de ce qu’on y aura entré, laissant ainsi la machine faire les réglages entre les deux.

Le web sémantique est un domaine qui occupe actuellement une place primordiale dans la structuration de l’internet et conséquemment sur les référencements naturels dans les moteurs de recherche. Il vise à interconnecter les données du web mondial (normalisation W3C) en permettant à la machine de comprendre le langage humain et de le contextualiser. Ce procédé améliore considérablement les recherches sur internet dans la mesure où les réponses sont de plus en plus adaptées pour satisfaire parfaitement à l’attente de l’internaute. Tout se joue au niveau de la sémantique.

D’autres articles sur le même thème

Les usages de l’IA

Le nombre de domaines d’application et d’usages potentiels d’une IA est aujourd’hui quasi-infini.

Les géants de l’IA

Le monde va être bouleversé dans les années qui viennent devant l’explosion des applications d’Intelligence Artificielle.

Le machine learning