Introduction à l’Intelligence Artificielle 2007 – Khaled Hadj Hamou, Samuel Bassetto
L’I.A. ça n’est pas… Ingénieur Adjoint MATRIX I.A. Les temps modernes
Démarche cognitive assistée par ordinateur L’I.A c’est plutôt… Démarche cognitive assistée par ordinateur Donner à une machine des moyens habituellement réservées à des êtres vivants: perception, raisonnement, décision, apprentissage, action http://www.symbio.jst.go.jp/PINO/OpenPINO/open_pino.html
historique Antiquitié à 1954, une émergence des machines « intelligentes » 1954: congrès à Darmouth, USA, Mc Carthy, Minsky, Shannon, Newell, Simon => programmes doués d’intelligence Quelques noms célèbres: Babbage (machine à calculer, 1842) Turing (machine universelle, 1936)... (apple) Wiener ( cybernétique, 1943) McCulloch & Pitt, Sutton, Barto, Haton,… Machine analytique: un dispositif d'entrée et de sortie ; un organe de commande gérant le transfert des nombres et leur mise en ordre pour le traitement ; un magasin permettant de stocker les résultats intermédiaires ou finaux ; un moulin chargé d'exécuter les opérations sur les nombres ; un dispositif d'impression. Turing: À l'origine, le concept de machine de Turing, inventé avant l'ordinateur, était censé représenter une personne virtuelle exécutant une procédure bien définie, en changeant le contenu des cases d'un tableau infini, en choisissant ce contenu parmi un ensemble fini de symboles. D'autre part, la personne doit mémoriser un état particulier parmi un ensemble fini d'états. La procédure est formulée en termes d'étapes très simples, du type : « si vous êtes dans l'état 42 et que le symbole contenu sur la case que vous regardez est '0', alors remplacer ce symbole par un '1', passer dans l'état 17, et regarder une case adjacente (droite ou gauche) ». La thèse Church-Turing postule que tout problème de calcul basé sur une procédure algorithmique peut être résolu par une machine de Turing. Cette thèse n'est pas un énoncé mathématique, puisqu'elle ne suppose pas une définition précise de procédure algorithmique. En revanche, il est possible de définir une notion de « système acceptable de programmation » et de démontrer que le pouvoir de tels systèmes est équivalent à celui des machines de Turing (Turing-complet). La mise en œuvre concrète d'une machine de Turing est réalisée avec les élements suivants : Un « ruban » divisé en cases consécutives. Chaque case contient un symbole parmi un alphabet fini. L'alphabet contient un symbole spécial « blanc » ('0' dans les exemples qui suivent), et un ou plusieurs autres symboles. Le ruban est supposé être de longueur infinie vers la gauche ou vers la droite, en d'autres termes la machine doit toujours avoir assez de longueur de ruban pour son exécution. On considère que les cases non encore écrites du ruban contiennent le symbole « blanc ». Une « tête de lecture/écriture » qui peut lire et écrire les symboles sur le ruban, et se déplacer vers la gauche ou vers la droite du ruban. Un « registre d'état » qui mémorise l'état courant de la machine de Turing. Le nombre d'états possibles est toujours fini, et il existe un état spécial appelé « état de départ » qui est l'état initial de la machine avant son exécution. Une « table d'actions » qui indique à la machine quel symbole écrire, comment déplacer la tête de lecture ('G' pour une case vers la gauche, 'D' pour une case vers la droite), et quel est le nouvel état, en fonction du symbole lu sur le ruban et de l'état courant de la machine. Si aucune action n'existe pour une combinaison donnée d'un symbole lu et d'un état courant, la machine s'arrête. Machines de Turing universelles Toute machine de Turing calcule le résultat d'une fonction partielle sur des chaînes de caractères composées des caractères de son alphabet. En ce sens, une machine de Turing se comporte comme un ordinateur avec un programme déterminé. Mais, comme Alan Turing le décrivit, on peut encoder la table d'actions d'une machine de Turing sous la forme d'une chaîne de caractères. On peut donc tenter de construire une machine de Turing qui suppose l'existence sur son ruban d'une chaîne de caractères encodant une table d'actions, suivie d'une chaîne de caractères constituant les données effectives du ruban, et calcule le contenu du ruban que la machine de Turing encodée aurait calculé. Comme Alan Turing le montra, il est possible de créer une telle machine de Turing et puisqu'elle peut simuler le comportement de n'importe quelle autre machine de Turing, on l'appelle « machine de Turing universelle ». Grâce à cet encodage des tables d'actions sous forme de chaînes de caractères, il devient en principe possible que les machines de Turing répondent à des questions à propos du comportement d'autres machines de Turing. Cependant, la plupart de ces questions sont indécidables, c'est-à-dire que la fonction en question ne peut pas être calculée par une machine de Turing. Par exemple, la question de savoir si une machine de Turing atteint à un moment donné un état d'arrêt ou ne l'atteint jamais pour une entrée particulière, ou pour toutes les entrées possibles, connue sous le nom de problème de l'arrêt, fut démontré comme étant indécidable par Turing. Le théorème de Rice montre que toute question non triviale sur le comportement ou la sortie d'une machine de Turing est indécidable. Si on élargit la définition pour y inclure les machines de Turing qui simulent des modèles de calcul Turing-complets, et non plus seulement les machines de Turing qui simulent directement d'autres machines de Turing, une machine de Turing universelle peut être relativement simple, et utiliser seulement quelques états et symboles. Par exemple, il existe une machine de Turing universelle de taille 2×18 (c'est-à-dire 2 états, et 18 symboles). Les plus petites machines de Turing universelles connues ont les tailles suivantes : 2×18, 3×10, 4×6, 5×5, 7×4, 10×3, 22×2. Ces dernières simulent un modèle appelé tag system. Une machine de Turing universelle est Turing-complète. Elle peut calculer toute fonction récursive, analyser tout langage récursif, et accepter tout langage partiellement décidable. Selon le théorème de Church-Turing, les problèmes solvables par une machine de Turing universelle sont exactement les problèmes solvables par un algorithme ou par une méthode concrète de calcul, en supposant une définition raisonnable de ces termes.
Des applications de l’I.A. Démonstration de théorèmes Traitement Automatique du Langage Naturel Traitement Automatique de la Parole Interprétation d’images & vision Robotique Jeux Systèmes d’aide à la décision (SE, SbC, classification, discrimination)
Introduction Le raisonnement L’apprentissage Quelques outils Plan SE RN DL SMA SàBdCas SàBdContraintes Introduction Le raisonnement L’apprentissage
Introduction 4 processus de définition d’un système intelligent: Search : résolution de problèmes – recherche d’une solution dans un espace de solutions Pattern Matching : reconnaissance de formes Inferencing or reasoning : raisonnement Knowledge representation : représentation des connaissances
Introduction Acquisition des données Apprentissage Représentation des connaissances inférence Processus de traitement symbolique Reconnaissance visuelle Reconnaissance vocale Reconnaissance de formes Résolution de pbs Explications IHM
Deux approches aux développements Introduction Deux approches aux développements Réaliser un esprit I.A. symbolique, systèmes à bases de connaissances Modéliser le vivant I.A. connexionniste Mc Culloch & Pitt Rosenblatt
Introduction Le raisonnement L’apprentissage Quelques outils Plan SE RN DL SMA SàBdCas SàBdContraintes Introduction Le raisonnement L’apprentissage
La résolution de problèmes Le raisonnement La résolution de problèmes P = {Initial, Opérateurs, Buts} Méthodes d’exploration des arbres En largeur En profondeur Développement en largeur : À la,profondeur i, on ouvre ts les nœuds à la profondeur i+1, jusqu’à ce que l’on tombe sur un but. Si ce n’est pas le cas, alors on recommence avec i<- i+1 Développement en profondeur : On explore un chemin en allant vers des profondeurs de degré croissants. En cas d’échec, on revient en arrière au niveau du nœud père et si possible on recherche un de ses successeurs
Le raisonnement Pb : l’arbre peut être un peu grand 1KAn pour la résolution d’un problème d’échec Nécessiter d’adopter des Stratégies de parcours de l’arbre Pb: nécessité de formaliser COMPLETEMENT le pb (temps non négligeable) Classe de problèmes formalisables et difficiles pour l’homme (ex: les lois, le diagnostique médical, automobile…)
Le raisonnement Ex trivial: {O} ? I But A C B A B C
Le raisonnement C A B B C C 11 21 A A B 12 22 B A A C C B 13 A 14 A 23 1 voie: 4 pas 2 voie: 3 pas + long si on passe passe en revue toutes les combinaisons d’empilage et dépilage C A B B C C 11 21 A A B 12 22 B A A C C B 13 A 14 A 23 B B C C
Le raisonnement Raisonnement itératif: À partir de I Branche (i) Appliquer les opérations x fois => B est atteint ? Sinon, on remonte à I et on passe à la branche (i+1) … Utilisation de connaissances « d’experts » sur l’arborescence méthodes heuristiques
Représentation des connaissances: Le raisonnement Représentation des connaissances: Connaissance est qualifiée (superficielle, profonde, spécifique, incertaine, précise, complète, incomplète…) Heuristique: confiance accordée à une connaissance CONFIANCE ? K ?
Le raisonnement Les formules logiques Logique des propositions: une proposition syntaxiquement vraie ou fausse Ex: VIN(Bordeaux) = VRAI ; VIN(Clio)=FAUX Vin() Prédicat ; Bordeaux, Clio Argument Assertion Assertion
Le raisonnement Les formules logiques Les prédicats peuvent avoirs plusieurs arguments Modèle(Couleur, Voiture) Liens entre les prédicats Négation ¬ Et ^ Ou v Implication => Equivalence Une formule bien formée permet de représenter un fragment de connaissance
Le raisonnement Insuffisance des formules des propositions Représenter que toutes les voitures ont un moyen de propulsion… (on ne va pas énumérer chaque voiture) Logique des prédicats du 1er ordre (quantification des variables) Même opérateurs que la logique des propositions Ajout d’une quantification des variables par les opérateurs :∀ (quelque soit) et ∃ (il existe) Ex: ∀y Q(y) signifie Quelque soit y du domaine, Q(y) est Vrai.
Le raisonnement « Modus Ponens » P et P=>Q, permet de dériver Q « Modus Tollens » ¬Q et P=>Q, permet de dériver ¬P Formule de Skolem: toute formule bien posée peut être transformée en un ensemble de clauses (écriture de la formule par des disjonctions) Ex: (∀x) (ENSGI(x) => Classepreparatoires(x) v CPP(x)) (∀x) (¬ ENSGI(x) v Classepreparatoire(x) v CPP(x)) P ¬P NIL toute formule bien posée = formule qui peut prendre les valeurs vraie ou faux
Le raisonnement Les limitations des raisonnements logiques du 1er ordre: Nécessité de formaliser complètement le pb. Pas d’appréciations nuancées Existances d’autres logiques: Multivaluées (Valeur de vérité > 2) Modales (modalités d’implication (possible, peut être…)) Floue Non monotones (une assertion vraie à un instant, ne le sera plus à l’instant suivant) De description (description de concepts)
Les réseaux sémantiques Le raisonnement Les réseaux sémantiques Permet de décrire des concepts, faire des liens (relations entre les concepts et les individus) Raisonner sur des réseaux sémantiques Modéliser le pb par un réseau Pb: trouver le mécanisme de mise en correspondance structurelle
Les réseaux sémantiques Le raisonnement Les réseaux sémantiques
Le raisonnement Une règle de production: “parcelle de connaissance” SI prémisses ALORS conclusion (coefficient) Si les prémisses sont vrais alors, la règle s’applique et la conclusion est vrai Base des systèmes experts
Les systèmes à base de règle Le raisonnement Les systèmes à base de règle Base de faits Moteur d’Inférence Base de règles
Le raisonnement Le raisonnement : chaînage avant Guidé par les données, il envisage les règles dans le sens conditions =>conclusions Détection des règles don’t la partie “prémisses” est vérifiée par la base de faits Sélection d’une règle parmi les candidats (résolution de conflits choix d’une branche de l’arbre) Application de la règle, les prémisses disparaîssent de la base de faits et les conclusions viennent l’enrichir
Le raisonnement Le raisonnement : chaînage arrière Raisonnement guidé par un but, il utilise les règles dans le sens conclusions->conditions : réduction du problème Détection des règles qui concluent sur le but recherché Sélection de la règle à envisager Application de cette règle et à considérer les prémisses comme de nouveaux sous buts à atteindres. S’ils sont déjà présent dans la BF, le travail est fait, sinon, ils sont empilés dans la pile des buts
Introduction Le raisonnement L’apprentissage Quelques outils Plan SE RN DL SMA SàBdCas SàBdContraintes Introduction Le raisonnement L’apprentissage
Apprentissage L’apprentissage et la mémoire La mémoire: processus de stokage et d’exploitation d’une connaissance antérieurement acquise Processus de mémorisation en 4 étapes: Information Acquisition Stockage Exploitation
Les différents types de mémoires Apprentissage Les différents types de mémoires Faits (sémantique) Savoir Quoi Mémoire déclarative Evènements (épisodique) mémoire Aptitudes procédurales Mémoire non déclarative Conditionnement Savoir Comment Apprentissage non associatif Apprentissage perceptif
Les différents types de mémoires: Apprentissage Les différents types de mémoires: A chaque mémoire, son mode d’apprentissage Ex:… Apport des neurosciences => Classification et caractérisation des mémoires Chez l’homme, l’empan mnésique est de 10E5 signes ! (=> la mémoire visuelle n’existe pas !) Etat actuel de la science, rien ne dit qu’il n’y a pas d’autres types de mémoires
L’accès aux mémoires: Apprentissage Par adresse/ contenu Accès séquentiel/parallèle Représentation statique/dynamique Représentation localisée/distribuée
Apprentissage L’apprentissage statistique: Classification Discrimination Catégorisation Régression Différents types d’apprentissage: Supervisé Non supervisé Par renforcement (semi-supervisé)
Apprentissage La notion d’agent: un agent est une entité qui perçoit son environnement à travers des capteurs et qui agit sur son environnement par des effecteurs. (capteurs et effecteurs peuvent être logiciels…) Les perceptions servent à agir mais également à apprendre L’agent apprend une correspondance entre les perceptions et les actions en évaluant et maximisant ses performances (renforcement) fournie par l’environnement Il peut y avoir un décalage entre l’action et le signal de l’environnement
Apprentissage Passer de D à F en suivant les actions {Droite, Gauche, Haut, Bas}, en utilisant les perceptions {x,y,recomp} où recomp=0 si (x,y)=(xf,yf),sinon recomp=-1, si (x,y) = mur => recomp = -10 D F
Apprentissage L’apprentissage par renforcement, un modèle d’agent Environnement action Etat récompense Agent
Apprentissage L’apprentissage par renforcement : S: ensemble des états A: ensemble des actions
Apprentissage L’apprentissage par renforcement : Hypothèse de markov : la probabilité de passer de l’état s à l’état s’ par l’action a dépend seulement de s et de a, pas des états précédents.
Apprentissage L’apprentissage par renforcement : Fonction objectif à maximiser, γ ds [0,1], fonction de rabais, pour tenir compte des récompenses passées et orienter le cheminement.
Apprentissage L’apprentissage par renforcement : - cas stationnaire
Apprentissage L’apprentissage par renforcement : Fonction de valeur d’un état s sous une politique π, l’objectif est de trouver π qui maximise cette fonction
Apprentissage L’apprentissage par renforcement : Fonction de valeur d’une action a, d’un état s sous une politique π, l’objectif est de trouver π qui maximise cette fonction
Apprentissage L’apprentissage par renforcement Conflit principal: exploration vs exploitation d’un résultat (différent de l’apprentissage supervisé où la récompense est immédiate) Notations: S: ensemble fini d’états A: ensemble fini d’actions Π est la politique qui associé à un état, une action à réaliser, elle est probabiliste Notations: Action a effectuer quand l’agent est à s Espérance des récompenses cumulées
Apprentissage L’apprentissage par renforcement : Equation de Bellman pour l’apprentissage
Apprentissage Problème: quelle action a mener à un instant t ? Moyenne réelle de la récompense consécutive à a Valeur estimée de Q*(a) à l’instant t
Apprentissage Problème: quelle action a mener à un instant t ? Greedy response => action choisie / Méthode excluant l’exploration des actions possibles, or la somme des optimums n’est pas forcément l’optimum des actions
Apprentissage Problème: quelle action a mener à un instant t ? ε-Greedy response => action choisie / ε->0 : méthode greedy, ε->1 : exploration pure
Apprentissage Problème: quelle action a mener à un instant t ? Greedy response => action choisie / ε-Greedy response Moyenne réelle de la récompense consécutive à a Valeur estimée de Q*(a) à l’instant t
Apprentissage Classification : mise en évidence des relations entre des objets et entre des objets et leurs paramètres. Discrimination : processus de classement, recherche de séparations entre des classes existantes. Notion de distances, de similarités. Objectif : produire une partition homogène de l’ensemble des objets
Introduction Le raisonnement L’apprentissage Quelques outils Plan SE RN DL SMA SàBdCas SàBdContraintes Introduction Le raisonnement L’apprentissage
Les réseaux de neurones Du neurone biologique au neurone formel Les outils techniques Les réseaux de neurones Du neurone biologique au neurone formel
Les réseaux de neurones Du neurone biologique au neurone formel Les outils techniques Les réseaux de neurones Du neurone biologique au neurone formel dendrite axone + Sommation Seuillage
Les outils techniques Les réseaux de neurones Du neurone biologique au neurone formel e1 Ei Si en
Les outils techniques Les réseaux de neurones Les connexions entre les neurones sont de tous types La plus utilisée, la structure en couches. L’idée est de faire afficher 6 lorsque le 6 est écrit ! 1 2 3 4 5 6 7 8 9
Les outils techniques Les réseaux de neurones Pour réaliser cette analyse, il faut discriminer les populations ‘0’, de ‘1’, de ‘2’,…de ‘9’ L’idée est de faire afficher 6 lorsque le 6 est écrit ! 1 2 3 4 5 6 7 8 9
Les outils techniques Les réseaux de neurones Structuration des réseaux Pondération des réseaux Apprentissage: Supervisé Non supervisé Orienté L’idée est de faire afficher 6 lorsque le 6 est écrit !
Les outils techniques Les réseaux de neurones Apprentissage: règle de Hebb: Wij(t+1)=Wij(t)+kSiSj La modification du poids est proportionnelle aux activités pré et post synaptiques Si et Sj = activation des neurones i et j Wij = poids de la connexion entre les neurones i & j
Les outils techniques Les réseaux de neurones Le perceptron : réseau à 1 couche Apprentissage supervisé, on réinjecte l’erreur: Wij(t+1)=Wij(t)+k(Di-Si)ej ΔWij=k(Di-Si)ej = erreur On ne prend en compte que l’erreur post synaptique e1 N1 S1,D1 N2 S2,D2 N3 S3,D3 N4 S4,D4 e7
Les outils techniques Les réseaux de neurones Limite du perceptron : il ne sait faire que de la discrimination de pb linéairement séparables. x1 w1 S=1 si x1w1+x2w2-N>0 S=0 si x1w1+x2w2-N<0 N S w2 x2 x2 S=1 Trouver w1 et w2 trouver l’équation de l’hyperplan séparant le problème ! S=0 x1
Les outils techniques Les réseaux de neurones L’idée est de décomposer la non linéarité en un succession de pb linéaires et de rajouter 1 couche ! D1: x1w1+x2w2-N=0 D2: x1w’1+x2w’2-N=0 H2 x2 Oui w1 1 w’1 N w2 1,5 x1 Non x2 N 1 H1 w’2
Les outils techniques Les réseaux de neurones Pb dans un réseau multicouches, déterminer le poids des couches intermédiaires de sorte à minimiser l’erreur de sortie, cependant, on ne connaît pas l’erreur ! Solution : rétropropager l’erreur à chaque niveau Algorithme de descente du gradient
Les outils techniques Les réseaux de neurones Objectif : atteindre à la sortie On diminue de manière incrémentale cette fonction: On retrouve la loi d’apprentissage du perceptron
Les outils techniques Les réseaux de neurones Objectif : propager l’erreur pour modifier les poids sur la couche cachée i On fait passer l’erreur post-synaptique en erreur présynaptique Il faut ensuite répartir cette erreur présynaptiques aux différentes branches
Les outils techniques Les réseaux de neurones Fonction de transfert = filtre sortie Entrée
Les outils techniques Les réseaux de neurones On positionne les neurones dans les plages d’entrées tels qu’ils réagissent à leur position Réseaux s’auto-organisants: Les neurones s’ajoutent là où il y a le moins d’activation
D’autres outils techniques Les systèmes à base de cas Les systèmes à base de contraintes Les systèmes multi agents Les systèmes logiques de description Les systèmes experts
Des applications (1/5) Oui, il y en a! ;-) ex, sur l’optimisation des opérations de ctrls vs opérations de production.
Une application (2/5) Influences possibles sur une machine de production Conception des gammes opératoires Influence des opérations précédentes Architecture produit Dérive de la machine de production C C C C C C Lot produit Conception de la gamme de contrôle Dérive de la machine de métrologie
Une application (3/5) Source d’information pour l’analyse en temps réel et prise de décision SPC GMAO Rebus Alarmes MES FDC Qualité prod Régulation Qualité mesures C C C C C C Lot produit
Scénario: le lot est mesuré « mauvais » Une application (4/5) Scénario: le lot est mesuré « mauvais » L’équipement précédent est arrêté… mais est ce que cette décision est juste ? vue la quantité d’influences possibles ? C C C C C C Lot produit
Une application (5/5) Pour traiter cette question, une négiciation s’engage entre des agents lots – des agents équipements (qui vérifient leurs états) et qui se mettent en défaut ou pas C C C C C C Lot produit
Très (trop) courte bibliographie Jean-Paul Haton, Marie Christine Haton, “L’intelligence Artificielle, Que sais-je ?”, N°2444, PUF, 1993, ISBN 2130455123 Sutton & Barton, “Reinforcement learning, an introduction”, Cambridge, MA, 1998 Jacques Ferber, “MultiAgents, vers une intelligence collective”, Ed InterEditions, Collection iia, 1995
L’apprentissage par rétropropagation du gradian Slides bonus
Les outils techniques Les réseaux de neurones Objectif : propager l’erreur pour modifier les poids notons alors
Les outils techniques Les réseaux de neurones Objectif : propager l’erreur pour modifier les poids Sur la dernière couche:
Les outils techniques Les réseaux de neurones Objectif : propager l’erreur pour modifier les poids sur la couche cachée i fi dépend de fj, de la couche supérieure On descend bien l’erreur d’une couche