ChatGPT en version 3.5 est accessible à la fois via l’interface conversationnelle web chat.openai.com et via l’app mobile ChatGPT qui est déjà disponible pour iPhone (cliquer ici); la version Android est encore en développement et devrait être accessible sous peu.
Le modèle ChatGPT v3.5 est accessible gratuitement sans limitation de volume de conversations, moyennant inscription préalable.
ChatGPT+, qui coûte 20 USD par mois, donne en outre accès au modèle ChatGPT4 via la même interface, mais avec une limitation à 25 échanges toutes les 3 heures. Les dialogues avec ChatGPT4 sont en général de qualité nettement supérieure à ceux avec ChatGPT 3.5.
ChatGPT4 donne aussi accès à deux fonctionnalités additionnelles dont je reparlerai à l’avenir :
L’ intégration avec le web qui offre des réponses à jour et contenant des liens vers les informations
L’ intégration avec une centaine de programmes applicatifs (plug-ins); ces programmes offrent des fonctionnalités variées que ChatGPT peut exploiter pour répondre à la demande de l’utilisateur: commandes de produits, graphiques….
2. Microsoft
Bing Chat est basé sur OpenAI et accessible ici : chat.bing.com , à condition de posséder le navigateur Microsoft Edge.
L’utilisation de Bing Chat est gratuite.
Bing Chat est aussi accessible via l’ app mobile bing, qui est disponible à la fois pour Android et iOS.
Bing Chat propose trois styles conversationnels : précis, équilibré et créatif.
L’ interface Bing Chat, utilisée en mode conversationnel créatif, donne en réalité accès à GPT4. Ceci permet donc d’utiliser ChatGPT4 sans payer les 20 USD/mois d’abonnement à OpenAI.
3. Google
Google est actuellement occupé à déployer son interface conversationnelle sur bard.google.com, pays par pays
A dater du 4 juin 2023, l’accès n’est pas encore possible en Belgique, mais ceci devrait changer rapidement.
4. Huggingface
Hugging Face, un des principaux lieu de rendez-vous de la communauté de l’IA, a publié son propre modèle conversationnel, basé sur Llama (développé par Meta).
L’utilisation conversationnelle du modèle est gratuite, moyennant inscription préalable sur le site de HuggingFace.
5. Anthropic
Claude, développé par la société Anthropic est disponible moyennant demande d’accès préalable ici.
Claude très est intéressant car il est capable d’interpréter des textes beaucoup plus volumineux que les autres modèles (fenêtre de contexte de 100.000 unités au lieu d’environ 4.000 pour ChatGPT 3.5, ce qui correspond à plus ou moins 70.000 mots ).
Claude existe en deux versions, Claude Instant et Claude-v1. Claude Instant est plus rapide et Claude-v1 plus puissant. Les deux version sont payantes (Claude v1 étant plus cher).
Beaucoup des succès initiaux de l’IA, rendus possibles par l’IA symbolique, se sont déroulés dans des environnements idéalisés ne nécessitant pas une grande expérience du monde ni de capacité d’apprentissage. Et pourtant, les raisonnements de notre vie quotidienne font appel à une quantité prodigieuse d’informations sur le monde. Cette connaissance est en grande partie intuitive et subjective, donc difficile à formaliser.
Ces difficultés suggèrent une approche alternative : tenter d’extraire la structure d’un problème à partir d’exemples, et laisser la machine apprendre son propre modèle. C’est l’idée de l’apprentissage machine, décrite dans l’article précédent.
Mais en réalité, les approches d’apprentissage machine « simples » ne font que déplacer le problème, parce qu’elles sont uniquement capables de recevoir un nombre limité de données en entrée, qui doivent être soigneusement choisies par le programmeur pour permettre le bon apprentissage de l’algorithme. Cette dépendantce à la représentation des données fournies est un sérieux point faible car il est souvent difficile à satisfaire, notamment pour les problèmes perceptuels, parmi les plus intéressants en pratique: si vous voulez construire un détecteur de chat dans une image en fonction des pixels de l’image, il va être très difficile de définir à la main une représentation intermédiaire qui facilitera l’apprentissage du programme en aval: il y a beaucoup trop de combinaisons de facteurs à prendre en compte : orientation, distance du chat, éclairage, environnement…
L’ apprentissage profond résout ce problème par la force : on va « empiler » de multiples couches algorithmiques qui vont elles-mêmes apprendre ensemble à générer ces représentations intermédiaires. On peut donc fournir directement les données perceptuelles en entrée et il n’y a plus besoin de contruire de représentation intermédiaire puisqu’elle est générée automatiquement dans les premières couches du réseau. Le champ d’application perceptuel s’ouvre, au prix de modèles comprenant un nombre énorme de paramètres et entraînés sur un très grand volume de données d’apprentissage.
Les réseaux neuronaux artificiels
Le but de l’Intelligence Artificielle étant d’émuler l’intelligence humaine, pourquoi ne pas s’inspirer de la structure du cerveau humain pour construire une machine intelligente ? C’est l’idée des réseaux neuronaux artificiels, qui sont au coeur de l’apprentissage profond.
Les neurones naturels constituent l’unité de base du cerveau humain. Notre cerveau en contient environ 100 milliards. Si chaque neurone se comporte de manière relativement prévisible, ils sont fortement connectés entre eux et la mise en réseau de ces neurones relativement simples permet au cerveau de réaliser des calculs extrêmement complexes avec une grande efficacité. Les détails du fonctionnement du cerveau (et d’ailleurs des neurones) font sont l’objet de recherches intenses et ne sont pas entièrement compris, mais on sait que les neurones ont tendance à s’organiser en couches consécutives dans le cortex cérébral.
En deux mots, un neurone naturel reçoit une série de signaux électriques provenant d’autres neurones via ses dendrites. Sur base de ces entrées, le neurone va émettre un signal de sortie sur son axone, une sorte de long câble électrique qui va à son tour se connecter aux dendrites d’autres neurones. C’est ainsi que le réseau se constitue.
Les neurones artificiels sont une représentation idéalisée du fonctionnement d’un neurone naturel; en substance, ils ne sont rien d’autre qu’une fonction mathématique qui prend en variables d’entrée la sortie d’autres neurones artificiels, leur applique une fonction mathématique pour obtenir une seule valeur de sortie qui est à son tour transmise à l’entrée d’autres neurones artificiels. Bref, un neurone artificiel n’est rien de plus qu’une fonction à plusieurs variables.
Ces neurones artificiels sont alors « connectés » les uns aux autres et empilés en couches successives pour construire un réseau de neurones artificiels, comme illustré sur la figure 2, qui montre un réseau à deux couches. Les paramètres d’apprentissage du réseau sont les poids wi et b de chaque neurone. Ceux-ci seront progressivement modifiés lors de l’apprentissage jusqu’à ce que la performance du modèle soit considérée comme satisfaisante.
Il manque une dernière pièce au puzzle : il nous faut encore un algorithme d’apprentissage qui va faire évoluer les paramètres du réseau (les wi et b) pendant la phase d’entraînement. Cet algorithme, appelé « rétropropagation » est la sauce secrète qui permet aux réseaux de neurones artificiels de se transformer de joyeux enchevêtrement inutile de fonctions vers une machine puissante d’interprétation perceptuelle.
L’ expérience permet de définir l’architecture appropriée du réseau neuronal en fonction du problème à traiter, tant en termes de couches et de connectivité (tous les neurones ne sont en général pas connectés entre eux), que du volume d’exemples pertinents à fournir lors de la phase d’entraînement.
Ces réseaux peuvent inclure un nombre arbitraire de couches neuronales qui vont rendre possible la génération de représentations de plus en plus abstraites du domaine d’entrée, et donc traiter des problèmes de plus en plus complexes.
C’est cette capacité de l’apprentissage profond à traiter des problèmes d’une grande complexité qui a entraîné sa dominance de plus en plus forte sur les autres approches au cours de la dernière décennie. Les deux domaines où l’apprentissage profond règne aujourd’hui sans partage sont le traitement de la vision et du langage. Deux domaines aux applications extrêmement utiles et répandues…
Applications
L’ apprentissage profond regroupe deux grandes familles d’applications : les applications discriminatives et les applications génératives.
Les applications discriminatives sont celles qui ont pour but la classification ou la prédiction. Ce sont des modèles qui cherchent à apprendre la relation existant entre les données d’entrée et de sortie. Il s’agit de l’approche « traditionnelle » décrite plus haut et qui s’inscrit dans la continuité des principes de l’apprentissage machine.
Les exemples d’applications discriminatives sont nombreux et nous en côtoyons certains quotidiennement :
moteurs de recommendation sur un site de commerce électronique,
détection de spam dans les emails,
détection de transaction frauduleuse sur les cartes bancaires,
reconnaissance d’objets dans une image (et par extension conduite autonome),
classification de textes par catégories,
prédiction de la consommation électrique,
analyse de sentiment d’un commentaire (par ex. positif/négatif)
Les applications génératives sont plus récentes. Elles vont générer de nouvelles données similaires à celles fournies en entrée. Ces modèles cherchent à apprendre la structure sous-jacente dans des jeux de données et à générer des données complémentaires de manière autonome.
Les applications génératives se découpent à leur tour en deux grandes sous-familles : celles qui travaillent sur du texte et celles qui travaillent sur des images, même si certaines applications combinent les deux.
Les modèles de langage comme GPT, ChatGPT, PALM etc.. appartiennent à la sous-famille des applications génératives textuelles: nous avons l’impression qu’elles agissent interactivement, mais en réalité ils cherchent à prédire le texte le plus probable (tenant compte de leur modèle) pour prolonger la séquence de texte entamée par notre question. Et leur modèle ayant été entraîné pour inclure des séquences de dialogues, le modèle fournira naturellement une réponse -en principe plausible- quand une question lui est posée parce que cela lui semble une prolongation satifaisante au texte de la question.
Les modèles génératifs d’image comme Stable Diffusion agissent de manière analogue sur des images. Ils peuvent générer de nouvelles images à partir d’images existantes, compléter une image incomplète ou bien générer des images à partir de descriptions textuelles fournies par l’utilisateur (text-to-image). Inversément, ces modèles peuvent donner une description textuelle d’une image (image-to-text).
La puissance de ces modèles permet de les étendre efficacement à de nouveaux champs d’applications. Les derniers progrès en la matière sont le text-to-code (génération automatique de programmes informatiques), le text-to-task (le système exécute une tâche sur base d’une demande textuelle, par ex. déplacer un fichier), le text-to-3D (génération d’un modèle 3D à partir d’une description textuelle) et même le text-to-video !
Il est difficile de prédire où cela s’arrêtera car les progrès sont extrêmement rapides. Tellement rapides qu’ils suscitent l’inquiétude : ces systèmes peuvent impacter l’emploi ou être exploités à des fins malveillantes. Plus de mille chercheurs ont publié en mars 2023 une lettre demandant un moratoire d’au moins six mois sur les recherches allant au-delà de GPT4, le temps de faire le point sur les risques. Actuellement, les recherches continuent…
Je terminerai par le clip qui suit, intitulé « Amsterdam Trip », entièrement généré par Stable Diffision. Hallucinant.
Nous l’avons déjà vu précédemment dans l’historique : le domaine de l’Intelligence Artificielle est né dans les années 1950 sous l’impulsion d’une poignée de pionniers. L’ Intelligence Artificielle peut être définie de manière succincte comme l’ensemble des efforts visant à automatiser les tâches intellectuelles normalement exécutées par les êtres humains.
L’ IA procède principalement de deux domaines distincts, appelés IA symbolique et IA connexionniste. Ces deux approches suivent des voies profondément différentes pour aboutir à la construction de systèmes automatisés intelligents. En pratique, l’IA connexionniste correspond aux techniques d’apprentissage machine, et c’est le terme que j’utiliserai dans le reste de cet article. Dans les techniques d’apprentissage machine, les techniques basées sur des réseaux neuronaux artificiels ont progressivement acuis une position dominante. Elles sont à la base de toutes les percées récentes, y compris les modèles de langage qui défraient actuellement la chronique. Pour des raisons qui apparaîtront ci-dessous, ces techniques sont souvent appelées apprentissage profond. La figure 1 illustre la situation respective de ces différentes approches.
Enfin, il existe quelques approches particulières qui ne peuvent être vraiment classées dans aucune des deux grandes catégories. On peut citer par exemple les filtres de Kalman, les réseaux bayesiens ou encore les modèles de Markov (cachés ou pas). Je n’en parlerai pas plus ici.
Figure 1 : Aperçu général du domaine de l’Intelligence Artificielle
Les techniques de l’IA symbolique
Les partisans de l’approche symbolique basent leurs systèmes sur une formalisation de la connaissance et du raisonnement humains en les traduisant en un ensemble de symboles et de relations entre ces symboles. L’idée est séduisante, les symboles jouant un rôle vital dans la connaissance et le raisonnement humain; il suffit de réfléchir un instant à la structure de nos langues, avec leur vocabulaire et leurs règles syntaxiques pour s’en convaincre : nous utilisons des symboles abstraits pour représenter des catégories de concepts, qui se déclinent en des concepts plus simples jusqu’à descendre à des notions élémentaires. De la même manière,nos langages nous permettent d’exprimer toutes sortes de relations, qui couvrent tout le champ de l’expérience consciente humaine : relations humaines, catégorisation des objets, position et relation dans le temps et l’espace, liens de causalité, raisonnements abstraits….
L’idée de l’IA symbolique est de construire un monde abstrait idéalisé, contenant un nombre de concepts/symboles beaucoup plus réduit que dans le monde réel, et régi par des relations entre symboles et règles logiques d’action élémentaires. Ces symboles et ces règles sont ensuite intégrés dans un programme informatique qui va les manipuler et déduire de nouvelles relations par application répétée de ces règles logiques.
L’ algorithme de base de l’IA symbolique est celui de la recherche de haut en bas : l’algorithme va essayer différentes solutions, partant de la situation de départ et appliquant successivement toutes les combinaisons possibles de règles dans le but d’atteindre l’objectif recherché, ou, à défaut de s’en approcher. Au fur et à mesure de l’application récursive des règles, un « arbre » de règles se contruit. L’ordinateur parcourt inlassablement les différentes branches, à la recherche de la meilleure solution.
Je vais illustrer ceci à travers quelques exemples classiques de problèmes traités par l’IA symbolique :
Navigation : c’est l’algorithme que vous activez lorsque vous voulez vous rendre d’un endroit à l’autre et demandez le chemin à votre véhicule. Le système possède un graphe de toutes les routes carrossables de la région. Partant du noeud où vous vous trouvez, il va parcourir le graphe des chemins de proche en proche. Après chaque trajet élémentaire, l’algorithme regarde le point d’aboutissement et vérifie s’il a déjà atteint le même point par un autre chemin. Il ne conserve alors que le chemin le plus optimal pour atteindre ce point (en termes de distance et/ou de temps) et élimine les autres. L’algorithme procède de la sorte répétitivement jusqu’ à atteindre la destination, puis continue pour évaluer toutes les manières d’atteindre la destination et ne garder que la plus optimale, qui est la solution recherchée.
Jeu d’échecs : l’ordinateur connaît la configuration initiale des pièces sur l’échiquier ainsi que tous les mouvements possibles des pièces. Supposons pour fixer les idées que l’ordinateur joue avec les blancs. Une fonction d’évaluation est définie, qui retourne un score pour chaque configuration possible de l’échiquier. Au plus la configuration est favorable à l’ordinateur (=les blancs), au plus le score est élevé. Ce score inclut en général une composante matérielle (préservation des pièces) et aussi positionnelle (localisation des pièces). L’algorithme, appelé MINIMAX, va alors créer un arbre de tous les mouvement possibles pour chacun des joueurs jusqu’à un certain nombre de coups dans le futur. Il va alors progressivement remonter en ne conservant chaque fois que le mouvement le plus optimal considérant que les joueurs sont rationnels, à savoir choisissent systématiquement le mouvement qui maximise le score final – quand c’est à blanc de jouer- ou celui qui minimise le score final -quand c’est à noir de jouer-. Progressivement, l’algorithme remonte jusqu’au coup de départ et sélectionne le mouvement qui maximise le score pour le coup à jouer.
Planification : le système reçoit une tâche à accomplir, mais cette tâche requiert la réalisation de différentes sous-tâches qui sont liées par différentes relations et contraintes (de hiérarchie, de séquence, de localisation physique, de consommation de resources…). L’algorithme va alors parcourir toutes les manières possibles d’ordonnancer les tâches en respectant les contraintes jusqu’à ce que l’objectif soit atteint. Ces algorithmes ont la particularité qu’ils vont souvent parcourir l’espace de configuration à la fois progressivement depuis le point de départ, mais aussi à rebours depuis l’objectif, et ce jusqu’à trouver un point de rencontre dans l’espace des configurations entre la recherche progressive et la recherche « à rebours ». De nombreux problèmes logistiques peuvent se traiter de la sorte, par exemple placement et déplacement de caisses dans un entrepôt, transport de frêt optimal considérant les contraintes de transport….
Systèmes experts : la connaissance d’un expert est encodée sous forme de règles logiques et appliquée à un ensemble de données en entrée. Ces règles peuvent servir à établir des conclusions intermédiaires qui vont ensuite être exploitées pour tenter de tirer une conclusion définitive. De plus, le système permet à l’utiliateur de lui fournir des informations complémentaires lorsqu’il est bloqué, afin de faire progresser l’analyse. Par exemple, un programme pourra analyser un prélèvement sanguin et tirer des conclusions intermédiaires, qu’il soumet à un médecin; par exemple suggérer un examen médical complémentaire. Le médecin peut ensuite encoder le résultat du test complémentaire ce qui permettra au système expert de tirer de nouvelles conclusions, qu’il soumettra à nouveau, et ainsi de suite jusqu’à ce que l’utilisateur soit satisfait.
Prouveurs de théorèmes : l’ordinateur connaît les axiomes des mathématiques ainsi qu’un certain nombre de théorèmes déjà prouvés qui constituent son point de départ. Le théorème à prouver constitue l’objectif. L’ ordinateur connaît aussi les règles de déduction de la logique formelle. Il va alors appliquer répétitivement et cumulativement toutes les combinaisons de règles formelles sur l’ ensemble de faits constituant le point de départ, jusqu’à atteindre le théorème à prouver. Cet approche est très séduisante car l’algorithme peut immédiatement restituer la chaîne logique suivie et donc expliquer son raisonnement. CQFD.
Une caractéristique de toutes ces techniques est que le monde abstrait est défini à la main de toutes pièces par le programmeur. Il n’y a pas à proprement parler d’apprentissage autonome par la machine, qui ne fait qu’appliquer les règles qui lui ont été édictées.
L’illusion de l’intelligence provient ici de l’extrême rapidité des ordinateurs. Là ou l’être humain va instinctivement élaguer l’arbre des possibles et focaliser son analyse sur un petit nombre de cas prometteurs, l’ ordinateur va parcourir très rapidement tous les cas possibles, même les moins plausibles, pour arriver à un résultat analogue.
Les techniques de l’apprentissage machine
Commençons tout de suite par une définition due à Arthur Samuel en 1959 : l’apprentissage machine est le domaine d’étude qui vise à donner aux ordinateurs la capacité d’apprendre sans avoir été explicitement programmés.
L’ idée de base de l’apprentissage machine est que l’utilisateur fournit à l’algorithme une série de données qui vont permettre à l’algorithme de créer son propre modèle à travers une phase d’apprentissage. Une fois l’apprentissage terminé et le modèle testé, il pourra être utilisé sur de nouvelles données pour effectuer des prédictions. Contrairement à la démarche déductive de l’IA symbolique, la démarche de l’apprentissage machine est donc par nature inductive : elle part de cas particuliers pour construire une généralisation à travers une phase préparatoire d’entraînement. L’algorithme construit progressivement une structure statistique au moyen des exemples d’entraînement; cette structure est gelée à la fin de l’entraînement et exploitée ensuite sur de nouveau exemples en production pour effectuer des prédictions.
L’apprentissage machine est utilisé dans de nombreuses applications car il permet aux machines d’interpréter leur environnement (au sens large du terme) même lorsque celui-ci est incertain, entaché d’erreurs ou tout simplement impossible à formaliser explicitement. Ce dernier cas est typique des problèmes perceptuels. En effet, comment définir une règle déductive permettant d’établir si une image contient un chat ou pas, uniquement à partir des points qui la constituent ? Cela semble impossible…
L’apprentissage machine a commencé à prendre l’avantage sur l’IA symbolique dans les années 1990 et est aujourd’hui et de loin l’approche dominante, profitant de la digitalisation accrue du monde depuis l’arrivée du World Wide Web pour nourrir des jeux de données numériques sans cesse plus volumineux. Si l’approche dominante aujourd’hui est l’apprentissage profond, basé sur les réseaux neuronaux, il est bon de parler un instant des autres approches qui peuvent s’avérer plus adéquates que les réseaux neuronaux dans certainc cas.
Les algorithmes d’apprentissage machine se découpent en plusieurs sous-familles, en fonction du type de données disponibles pendant la phase d’apprentissage.
Dans le cas de l’apprentissage supervisé, le programmeur fournit à l’algorithme un jeu de données d’apprentissage « étiqueté » c’est à dire comprenant à la fois les données d’entrée (appelées observations) et les données de sortie (appelées étiquettes). Dans ce cas, l’algorithme cherchera à apprendre comment prédire la bonne étiquette en fonction de l’observation fournie. Une contrainte de ces algorithmes est que les étiquettes doivent en général être définies à la main avant l’apprentissage, et qu’elles doivent être correctes. Ceci a un coût.
La régression et la classification sont deux techniques traditionnelles en apprentissage machine supervisé. La régression consiste à chercher à prédire une valeur numérique continue en fonction d’une observation, alors que la classification a pour but d’attribuer à chaque observation une catégorie donnée parmi un nombre fini de catégories. Dans le cas le plus simple, la classification binaire va prédire si une observation possède ou non une caractéristique intéressante (classification oui/non).
Dans le case de l’apprentissage non supervisé, le jeu de données d’entraînement ne contient que des données d’entrée mais aucune donnée de sortie. Le programme devra donc, pendant la phase d’apprentissage, découvrir la structure sous-jacente des données, pour autant qu’elle existe. L’apprentissage non supervisé est souvent moins performant que l’apprentissage supervisé car il ne possède pas les étiquettes pour orienter sa modélisation. Par contre, il est possible d’utiliser directement des données brutes (textes, images…), souvent disponibles en très grande quantité, sans devoir les étiqueter une à une au préalable.
Un algorithme classique d’apprentissage non supervisé est le partitionnement des données (clustering en Anglais) dans lequel les données en entrée sont regroupées arbitrairement par l’algorithme en un certain nombre de catégories plausibles au vu de la répartition des observations. Un intérêt de ce type d’algorithme est qu’il possède une certaine forme de créativité, et peut donc aider un chercheur à identifier des régularités ou des motifs jusu’alors indétectés.
Un autre exemple d’apprentissage non supervisé est la détection d’anomalie. Il consiste à détecter une observation aberrante par rapport aux données d’entraînement et qui survient rarement. La détection d’une transaction financière frauduleuse ou d’une pièce mécanique défectueuse lors d’un contrôle qualité en bout de chaîne de production sont deux exemples d’application de cet algorithme.
Enfin, il existe des situations intermédiaires. Dans l’apprentissage semi-supervisé, seule une partie des observations d’entrée est étiquetée. Dans l’apprentissage autosupervisé, on cherche à prédire certaines données d’entrée en fonction des autres. C’est une approche très intéressante sur lequel on reviendra par la suite car elle est largement utilisée dans les modèles de langage.
L’apprentissage profond
L’apprentissage profond reprend les mêmes techniques et approches que l’apprentissage machine. On y retrouve également l’apprentissage supervisé, non supervisé, semi-supervisé etc… La différence entre les deux provient du type de modèle utilisé.
Si l’ apprentissage machine se base sur des algorithmes statistiques traditionnels, l’apprentissage profond recourt aux réseaux de neurones artificiels multicouches pour arriver au même résultat. La différence est que la puissance de modélisation des neurones artificiels n’est limitée que par la taille du réseau et celui-ci peut être rendu arbitrairement complexe, pour autant que le programmeur dispose de la puissance de calcul nécessaire et d’un volume de données suffisant.
Cette capacité à traiter des problèmes de plus en plus complexes a propulsé l’apprentissage profond au début de la scène depuis le début de la décennie 2010; cette approche domine aujourd’hui complètement le secteur.
Vu la longueur que ce texte est en train de prendre, je traiterai de l’apprentissage profond dans un article séparé, car le sujet mérite largement un traitement détaillé.
Conclusion
Le défi ultime de l’IA est de créer un système capable à la fois de raisonner, de créer de nouvelles abstractions, de percevoir le monde dans toute sa complexité, et d’apprendre de manière autonome. Mais les systèmes actuels se montrent soit déficients dans leur capacité à raisonner, soit à apprendre.
En même temps, on ne peut s’empêcher d’être interpellé par la grande complémentarité des deux approches. Les méthodes d’apprentissage machine excellent dans leurs capacités d’ apprentissage et de modélisation de phénomènes complexes mais leurs capacités d’abstraction, de raisonnement et d’explication sont limitées et peu interprétables. L’IA symbolique offre à peu près l’inverse : une grande puissance d’abstraction et de raisonnement, facilement intérprétables, mais peu encline à traiter les grands volumes de données imparfaitement structurés ou à apprendre de manière autonome.
On ne peut s’empêcher de penser que l’approche idéale combinerait ces deux techniques. Ces approches, appelées hybrides ou neurosymboliques, font l’objet de recherches et de développements approcondis. Mais l’intégration entre deux approches fondamentalement différentes n’est pas simple. L’avenir nous dira ce qu’il en est…
Pour terminer, admirons un instant l’extraordinaire puissance de la conscience humaine, qui combine toutes ces capacités avec élégance et harmonie. En quelques années, et par l’entremise de ses cinq sens limités, un enfant se crée une représentation intérieure du monde d’une stupéfiante complexité, qu’il continuera à enrichir toute sa vie au fil de nouveaux apprentissages et de nouvelles expériences. Chaque conscience est un univers propre qui reflète l’univers extérieur.
Toutes les fois qu’un homme meurt, c’est un monde qui disparaît, le monde qu’il portait dans sa tête. – Arthur Schopenhauer
Dans l’article précédent, j’ai déjà relaté l’histoire riche en rebondissements de l’IA symbolique, parfois affublée du sobriquet affectueux de Good Old-Fashioned AI (GOFAI) par les Anglo-Saxons. Nous allons maintenant couvrir l’histoire de l’autre grande branche de l’IA, la branche connexioniste. Si l’IA symbolique a été traditionnellement dominée par les mathématiciens, les logiciens et les informaticiens, l’IA connexionniste trouve sa source dans un tout autre domaine scientifique : les neurosciences.
Comme je l’avais déjà mentionné, les deux domaines ont longtemps coexisté dans une relative indifférence mutuelle, parfois teintée d’antagonisme. L’ histoire de l’IA connexioniste commence elle aussi fin des années 1940, au moment où Alan Turing établit les fondements de la discipline.
Brève description de l’approche connexionniste.
L’IA connexionniste tire son nom de la topologie en réseau auxquels la plupart des ses algorithmes font appel. Les noeuds du réseau, appelés neurones artificiels, ne sont rien d’autre que des fonctions mathématiques reliées entre elles par des paramètres variables. Ce sont les valeurs finales de ces paramètres qui constituent l’algorithme. Que ceci ne vous rebute pas, la manière dont ceci fonctionne en pratique sera expliqué plus en détail dans un article futur.
Une des différences principales avec l’IA symbolique est que le programmeur ne spécifie pas les règles du problème à modéliser. Il laisse au contraire le réseau découvrir lui-même ces règles à travers une exposition répétée à un ensemble de données dites d’entraînement ainsi que le résultat attendu. Les algorithmes connexionnistes appliquent alors des algorithmes statistiques afin de faire progressivement évoluer les paramètres du réseau vers une solution optimale.
A la place d’un modèle, l’ ingénieur doit juste fournir un volume de données suffisant en rapport avec la complexité du problème à modéliser. Par rapport à l’approche symbolique, c’est à la fois un avantage, mais aussi un défaut car tout dépend de la qualité des données d’entraînement.
Le perceptron (années 1960-1970)
L’inspiration des premiers chercheurs connexionistes est la biologie, qui cherchent dès les années 1940 à modéliser le fonctionnement des neurones du cerveau au moyen de circuits électroniques. Le premier modèle concret est le Perceptron de Frank Rosenblatt (1957), qui modélise d’abord un seul neurone sous forme de circuit électronique, puis plus tard un ensemble d’environ un millier de neurones dans le but de modéliser une rétine artificielle primitive.
Cependant, ces réseaux de neurones artificiels restent très rudimentaires. L’ analogie entre le neurone biologique et le neurone artificiel reste superficielle, et les moyens de l’époque ne permettent pas de créer de réseau de plus d’une couche de neurones. L’idée d’une possible rétro-ingéniérie du cerveau humain est certes fascinante, mais de tels réseaux ne permettent pas de modéliser des phénomènes complexes et atteignent rapidement leurs limites.
Pire, ils se montrent même incapables de modéliser certaines fonctions élémentaires, et l’exposition de ces limitations dans un livre (intitulé Perceptrons) publié en 1969 fait douter la communauté scientifique et les organismes de financement du potentiel de ces recherches, qui sont rapidement interrompues.
La rétropropagation (années 1980)
Et pourtant, des recherches menées pendant les années 1960 avaient déjà identifié des techniques permettant d’entraîner des réseaux de neurones multicouches. Ces techniques, dites de rétropropagation sont lentement améliorées pendant les années 1970 et reviennent sur le devant de la scène au début des années 1980. Du coup, les réseaux neuronaux s’épanouissent, profitant de la conjoncture favorable à l’IA mentionnée dans le précédent article. Une des réalisations les plus impressionnantes de l’époque est l’utilisation de réseaux neuronaux multicouches pour reconnaître les chffres des codes postaux sur les enveloppes.
Mais, comme pour l’IA symbolique, les capacités plafonnent vers la fin des années 1980 suite aux limitations de puissance des ordinateurs et du manque relatif de données disponibles pour les problèmes complexes.
Les données à la rescousse (années 1990-2000)
Les années 1990 voient apparaître le World Wide Web qui va provoquer une explosion du volume de données disponibles. Tout devient progressivement digital et accessible sur le web : images, musique, vidéos… collecter les volumes de données requis pour entraîner les réseaux neuronaux cesse d’être prohibitif. Reste à résoudre le problème de la puissance de calcul car ces algorithmes sont extrêmement gourmands en puissance de calcul. La solution à ce second problème arrive en 1999 avec les premiers coprocesseurs graphiques (GPU) qui sont parfaitement adaptés au type de calculs demandés par les réseaux neuronaux même si ce n’est pas leur vocation première. En une dizaine d’années, la puissance des coprocesseurs graphiques est multipliée par 1000 et la course à la puissance ne s’arrête pas là…
On découvre alors que les réseau neuronaux multicouches, maintenant appelés réseaux profonds, continuent à progresser et gagner en puissance expressive lorsqu’on augmente à la fois la taille du réseau et le volume de données d’entraînement, qui sont maintenant disponibles en abondance. Cette capacité à traiter des problèmes de plus en plus complexes va progressivement pousser l’essentiel des autres approches en désuétude, elles qui ne bénéficient pas des mêmes effets d’échelle.
L’explosion de l’apprentissage profond (depuis 2012)
De nouveaux développements majeurs ont lieu en 2012. Le réseau neuronal AlexNet pulvérise tous les records de performance en reconnaissance d’image. Il s’agit d’un réseau neuronal dont l’architecture est appelée convolutionnelle; cette architecture est particulièrement adaptées aux algorithmes traitant des images, une catégorie de problèmes considérés jusqu’alors comme difficile.
Mais les applications possibles d’un algorithme performant de classement des images sont innombrables et ce résultat provoque une nouvelle vague d’engouement pour l’IA, qui peut maintenant s’ouvrir à de nouveaux domaines : robotique, conduite autonome, contrôle visuel de qualité, classification d’images automatisée, biométrie…
En parallèle, le traitement du langage a également progressé, la percée ayant lieu dans ce domaine en 2017 avec la mise en place de l’architecture des transformeurs. Les modèles de langage continuent à progresser rapidement pendant les années qui suivent, on parle maintenant de « grands » modèles de langage vu la progression du nombre de paramètres qui devient tout simplement gigantesque : 117 millions pour GPT1, 1,5 milliards pour GPT2, 175 milliards pour GPT3 (et donc chatGPT3.5) , probablement 1,7 trillion pour GPT4….
L’ explosion récente de l’IA dite « générative » ne fait probablement que commencer: en plus des applications purement textuelles comme ChatGPT, on dénombre également des modèles qui génèrent des images à partir d’un texte (Stable Diffusion), mais aussi des vidéos, du code informatique, des modèles 3D, voir même des plans d’action pour accomplir une tâche complexe.
Nous voici arrivés au terme de l’histoire, nous avons rejoint le présent. Nul ne sait quand le sommet sera atteint mais prenons quand même un moment pour admirer le chemin qui a été parcouru depuis les quelques neurones artificiels du premier perceptron.
Au risque de simplifier un peu trop les choses, l’ Intelligence Artificielle s’est développée autour de deux approches relativement indépendantes, l’approche symbolique et l’approche connectionniste. L’ approche symbolique a été dominante jusquaux années 1990 et reste active aujourd’hui. Les bases de l’approche connectionniste ont été posées en même temps que l’approche symbolique, mais si cette dernière est restée nettement plus discrète pendant longtemps, la situation s’est inversée aujourd’hui puisque l’apprentissage profond qui révolutionne l’IA depuis une dizaine d’années est de nature connectionniste. Ces deux approches furent longtemps considérées comme mutuellement exclusives et une certaine animosité existait entre les deux camps, dominés par des spécialistes de domaines différents en compétition pour les mêmes budgets de recherche. Chaque camp étant en outre convaincu qu’il était le seul engagé sur la « vraie » voie de l’intelligence artificielle…
Dans cet article, je ne parlerai que de l’approche symbolique. L’ histoire de l’approche connectionniste fera l’objet d’un texte séparé.
Les débuts
L’ histoire de l’Intelligence Artificielle débute réellement lors de la première moitié du vingtième siècle. Pendant cette période, l’idée de machines dotées d’une autonomie intellectuelle fait son chemin dans le chef des romanciers d’anticipation. Le romancier tchèque Karel Capek crée le mot « robot » dans sa pièce Rossum’s Universal Robots datant 1920. D’autres robots apparaissent à la même époque dans différentes oeuvres comme les films Metropolis de Fritz Lang (1927) ou Le Magicien d’Oz quelques années plus tard (1939).
C’est donc de manière assez naturelle que les scientifiques de l’immédiate après-guerre, nourris de ces concepts par les romans de leur jeunesse, commencent à envisager la possibilité de doter les machines d’une capacité de raisonnement propre. Ceci entre désormais dans le champ du possible, suite à l’invention des premiers calculateurs digitaux pendant la Seconde Guerre mondiale. Le brillant mathématicien Alan Turing pose les bases de l’Intelligence Artificielle au début des années 50, établissant en particulier le fameux « test de Turing » pour déterminer si un programme possède une forme d’intelligence. Cependant, les ordinateurs de l’époque ont des capacités très limitées et leur exploitation coûte extrêmement cher. Toute utilisation de ces machines doit donc être strictement encadrée et validée par les autorités.
Quelques années plus tard, en 1956, a lieu une conférence d’été historique au Dartmouth College (Etats-Unis). Pendant deux mois, les principaux chercheurs en IA de l’époque s’y retrouvent, à l’exception d’ Alan Turing, mort en 1954. Bien qu’ils ne puissent lancer la collaboration à grande échelle qui avait été envisagée initialement, les chercheurs reviennent de cette conférence enthousiasmés et convaincus que l’Intelligence Artificielle est un objectif réalisable. Cet événement, au cours duquel le terme « Intelligence Artificielle » a été prononcé pour la première fois, aura des répercussions majeures et inspirera les recherches au cours des vingt années qui suivront. Mais ce nom est égalmement de nature à enflammer les plus folles espérances et les pires craintes. Mais ces attentes démesurées ne peuvent être réalisées et l’IA traverse au fil des années plusieurs âges d’or, suivis par des « hivers » au cours desquels le sujet tombe en désintérêt .
L’ âge d’or de l’IA symbolique (1956-1974)
L’ Intelligence Artificielle décolle vraiment après la conférence au Dartmouth College; elle bénéficie des progrès fulgurants de l’informatique, qui s’envole avec la découverte des transistors puis des circuits intégrés au cours des années 1950 et 1960.
Ce premier âge d’or est celui des machines généralistes (1957-1974). Il est dominé par les approches dites symboliques. En quelques mots, ces approches se basent sur un ensemble de règles logiques déductives que l’on applique de manière répétée à des hypothèses de départ. On constitue alors progressivement un arbre dont chaque branche correspond à une combinaison paticulière de règles appliquées aux hypothèses. Et le programme continuera à « faire grandir » l’arbre tant que l’objectif recherché n’est pas atteint. Un raffinement possible est que, afin de limiter l’explosion combinatoire, des règles additionnelles, dites heuristiques, permettent de déterminer empiriquement quelles branches semblent les plus prometteuses, ce qui peut amener le programme à privilégier l’exploration de certaines branches au détriment d’autres.
Ce genre d’approche fonctionne bien dans des mondes idéalisés, soumis à des règles strictes et déterministes (pas d’incertitude). Deux bons exemples sont les théorèmes mathématiques et le jeu d’échecs. Et le succès des programmes d’IA de l’époque dans ce genre de problème considéré jusque-là comme symptomatiques de l’intelligence humaine dans ce qu’elle a de plus noble, cause un grand engouement et suscite l’optimisme des chercheurs. Mais cela les pousse à promettre l’irréalisable, comme par exemple Marvin Minsky qui n’hésite pas à déclarer en 1970 que « D’ici trois à huit ans, nous disposerons d’une machine avec l’intelligence générale d’un être humain moyen« .
Le premier hiver (1974-1980)
Cependant, ces succès se montrent limités et les algorithmes atteignent leurs limites. La puissance de calcul des machines de l’époque reste encore limitée, et le monde réel a une vilaine tendance à être tout sauf déterministe et idéalisé. Des événements imprévus surviennent, une route ou un trottoir n’est pas un échiquier et la modélisation du langage humain se montre beaucoup plus complexe et ambigue qu’imaginé initialement.
Un autre problème est que certaines applications sur lesquelles les chercheurs s’étaient engagés (comme par exemple la vision) requièrement des volumes énormes d’information au sujet du monde qui nous entoure, volumes tout à fait hors de portée des systèmes informatiques de l’époque.
En résumé, les chercheurs butent sur ce qui est appelé le paradoxe de Moravec : si certains problèmes qui sont simples pour des machines -prouver un théorème ou jouer aux échecs- se révèlent complexe pour les humains, le contraire est également vrai pour d’autres problèmes comme reconnaître un visage ou traverser une rue. Les chercheurs, fascinés par la première catégorie, ont imprudemment pris des engagements sur la seconde.
En conséquence, les principales agences gouvernementales qui allouaient les crédits pour la recherchent en IA réduisent drastiquement les budgets disponibles, et une période d’hibernation commence pour l’IA.
Le second âge d’or : les systèmes experts (1980-1990)
La situation change de nouveau au début des années 1980. Au lieu de prétendre utiliser les systèmes symboliques dans une approche généraliste, les chercheurs cherchent cette fois à encoder l’expertise humaine dans un domaine très spécifique, basé sur la formalisation de la connaissance d’experts. Cette spécialisation leur permet de contourner un certain nombre des écueils rencontrés par les systèmes généralistes, au prix d’une domaine application beaucoup plus restreint.
L’avantage principal des systèmes experts est qu’ils apportent une réelle valeur ajoutée aux entreprises et organisations, ce qui n’avait pas vraiment été le cas auparavant. Un autre avantage est que leur conception leur permet d’adapter relativement aisément la base de connaissance, par exemple si l’état de l’art progresse dans le domaine modélisé.
Le Japon lance un programme de développement des systèmes experts à grande échelle, et une génération de nouvelles entreprises apparaît, se spécialisant dans la fourniture de matériels spécifiquement développés pour faire tourner des systèmes experts.
Un second hiver (années 1990)
A la fin des années 1980, un autre développement majeur apparaît : l’apparition des premiers ordinateurs personnels de bureautique. Le décollage de la bureautique dans les entreprises offre soudain d’énormes opportunités d’amélioration des processus papier existant jusqu’alors et la grande période du réengineering des processus commence dans les entreprises (BPR).
Le problème est que la jeune industrie des systèmes experts était basée sur des ordinateurs spécialisés, chers et difficiles à maintenir à jour. Ils font pâle figure face au progrès fulgurant des PC qui deviennent rapidement aussi puissants, voire plus puissants que ces machines beaucoup plus coûteuses. Les machines spécialisées sont délaissés, le marché s’effondre et une vague de faillites s’ensuit.
En parallèle, les sytèmes experts montrent leurs limites. N’ayant pas de connaissance contextuelle, ils sont « fragiles » et susceptible de se tromper catastrophiquement dès que l’on sort du cadre des données d’entrée habituelles. Les systèmes experts sont certes utiles, mais seulement dans certains cas.
Comme une quinzaine d’années auparavant, les agences gouvernementales décident de couper les budgets au début des années 1990. Le second hiver arrive.
En guise de Conclusion
Cependant, la période des années 1990 s’avère féconde malgré l’interruption des budgets de recherche. La puissance des ordinateurs ne cesse de continuer à progresser et la capacité à enmagasiner et stocker des données fait de même. Mais la période de domination de l’IA symbolique arrive à son terme. C’est maintenant l’heure de l’approche connectionniste, qui s’est développée dans l’ombre de sa grande soeur jusqu’ici… mais ceci est une autre histoire, et un autre article.
Ceci représente donc la première ligne d’une série que j’espère longue et fructueuse. Je souhaite aussi, cher lecteur, qu’elle vous intéressera. Avant de nous embarquer ensemble dans ce périple, permettez-moi de me présenter.
Ingénieur civil de formation et vivant à Bruxelles, j’ai toujours été fasciné par l’Intelligence Artificielle. Après quelques contacts initiaux avec l’IA au cours de mes études, ce n’est que quelques années plus tard, en 2013, que j’ai recommencé à étudier activement le sujet, tout d’abord en suivant des formations sur les premier sites de MOOC de l’époque (Udacity, edX, Coursera). A l’époque, l’apprentissage profond (Deep Learning) en était encore à ses débuts mais son énorme potentiel, notamment en ce qui concernait le traitement d’images semblait inépuisable. La question de la vision, auparavant insoluble, semblait en voie d’être résolue.
Après quelques années de formations en ligne ininterrompues, j’ai choisi de rejoindre une start-up belge dans le secteur de l’AI en tant que directeur opérationnel au milieu de l’année 2019. Cette belle aventure au sein de la société Omina Technologies a duré près de trois ans, et m’a permis de côtoyer des gens remarquables en termes à la fois académiques et humains.
J’avais repris un cheminement de vie plus traditionnel depuis quelques mois lorsque les modèes de type GPT ont soudainement fait irruption sur le devant de la scène vers la fin de l’année 2022, avec dans le rôle principal le désormais incontournable ChatGPT.
Cela fut une énorme surprise pour moi, je dois bien l’admettre. Mon intuition me portait à croire que le langage était un problème nettement moins approprié à l’apprentissage profond que les images. Je n’attendais pas de percée significative dans cette direction et me concentrais plutôt sur les progrès de la conduite autonome dans lesquels une percée me semblait plus plausible. A ma décharge, il semble bien que nombre de chercheurs et d’académiques du secteur ont également été pris de cours par les progrès stupéfiants de ces modèles de langage de grande taille -LLM en anglais- dont les capacités vont bien au-delà de ce que leur apprentissage pouvait laisser attendre…
Et depuis, le foisonnement incessant d’activités autour de ces modèles LLM, où chaque jour apporte son lot de nouvelles approches et de polémiques me semble encore plus intense, encore plus extraordinaire que la période 1998-2001 qui a connu l’explosion initiale du commerce électronique et l’émergence des géants de la tech d’aujourd’hui : Google, Amazon…avec Meta/Facebook suivant dans le sillage quelques années plus tard.
Néanmoins, il faut noter que l’immense majorité de l’information disponible est en Anglais, et l’essentiel des développements actuels se passent aux Etats-Unis. Et pourtant nous avons tellement de talents en Europe; la Belgique à elle seule compte plus de mille chercheurs actifs dans le domaine de l’IA.
Ensuite, il semble désormais vraisemblable que l’IA va impacter la société de multiples manières et ce à relativement court terme. Il y a donc un grand besoin d’informer assez rapidement et de manière abordable le plus grand nombre. L’effort de vulgarisation et de communication devient essentiel, d’autant plus que la quasi-totalité du matériel publié sur Internet est en Anglais et regorge de termes techniques voire de code informatique.
J’ai donc voulu, à travers ce blog, apporter ma contribution à l’effort de communication nécessaire, tout en écrivant sur ce qui me passionne ! Je vise à informer de manière claire et transparente un public curieux et mais pas nécessairement technique.
Il y a aussi une envie de créer, de basculer d’une vie professionnelle plutôt analytique vers une action plus créative, d’augmenter au lieu de réduire, de générer au lieu de synthétiser. Il m’a toujours été aisé d’être verbalement créatif, mais passer à l’écrit me semblait un obstacle insurmontable. Néanmoins, je ne veux pas finir comme Grand, le personnage du roman “La Peste” de Camus, qui veut écrire un livre mais n’arrive pas à dépasser la première phrase qu’il réécrit sans cesse…..
Voici donc une nouvelle aventure qui commence. Merci de m’accompagner.