330 likes | 547 Views
Techniques de l’intelligence artificielle. 11 Mars 2014 Olivier.georgeon@liris.cnrs.fr http:// www.oliviergeorgeon.com. t. Déroulement de l’UE. Responsable de l’UE: Alain MILLE. Evaluation: - Projets: 2/3 - Exam: 1/3. Initiation à l’intelligence artificielle développementale.
E N D
Techniques de l’intelligence artificielle 11 Mars 2014 Olivier.georgeon@liris.cnrs.fr http://www.oliviergeorgeon.com t oliviergeorgeon.com
Déroulement de l’UE Responsable de l’UE: Alain MILLE Evaluation: - Projets: 2/3 - Exam: 1/3 oliviergeorgeon.com
Initiation à l’intelligence artificielle développementale 11 Mars – 1 avril 2014 (10h) Olivier.georgeon@liris.cnrs.fr http://www.oliviergeorgeon.com/ oliviergeorgeon.com
Vieux rêve de l’IA Instead of trying to produce a program to simulate the adult mind, why not rather try to produce one which simulates the child's? If this were then subjected to an appropriate course of education one would obtain the adult brain. Presumably, the child brain is something like a notebook […]. Rather little mechanism, and lots of blank sheets. […]. Our hope is that there is so little mechanism in the child brain that something like it can be easily programmed. The amount of work in the education we can assume, as a first approximation, to be much the same as for the human child. Computing machinery and intelligence (Alan Turing, 1950, Mind, philosophy journal). oliviergeorgeon.com
Est-ce même possible? Non ? Oui ? • Théories spiritualiste de la conscience. • Théories de l’ouverture causale de la réalité physique. • Trop complexe. • … • Théorie matérialiste de la conscience • (Julien Offray de La Mettrie, 1709-1751). • La conscience comme processus computationnel • (Chalmers 1994) http://consc.net/papers/computation.html oliviergeorgeon.com
Plan • Exemple • Demod’apprentissage développemental. • Outils théorique • Poser le problème. • La question de l’auto-programmation. • Travaux pratiques • Développez votre agent auto-programmant. oliviergeorgeon.com
Couplage agent/environnement 6 “expériences” 2 résultats 10 Interactions (avec valeurs) i1 (5) i2 (-10) 0 1 i3 (-3) 0 i4 (-3) 0 i5 (-1)i6 (-1) 1 0 i7 (-1) i8 (-1) 0 1 i9 (-1) i10 (-1) 0 1 I existe des régularités séquentielles hiérarchiques d’interaction, par exemple: Après i8 , i8 peut à nouveau être effectué. • Après i7 , tentatives de i1 or i2 provoque plus souvent i1 que i2 . Après i8 , séquence i9, i3, i1 peut souvent être effectuée. • Après i9, i3, i1, i8 , i4, i7, i1 peut souvent etre effectuée. oliviergeorgeon.com
Exemple 1: • Avance / collision (5) (-10) • Tournes gauche/droite (-3) • Touche droite/devant/gauche (-1) Bump: Touch: oliviergeorgeon.com
Outils théoriques • Philosophie de l’esprit. • Epistémologie (théorie de la connaissance) • Psychologie développementale. • Biologie (autopoiese, enaction). • Neurosciences. oliviergeorgeon.com
Philosophie : Est-ce possible? • John Locke (1632 – 1704) • « Tabula Rasa » • La Mettrie (1709-1751). • « La matière peut penser » • David Chalmers • A ComputationalFoundation for the Study of Cognition (1994) • Daniel Dennett • Consciousnessexplained (1991) • Libre arbitre, choix individuel, motivation propre, déterminisme. oliviergeorgeon.com
Idées philosophiques clés pour l’IAD • La cognition comme computation au sens large. • Dispositif causal • Exemple: un réseau de neurone avec de la chimie (neurotransmetteurs, hormones etc). • Le déterminisme n’est pas incompatible avec le libre arbitre. • Ne pas confondre déterminisme et prédictibilité. • Hervé Zwirn (Les systèmes complexes, 2006) oliviergeorgeon.com
Epistémologie (que puis-je connaître?) • Concept d’ontologie • L'étude de l'être en tant qu'être • Aristote(384 – 322 avant JC). • Onto: « étant », Logos: discours. • c'est-à-dire l'étude des propriétés générales de tout ce qui est. • La réalité en tant que telle est inconnaissable • Emmanuel Kant, (1724 – 1804) oliviergeorgeon.com
Idées épistémologiques clés pour l’IAD • Implémenter des systèmes sans présupposés ontologiques. • Agents agnostics (Georgeon 2012). • L’agent ne pourra jamais connaître son environnement tel que nous le voyons. • Mais avec présupposés interactionnels • Prédéfinir les possibilités d’interaction entre l’agent et son environnement • Laisser l’agent construire sa propre ontologie de l’environnement au fur et à mesure de son expérience d’interaction. oliviergeorgeon.com
Psychologie développementale Comment puis-je connaitre? • Apprentissage développemental • Jean Piaget (1896 – 1980) • Téléologie / principes motivationnels • ”l’individu s'auto-finalise de manière récursive”. • Ne pas séparer perception et action a priori: • Notion de schème sensorimoteur • Epistémologie contructiviste • Jean-Louis Le Moigne (1931 - ) • Ernst vonGlasersfeld. • La connaissance est une adaptation fonctionnelle. oliviergeorgeon.com
Etapes développementales indicatives • Mois 4: prédictions « Bayésiennes ». • Mois 5: modèles des mouvementsdes mains. • Mois 6: reconnaissance des objets et des visages. • Mois 7: persistance des objets. • Mois 8: modèles dynamiques des objets. • Mois 9: usage d’outils(amène une tasse à la bouche) Comportements de pointage d’objets. • Mois 10: Imite les mouvements, rampe. • Mois 11: marche avec l’aide d’un adulte. • Mois 15: marche seul. oliviergeorgeon.com
Idées psychologiques clés pour l’IAD • Raisonner sur les « intéractions » plutôt que séparer perception et action. • Définir un niveau intermédiaire de l’intelligence: • Cognition sémantique (Manzotti & Chella 2012) Raisonnement et langage Haut niveau Cognition sémantique Niveau intérmédiaire Adaptation stimulus-réponse Bas niveau oliviergeorgeon.com
Théorie de la vie (pourquoi connaître?) • Autopoiese • auto: soi, poièse: création • Maturana (1972) • Couplage structurel agent/environnement. • Domaine relationnel (espace des possibilités d’interaction) • Homéostasie • Régulation de l’état interne • Motivation propre • Théorie de l’enaction • « to enact » mettre en œuvre. • Auto organisation par interaction avec l’environnement. • EnactiveArtificial Intelligence. • Froeze and Ziemke (2009). oliviergeorgeon.com
Idées Enactivistes clés pour l’IAD • L’autonomie constitutive est nécessaire pour la construction de sens. • Evolution des possibilités d’interaction au cours de la vie du système. • Individuation de la façon de voir le monde. • Faire des systèmes capables de s’auto-programmer. • Les données apprises ne sont pas de simples valeurs de paramètres ou de pondération, ce sont des données exécutables. oliviergeorgeon.com
Neurosciences Multiples niveaux d’analyse Beaucoup de plasticité ET beaucoup de pré-câblage oliviergeorgeon.com
Neuroscience • Connectome du C. Elegans: 302 neurones. Connectome entièrement inné plutôt qu’acquis par l’expérience oliviergeorgeon.com
Humanconnectome http://www.humanconnectomeproject.org oliviergeorgeon.com
Neurosciences • Exemples de cerveaux de mammifères • Il n’y a pas de rupture qualitative: les fonctions cognitives humaines (langage raisonnement) sont basées sur des fonctions cérébrales également existantes chez d’autres mammifères. Mais il y a des différences innées. • Le cerveau sert à organiser les comportements dans le temps et l’espace. oliviergeorgeon.com
Idées de neurosceinces clés pour l’IAD • Renoncer à l’espoir que ce sera simple. • Commencer à un niveau assez élevé et descendre si ca ne marche pas ? • Le vivant peut être source d’inspiration • Architecture cognitive bio-inspirée. • Importance de la capacité de simulation interne de comportements. oliviergeorgeon.com
Les idées clé des idées clé • Le but est d’apprendre (découvrir, organiser et exploiter) des régularités d’interaction dans le temps et l’espace pour favoriser des critères innés (survie, etc.). • Sans encoder de connaissances ontologiques présupposées. • En permettant une certaine autonomie constitutive(auto-programmation). oliviergeorgeon.com
Exemples oliviergeorgeon.com
Couplage agent/environnement 6 “expériences” 2 résultats 10 Interactions (value) i1 (5) i2 (-10) 0 1 i3 (-3) 0 i4 (-3) 0 i5 (-1)i6 (-1) 1 0 i7 (-1) i8 (-1) 0 1 i9 (-1) i10 (-1) 0 1 I existe des régularités séquentielles hiérarchiques d’interaction, par exemple: Après i8 , i8 peut à nouveau être effectué. • Après i7 , tentatives de i1 or i2 provoque plus souvent i1 que i2 . Après i8 , séquence i9, i3, i1 peut souvent être effectuée. • Après i9, i3, i1, i8 , i4, i7, i1 peut souvent etre effectuée. oliviergeorgeon.com
Exemple 1: • Avance / collision (5) (-10) • Tournes gauche/droite (-3) • Touche droite/devant/gauche (-1) Bump: Touch: oliviergeorgeon.com
Exemple de trace oliviergeorgeon.com
Exemple 2 oliviergeorgeon.com
Travaux dirigés 1ere partie. Salles TP6 et TP6 Groupes de 2 oliviergeorgeon.com
Exercice • Deux expériences possibles E= {e1,e2} • Deux résultats possibles R = {r1,r2} • Quatre interactions possibles E x R = {i11, i12, i21, i22} • Environnements • env1: e1 -> r1 , e2-> r2 (i12 et i21 ne se produisent jamais) • env2: e1 -> r2 , e2 -> r1 (i11et i22 ne se produisent jamais) • Systèmes motivationnels : • mot1: v(i11) = v(i12) = 1, v(i21) = v(i22) = -1 • mot2: v(i11) = v(i12) = -1, v(i21) = v(i22) = 1 • mot2: v(i11) = v(i21) = 1, v(i12) = v(i22) = -1 • Implémenter un agent qui apprenne à effectuer les interactions positives sans connaître à priori son système motivationnel (mot1 ou mot2) ni son environnement(env1ou env2). • Produire un rapport d’analyse de comportement basés sur les traces. oliviergeorgeon.com
Pas de connaissance de l’environnement a priori Agen{ … public ExperiencechooseExperience(){ If (env == env1 and mot == mot1) or (env == env2 and mot == mot2) return e1; else return e2; } } oliviergeorgeon.com
Implémentation public staticExperiencee1 = new experience(); Experience e2 = new experience(); public staticResultr1 = new result(); Resultr2 = new result(); public static Interaction i11 = new Interaction(e1,r1, 1); etc. Public staticvoid main() Agent agent = new Agent(); Environnement env = new Env1(); // Env2(); for(int i=0 ; i < 10 ; i++) e = agent.chooseExperience(r); r = env.giveResult(e); System.out.println(e, r, value); Class Agent public ExperiencechooseExperience(Result r) Class Environnement public ResultgiveResult(experiencee) Class Env1 Class Env2 Class Experience Class Result Class Interaction(experience, result, value) public intgetValue() oliviergeorgeon.com