Dans ce deuxième article, nous allons entrer plus en détails dans la science de l’IA.

Une définition

John McCarthy, l’un des pionniers de l’IA et chercheur à l’université de Stanford, a proposé dans son article “What is Artificial Intelligence?”[1], publié en 1998, une définition de l’IA, traduite en français avec un peu de liberté pour un souci de compréhension :

Il s’agit de la science et de l’ingénierie qui consistent à créer des machines intelligentes, en particulier des programmes informatiques intelligents. Elle est également liée à l’utilisation des ordinateurs pour étudier et comprendre l’intelligence humaine. Toutefois, l’IA n’est pas obligée de se limiter aux seules approches inspirées des mécanismes biologiques.

Cette définition nous permet de souligner trois points importants. Tout d’abord, l’IA est une science. Utiliser le terme d’IA lorsqu’on parle d’un système intelligent est un abus de langage. Nous utiliserons les expressions “système d’IA” ou “modèle d’IA” lorsqu’il s’agit des “machines intelligentes” mentionnées par John McCarthy. Ensuite, les systèmes d’IA sont des programmes informatiques présentant une sophistication différente des programmes informatiques qui vous permettent par exemple de prendre vos billets de train ou d’envoyer des messages avec votre téléphone portable.  Le dernier point peut être résumée par la question suivante: l’IA consiste-t-elle à simuler l’intelligence humaine ? La réponse de John McCarthy serait : parfois, mais pas toujours ni même habituellement. Certaines méthodes suivent des logiques observées chez l’humain ou les animaux et d’autres pas du tout car elles impliquent soit des calculs que l’humain peut faire, soit des calculs différents.

Pour le formuler autrement, l’IA est la science qui vise à développer des systèmes informatiques capables d’effectuer des tâches et ces tâches requièrent généralement l’intelligence humaine, comme traduire un texte, détecter des objets sur des images ou des vidéos, lire une émotion sur un visage, décrire une image, comprendre un texte et le résumer, transcrire un discours oral en texte, transformer des images ou des vidéos et répondre à des questions sur un sujet donné.

IA faible et IA forte

Avant d’entrer dans le fonctionnement d’un système d’IA, il est important d’aborder un point pour éviter d’alimenter une crainte mal placée. Il existe différents types de système d’IA et de nombreuses catégorisations : le type d’architecture (les types de calculs et d’opérations réalisés), la façon dont ils sont créés, entraînés comme il est dit en IA, leur type de résultats (une image, un texte, une valeur…) et le type de tâches réalisées (prédiction, génération, localisation…). On utilise pour les classer les  notions d’IA faibles et  d’IA fortes :

  • Les IA faibles sont conçues pour accomplir des tâches spécifiques, comme la reconnaissance d’images ou la traduction de texte. Elles sont très performantes dans un domaine précis, mais ne possèdent pas de compréhension globale. Elles ne pourront jamais faire autre chose que la tâche qui leur est attribuée.
  • En revanche, les IA fortes (ou IA générales) visent à imiter l’intelligence humaine dans toute sa complexité, avec la capacité d’apprendre, de raisonner et de s’adapter à diverses situations. À ce jour, seules les IA faibles existent, tandis que l’IA forte reste un concept théorique, mais les agents conversationnels s’en rapprochent un tout petit peu. Dans ce sens, ChatGPT est une IA presque forte.

Nous voyons qu’à l’heure actuelle nous sommes loin d’un robot ou d’un humanoïde capable de simuler complétement une intelligence humaine et de la dépasser. Nous sommes encore loin d’un Terminator ou RoboCop. La plupart des systèmes d’IA que nous croisons (sans le savoir parfois) sont des outils informatiques qui réalisent une tâche bien définie et qui sont créés par des techniques d’IA avec des performances certes élevées, mais aussi des biais qui leur sont propres.

Un préambule, l’algorithme

A l’évocation du mot “algorithme”, nous viennent à l’esprit des écrans au fond noir avec des chiffres et des mots qui défilent à toute allure. Cette représentation est un peu fantaisiste.

Un algorithme est avant tout une suite d’instructions précises permettant de résoudre un problème ou d’accomplir une tâche. C’est un processus pas à pas que suit un ordinateur pour arriver à un résultat spécifique. Par exemple, pour trier des nombres, un algorithme détaillera les étapes pour comparer et organiser ces nombres dans un ordre défini. La suite d’instruction correspondante est écrite dans un fichier de texte. C’est un utilisateur qui demandera à un ordinateur d’exécuter les instructions indiquées dans ce fichier et c’est un logiciel spécifique qui exécutera ces instructions, transformant des données textuelles en des opérations informatiques de base. Il est important de comprendre que l’ordinateur ne fera rien d’autre que ce qui est écrit. C’est un exécutant. On peut le comparer à une recette de cuisine : la recette donne des instructions claires que le cuisinier suit pour obtenir un plat. De la même manière, un ordinateur suit l’algorithme pour obtenir un résultat.

