Les schémas
-
Architecture numérique d’un réseau de neurones formels (Y. LeCun, 2015)
2. Architecture cognitive d’un système multi-agents (Cosmodrive, dans Le Pors 2010)
.
Définition des principaux concepts
En informatique, l‘Intelligence Artificielle IA a pour objet de décomposer les fonctions cognitives pour simuler des comportements humains dans les différentes activités : perception-acquisition, mémoire-apprentissage, raisonnement-pensée, expression-communication et exécution-décision.
Mais derrière ce programme général il faut distinguer l’approche de l’IA numérique (qui s’appuie sur les progrès de la puissance de calcul et de utilisation des bases de données massives) et l’approche de l’IA symbolique (qui s’appuie sur les progrès de la logique formelle et de la représentation de connaissances). Pour une véritable histoire de l’Intelligence Artificielle voir sur le site Interstices une série de 75 articles de qualité.
Important. La compréhension des principes des différentes modélisations de la décision actuellement proposées par l’IA est tout à fait possible. C’est cette compréhension qui permet ensuite de déconstruire beaucoup de mythes et légendes sur l’IA (voir Jeanneau 2019) et d’éviter les délires sur le fétichisme des objets numériques ou sur le « transhumanisme » (ce n’est pas, par exemple, parce qu’une machine peut apprendre à reconnaitre et à exploiter de façon agréable différentes formes d’émotions que cette machine serait dotée d’esprit critique et de créativité, voir Fallery 2019).
1. L’IA numérique ou la reconnaissance artificielle: réseaux de neurones et Machine learning
C’est l’approche de l’IA numérique (ou connexionniste) qui domine aujourd’hui la discipline : avec les succès toujours plus spectaculaires des réseaux de neurones formels pour la reconnaissance de formes, on voit ainsi apparaître la formule IA = Big data + Machine learning. Pour éviter les confusions il faudrait parler ici de Reconnaissance artificielle plutôt que d’Intelligence artificielle, la reconnaissance étant une des formes de l’intelligence (par exemple très développée de façon naturelle chez l’aigle ou la buse).
Un réseau de neurones formels est en fait une succession de matrices dont les coefficients w sont les poids « synaptiques » des neurones (voir le schéma dans Systèmes d’information et management, page 121). L’application d’un vecteur x en entrée d’une matrice (stimulus) entraîne une modification de la valeur de chaque coefficient w suivant la moyenne pondérée des entrées et une fonction de seuil (Somme, Sinus…); la modification se transmet ensuite aux coefficients connectés de la matrice suivante, jusqu’à obtenir un vecteur y en sortie (output). Le schéma ci-dessous représente un Perceptron à une seule couche, proposé par F. Rosenblatt en 1957. Cet exemple est tiré du diaporama de Y. LeCun 2015 (Yann LeCun a obtenu le Prix Turing en 2019 pour ses travaux sur les réseaux de neurones convolutifs) ;
On voulait que ce réseau à une seule couche apprenne à rendre y=+1 pour un A et y=-1 pour un B. Voici comment il a été entrainé en quatre étapes, sachant que les poids w° de départ étaient mis à 0. L’algorithme de correction automatique des erreurs en sortie (apprentissage de Hebb, par auto-association) est ici « Si on veut obtenir +1 en sortie alors ajouter la valeur du pixel au poids synaptique w. Si on veut obtenir -1 en sortie alors soustraire la valeur du pixel au poids synaptique w » :
Le Machine learning ou apprentissage automatique consiste donc à entrainer un réseau de matrices constitué, lequel peut apprendre en fonction des erreurs en sortie, par une « retro-propagation des erreurs », voir le schéma ci-dessous. Le concepteur du réseau doit notamment choisir une architecture de matrices et le meilleur pas de correction des poids synaptiques (algorithme de minimisation du gradient d’erreur, de Rumelhart-Hinton-Williams, voir Ezratty 2018, page 56) pour qu’ensuite ces poids synaptiques se règlent d’eux-mêmes de manière optimale et stable. Pour un exemple clair en finance voir P. Paquet 2002, pour une présentation des différents kits de développement actuels en Machine learning voir ce livre blanc de Smile 2018.
Un réseau hiérarchique à couches multiples peut alors raisonner grâce à un calcul de distance entre des vecteurs d’entrée : dans sa conférence Y. LeCun (2015) parle de « vectorisation du monde » (pour la conduite autonome le vecteur Moto est proche vecteur Voiture et ils sont différents du vecteur Piéton).
L’entrainement d’un réseau sur d’énormes masses de données devenant très coûteux en puissance de calcul, les recherches portent autant sur des processeurs spécialisés que sur de nouvelles architectures de matrices. Certaines architectures complexes amènent alors des chercheurs comme Y. Bengio (2019), lui aussi récipiendaire du prix Turing en 2019, à parler de « la révolution de l’apprentissage profond ». En fait, c’est la structure des réseaux qui est profonde (150 matrices dans Resnet, Microsoft Research 2015) ou complexe (Reseaux adverses GAN, Wintics 2018). Une des bonnes sources d’information sur cette question est toujours l’e-book en accès libre de O. Ezratty (Les usages de l’intelligence artificielle, 2021, attention 747 pages et 65 Mo)
Par la « simple » perception d’une masse de situations ponctuelles, les réseaux de neurones formels infèrent notamment des systèmes de décision par induction très intégrés (estimations boursières, profils de clients, prédiction des fraudes, analyse financière, assistants virtuels Chatbots, systèmes de recommandation, tarification algorithmique en temps réel, conduite autonome, reconnaissance faciale…), mais ils ne fournissent aucune règle ni même aucune justification pour l’interprétation, puisque les résultats obtenus en sortie ne sont pas explicables : dans un « profond » réseau de matrices (Deep Learning) les millions de modifications automatiques du potentiel de tous les neurones formels ne sont plus traçables.
Le débat épistémologique en a bien sûr été relancé : une analyse scientifique peut-elle se contenter de faire des prédictions valides « dans de nombreux cas », ou bien doit-elle chercher à expliquer les phénomènes observés et à fournir les conditions de sa propre réfutation ? Sur l’obligation pour l’IA d’être redevable des décisions qu’elle amène à prendre, voir Benavent 2016. Sur les dangers d’un « océan de corrélations », voir des exemples impressionnants sur site Spurious Correlation. Sur l’analyse des Big data, voir le débat lancé par D. Boyd et K. Crawford en 2011 (traduction). Sur les questionnements de la philosophie des sciences, voir Soler 2001 et voir Juignet 2015. Sur les questions d’éthique voir Ethique numérique et utilitarisme. Une des bonnes sources critiques sur la question est actuellement le site InternetActu.net.
2. L’IA symbolique ou la logique artificielle: l’exemple des Systèmes Multi-Agents et des Systèmes Experts
Au départ et jusqu’aux années 2000, c’est l’approche de l’IA symbolique (ou logique) qui avait fondé la discipline de l’IA (voir cet article de O. Ezratty 2018), notamment autour des travaux de H. Simon et A. Newell, voir Théorie de la rationalité limitée. De nombreux chercheurs plaident aujourd’hui pour le renouveau de cette approche et sa complémentarité avec l’IA numérique, dans un contexte où le Machine Learning semble commencer à montrer des limites: InternetActu 2017, Usine Nouvelle 2018, Le Figaro 2019.
- On considère ici le raisonnement comme une manipulation de symboles, en s’appuyant sur la logique formelle pour former des inférences (logique des propositions vraies ou fausses, logique des prédicats sur des variables quantifiables, logique floue avec des degrés de vérité…);
- On cherche ici à représenter les connaissances par des structures informatiques adaptées (au delà des classiques bases de données relationnelles) : réseaux sémantiques et graphes conceptuels, frames, parcours des arbres de décision, ontologies et moteurs de recherche sémantiques, bases de règles et systèmes experts, systèmes multi-agents…
Pour éviter les confusions il faudrait parler ici de Logique artificielle plutôt que d’Intelligence artificielle. Comme on ne peut pas ici faire le tour de toute la discipline de l’IA symbolique, on peut prendre deux exemples différents mais qui montrent ce que veut dire la simulation d’un raisonnement logique : les systèmes multi-agents et les systèmes experts.
2.1 Les systèmes multi-agents (voir l’incontournable ouvrage de J. Ferber 1995, en libre accès) se réfèrent aux modèles de la psychologie cognitive (voir par exemple Dissonance cognitive et Action raisonnée), mais ils ont l’ambition de simuler les comportements cognitifs « d’agents » informatiques (perception, scripts de situation, représentation « mentale », apprentissage de schèmes d’action…) sous la forme d’architectures cognitives (voir un exemple avec le schéma 2 ci-dessus en tête de page).
En informatique un « agent » est une entité autonome et communicante, capable de prendre seule des décisions en fonction de ses objectifs et d’informations limitées sur son environnement. Un système multi-agents relie alors des objets (passifs) et ces agents (actifs), ces derniers pouvant, suivant leurs rôles et un ensemble d’opérateurs, modifier les objets passifs (voir Chaib-Draa et al., 2001). Le test de différentes architectures cognitives devient alors possible :
- des agents simplement réactifs peuvent par exemple suffire pour simuler le comportement d’une foule. Dans la simulation numérique du vol d’une nuée d’oiseaux par exemple (voir Ferber, 1995), on peut assister à l’émergence d’un comportement collectif qui se construit sans aucune relation causes-effets et sans leader, mais seulement à partir de trois règles répulsion/orientation/attraction au niveau individuel des agents : (1) éviter d’entrer en collision, (2) voler dans la même direction que ses voisins, (3) rester proche de ses voisins. On peut, de la même manière, simuler l’attaque d’un prédateur (voir le schéma ci-dessous sur ce lien):
- mais des agents plus cognitifs (c’est à dire munis d’une représentation « mentale » (avec des buts, des désirs et des intentions) et ayant des interactions multiples au niveau individuel (coopération, collaboration, compétition, autonomie…) permettent de simuler la dynamique de véritables systèmes décentralisés de décision. Des structures globales émergent alors : on peut par exemple simuler les comportements à suivre pour gérer un trafic aérien ou pour conduire un véhicule (voir en tête de page le schéma 2 de Le Pors 2010). En systèmes d’information dans les organisations, on peut simuler par exemple la dynamique d’adoption d’une nouvelle chaîne logistique par des fournisseurs (voir J. Habib et F. de Corbière 2018) ou encore les jeux de pouvoirs dans une organisation (voir le logiciel SocLab développé par Sibertin-Blanc et al. 2010). Le modèle général d’un SMA d’agents communicants et situés est proposé par J. Ferber (1995) :
.
.
2.2 Les systèmes experts (simulant le raisonnement d’un expert dans un domaine de connaissance spécifique) ont connu leurs heures de gloire dans les années 1990. Même s’ils n’ont plus guère d’applications dans leur domaine d’origine du diagnostic (diagnostic pétrolier, diagnostic médical, diagnostic financier…), ils restent utilisés par exemple dans les centres d’assistance en ligne et surtout ils peuvent s’intégrer dans des solutions plus « analytiques », voir Ezratty (2018, page 37). Les systèmes experts ont beaucoup contribué à développer le concept de base de connaissances et ils permettent aussi de comprendre la logique de l’inférence. L’idée de départ est en effet de séparer :
- d’une part les connaissances relatives à un domaine, décrites dans une base de connaissances (contenant des règles et des faits) ;
- d’autre part le mécanisme d’exploitation de ces connaissances, qui est réalisé par un moteur d’inférence (programme qui choisit automatiquement l’enchaînement des règles à appliquer jusqu’à l’obtention d’un résultat, donc sans qu’un algorithme ait été précisé au départ).
Structure d’un système expert (dans Systèmes d’information et management, page 117)
.La base de connaissances est constituée de faits et de règles
- Dans la base de faits, les faits sont des connaissances brutes (des affirmations, des assertions, ce que l’on sait de la situation avant le début du raisonnement). Si l’on s’intéresse par exemple à un problème de diagnostic d’entreprise, les informations suivantes constituent des éléments de la base de faits : Statut juridique = SARL ; Capital social = souscrit ; Chiffre d’affaires annuel = 100 m€ ; Réseau commercial = bon…
- Dans la base de règles, la connaissance relative au problème est « extraite » de l’expertise dans le domaine et elle s’exprime sous forme de règles de production du type « Si condition Alors action« . Ce sont les règles qui indiquent comment utiliser les faits pour déclencher une autre règle, par exemple :
Si Ratio Fonds propres/Dettes à long terme < 1, alors Calculer la valeur de liquidation des actifs ;
Si Outil de production = récent ET Sous-traitant = qualifié, alors Risque industriel = faible.
Le moteur d’inférence est la composante du raisonnement simulé.
Le moteur d’inférence est la partie programmée du système expert, son rôle est de choisir les règles à appliquer aux faits, pour résoudre le problème, c’est à dire ici parcourir un arbre des règles jusqu’à trouver une règle d’arrêt qui va exprimer le résultat. Le moteur applique la logique des prédicats, essentiellement le principe de l’inférence logique (modus ponens) permettant, à partir du fait initial « A est vrai » et de la règle « si A alors B », de déduire alors que « B est vrai ».
A partir de l’examen des faits, le moteur va rechercher quelles sont les règles potentiellement applicables:
- si plusieurs règles sont applicables, un processus de sélection (appuyé éventuellement sur des métarègles ou sur des coefficients de vraisemblance associés) permet d’arbitrer et de définir la règle à appliquer en priorité ;
- l’application d’une règle permet alors, par inférence logique, de déduire de nouveaux faits et de trouver d’autres règles qui sont devenues applicables, et ceci jusqu’à l’obtention d’une règle finale d’arrêt telle que
Si Dettes à CT< 0,8xCapital ET Dettes LT = 0, alors Conclusion «Consolidation des dettes court terme».
Normalement c’est le moteur qui reconstitue lui-même à chaque fois une sorte d’algorithme différent, c’est-à-dire un enchaînement particulier des règles qu’il a été amené à appliquer (et dont on peut ensuite lire la trace, ce qui est très important pour une meilleure compréhension humaine d’un domaine). En fait le moteur, souvent programmé en LISP ou en Prolog, parcourt un arbre de toutes les règles applicables (des milliers) en cherchant une règle finale d’arrêt à l’extrémité d’une branche. Pour que ce parcours ne soit pas trop long, on peut être amené à définir des métarègles pour « couper l’arbre » en dirigeant le moteur vers une ou plusieurs classes de règles applicables (mais alors au prix d’une sorte de reconstitution d’un algorithme, par ces métarègles définies par le concepteur).
.
Voir les autres théories utilisées dans le développement des SI
Voir la carte générale des théories en management des S.I.
RÉFÉRENCES sur l’IA Numérique
LeCun Y. (2015), Leçon inaugurale au collège de France « L’apprentissage profond, une révolution en intelligence artificielle : 150 diapos! (et vidéo en ligne)
Ezratty O. (2018), Les avancées de l’intelligence artificielle (522 pages très riches, nombreuses illustrations)
B. Chentouf, A. Rouen (2019), Deep Learnig, usages et solution, 62 pages, Livre Blanc SMILE
Paquet P. (2002), L’utilisation des réseaux de neurones en finance, papier de recherche IAE Orléans
Benavent C. (2016), Big Data, algorithmes et marketing : rendre des comptes, Statistique et société, Vol. 4, N° 3
Juignet P. (2015). Une machine peut-elle penser ? Philosophie, science et société.
Soler L. (2001), Certitudes, incertitudes et enjeux de la philosophie des sciences contemporaine , Le Portique n° 7
RÉFÉRENCES sur l’IA Symbolique
Ferber J. (1995) Les Systèmes Multi Agents : vers une intelligence collective, InterEditions, Ouvrage en ligne (500 pages)
Ezratty O. (2018), Que devient l’IA symbolique ? Post de blog
le lien
Sussan R. (2017), Les limites du deep learning et comment les dépasser, InternetActu
B. Chaib-draa, I. Jarras, B. Moulin (2001), Agent et systèmes multiagents, Chapitre, Hermès
Le Pors T. (2010), Simulation cognitive de la prise de décision d’experts ; application au trafic maritime. Thèse Université de Bretagne Sud
Habib, J., de Corbière, F. (2018), de l’intérêt de combiner étude(s) de cas et simulation multi-agents. Systèmes d’information & management, volume 23,(3)