Un modèle d’IA est un algorithme

Un modèle d’IA est une succession d’opérations mathématiques réalisées à partir d’une donnée d’entrée. Celle-ci est un peu l’ensemble des ingrédients pour obtenir le plat qui nous intéresse en laissant l’ordinateur faire la suite d’opérations définies en amont par le constructeur du modèle d’IA.

Une catégorisation importante des modèles d’IA est celle qui distingue les modèles entraînés par des méthodes d’Apprentissage Automatique (ou Machine Learning en anglais) et les modèles entraînés par des méthodes d’Apprentissage Profond (ou Deep Learning en anglais). L’apprentissage automatique est le sous-ensemble des techniques d’IA qui utilisent des méthodes statistiques pour permettre aux machines d’apprendre à partir de l’expérience sans être explicitement programmées pour chaque cas. L’apprentissage profond est le sous-ensemble des techniques d’apprentissage automatique qui permettent aux machines d’identifier par elles-mêmes et par l’expérience les informations qui dans les données sont pertinentes pour la tâche demandée. Les méthodes d’apprentissage automatique englobent les méthodes d’apprentissage profond.

Depuis les années 2010, ce sont les méthodes d’apprentissage profond qui se sont développées fortement et ont montré leur faisabilité et de meilleures performances en général. Mais les modèles d’apprentissage automatique qui ne font pas appel à l’apprentissage profond ont montré (depuis plus de 50 ans) et continuent de montrer de bonnes performances. De nombreuses applications existent dans le milieu de l’industrie pour des tâches bien précises : prédiction de besoins de stocks, prédiction d’anomalies ou systèmes de recommandations. Ces méthodes nécessitent moins de données et sont en général plus interprétables que les méthodes d’apprentissage profond. Toutefois, elles ne sont pas adaptées pour créer des modèles d’IA de génération de textes, d’audio ou d’images et n’apparaissent pas offrir la possibilité de générer des “IA fortes”. C’est pourquoi, dans la suite, nous parlerons par défaut des modèles entraînés par apprentissage profond.

Il est important de soulever deux autres spécificités des modèles d’apprentissage profond. Premièrement, ils contiennent un très grand nombre d’opérations mathématiques complexes et donc un très grand nombre de paramètres. C’est ce grand nombre de paramètres qui confère à ce type de modèles une grande capacité à extraire des informations utiles et à comprendre les données. Deuxièmement, il est important de garder en tête que cette succession d’opérations n’a pas été trouvée par des humains. Ce ne sont pas des experts de la tâche visée qui ont défini ces opérations. Ce que la science de l’IA a apporté est un ensemble d’algorithmes qui permettent à un ordinateur d’établir un algorithme qui réalise au mieux la tâche demandée. Nous entraînons ainsi les ordinateurs à trouver eux-mêmes cette succession d’opérations mathématiques à partir d’un ensemble de données préalablement défini. C’est comme disposer d’une méthode qui permettrait d’établir la meilleure recette pour obtenir un plat voulu à partir d’ingrédients donnés.

Pour finir, nous tenons à ajouter deux remarques pour démystifier ces modèles.

Premièrement, un modèle d’IA est un algorithme composé d’opérations et non une succession de mouvements électriques, voire magiques. Nous comprenons les opérations réalisées au niveau le plus fin (addition, multiplication, convolution…), mais, dans certains cas, la signification derrière une succession de ces opérations demeure incompréhensible. Actuellement, quelques techniques permettent d’interpréter ces successions d’opérations mais la compréhension des modèles reste  limitée. Pour reprendre l’analogie culinaire, c’est comme si nous comprenions que le cuisinier (c-à-d le modèle) agite un fouet dans un saladier rempli de blancs d’oeufs sans comprendre que l’objectif est de monter les blancs en neige. Développer des méthodes pour comprendre le fonctionnement de ces modèles est un axe de recherche.

Deuxièmement, pour l’instant, les modèles d’IA n’ont pas de compréhension sémantique des données qu’ils reçoivent en entrée et des motifs pertinents qu’ils extraient. Un modèle d’IA associe à certains motifs, c’est-à-dire des arrangements spécifiques de nombres, à un résultat, sans comprendre, comme des humains le font, ce que représentent ces motifs ou le résultat. Fournir à un modèle d’IA une véritable compréhension sémantiques des motifs est un élément clé pour l’émergence des “IA fortes”.


[1] http://jmc.stanford.edu/articles/whatisai/whatisai.pdf, dernière version 12 novembre 2007


2 Articles pour la série :

IA : Ce que l’intelligence artificielle dit des humains