=Paper=
{{Paper
|id=Vol-2133/cnia-paper3
|storemode=property
|title=Apprentissage par analogies grâce à des outils de la théorie des catégories(Learning through analogies using tools from category theory)
|pdfUrl=https://ceur-ws.org/Vol-2133/cnia-paper3.pdf
|volume=Vol-2133
|dblpUrl=https://dblp.org/rec/conf/rjcia/AmarBCELPP18
}}
==Apprentissage par analogies grâce à des outils de la théorie des catégories(Learning through analogies using tools from category theory)==
Apprentissage par Analogies grâce à des outils de la Théorie des Catégories L. Cordesses1 O. Bentahar1 K. Poulet1 A. Laurent1 S. Amar1 T. Ehrmann1 J. Page2 1 Renault Innovation Silicon Valley, 1215 Bordeaux Drive, Sunnyvale, 94089 CA, USA 2 CNRS-Université Paris Diderot, Laboratoire SPHERE, 5 rue Thomas Mann, 75205 Paris cedex 13 {lionel.cordesses, kevin.poulet, thomas.ehrmann}@renault.com, {aude.laurent, sarah.amar, omar.bentahar}@nissan-usa.com, ju.page@hotmail.fr Résumé moins en moins de données. Les solutions à base d’appren- tissage par renforcement, avec des réseaux de neurones par Les algorithmes d’apprentissage automatique utilisés pour exemple, ont fait leurs preuves. Cependant, ces méthodes à contrôler des systèmes physiques doivent pouvoir ap- la pointe de la recherche ont besoin de beaucoup de don- prendre rapidement, avec peu d’exemples, notamment nées d’entraînement, données que l’on risque de ne pas lorsque le coût ou la durée des expérimentations sont trop pouvoir obtenir si l’on respecte des contraintes budgétaires importants. Un tel objectif peut être atteint en utilisant des et temporelles. concepts provenant des sciences cognitives et des sciences sociales, et formalisés grâce à des outils mathématiques de Nous proposons ici une approche complémentaire à l’ap- la théorie des catégories et de la théorie du contrôle. prentissage par renforcement et aux réseaux de neurones Ce formalisme aboutit à un système d’apprentissage auto- pour permettre aux machines d’apprendre rapidement avec matique qui accumule les connaissances, puis les trans- des puissances de calcul réduites. L’objectif est d’être aussi pose à de nouvelles configurations. Cette approche est performant que les solutions existantes avec environ un illustrée sur un système cyber-physique (un circuit de voi- pour cent des données et du temps d’entraînement usuels. tures), et sur les jeux Atari 2600. L’aspect novateur de notre travail repose sur l’utilisation d’outils élémentaires de la théorie des catégories — une Mots Clef branche des mathématiques datant des années 1940, assez peu utilisée en apprentissage automatique (en anglais : Ma- Apprentissage Automatique, Théorie des Catégories, Atari chine Learning) — pour formaliser notamment la notion 2600, Circuit de voitures miniatures. d’analogie. La théorie des catégories a été conçue en lien Abstract avec la topologie algébrique, pour permettre de transférer des théorèmes et des concepts d’une branche des mathé- Machine learning algorithms for controlling devices need matiques à une autre [28]. Nous utilisons ces outils pour to learn quickly, with few trials, when limited by the dura- avoir un cadre générique pour notre approche d’apprentis- tion and cost of experiments. Such a goal can be attained sage automatique, ce qui permet, par exemple, de formali- with concepts borrowed from Cognitive Science and Social ser rigoureusement le transfert de connaissances. Science, and formalized mathematically using tools from Par ailleurs, nous pensons qu’il est fondamental de recher- Category Theory and Control Theory. cher des structures dynamiques pour construire une intel- This leads to a machine learning system that accumulates ligence artificielle (IA) adaptative. Les sciences sociales et knowledge, then transposes it to new configurations. Illus- les sciences cognitives montrent que les structures dyna- trations of this approach are presented on a cyber-physical miques cadrent la cognition (cf. [22]), les langues (cf. [8]) system – the slot car game – and also on Atari 2600 games. et les interactions sociales (cf. [26]). En effet, ces structures Keywords permettent aux humains d’agir et de s’adapter en fonction des expériences passées. Machine Learning, Category Theory, Atari 2600, Slot Car. Dans cet article, nous commençons par étudier les mé- thodes d’apprentissage automatique pour les processus dé- cisionnels markoviens (MDP) appliqués à des jeux. En- 1 Introduction suite, nous expliquons les motivations qui supportent notre Les algorithmes qui contrôlent des systèmes cyber- approche inspirée des sciences sociales. Grâce au concept physiques doivent apprendre comment opérer rapidement d’équivalence de catégories, nous décrivons des classes de dans un environnement partiellement connu, le tout avec de problèmes non bijectifs, sur lesquels nous centrons notre approche. Il en résulte un comportement innovant de l’al- renforcement inverse [13], et l’apprentissage par imitation gorithme de contrôle. Enfin, nous illustrons cette approche [20] peuvent également être utilisés pour entraîner un agent avec des résultats sur un circuit de voitures miniatures, et au comportement plus humain, qui a une efficacité et une sur des jeux vidéo Atari 2600. Notre méthode utilise égale- réussite proches de celles des méthodes susmentionnées. ment le savoir accumulé tout au long des expériences pas- Les « Schema Networks » [11] font un pas supplémen- sées, et peut donc servir à valider des concepts modernes taire en direction du transfert de connaissances et de la ré- tels que le « lifelong machine learning » [5]. duction des besoins en données et en puissance de calcul pour l’entraînement, en utilisant un simulateur physique et 2 Travaux antérieurs en travaillant à un niveau plus élevé avec des entités plu- tôt que des pixels. Cette méthode obtient le même score Nous avons décidé de tester notre approche sur un cir- qu’un joueur humain sur Breakout (30 points) avec 100 000 cuit de voitures miniatures et sur des jeux vidéo Atari, car images d’entraînement. ces deux expériences impliquent de prendre des décisions, tâche plus complexe que la classification pure. Dans ce 3 Sciences Sociales, Sciences Cogni- contexte, les approches d’apprentissage automatique appli- quées à la prise de décision reposent souvent sur de nom- tives et Théorie du contrôle pour breux essais, ce qui implique de grandes quantités de don- l’apprentissage automatique nées d’entraînement et requiert une grande puissance de calcul. Pour atteindre notre objectif de réduction des besoins en D’autre part, les jeux sont devenus un banc d’essai clas- données d’entraînement et en puissance de calcul, nous sique pour les algorithmes d’IA. Les circuits de voitures avons basé notre IA sur des concepts de haut niveau déjà miniatures, par exemple, sont utilisés pour évaluer la per- étudiés par différentes sciences. formance des systèmes de prise de décision. Le traitement Tout ce qui est produit par l’humain contient, en partie, d’images basé sur de l’apprentissage par renforcement pré- une certaine structure humaine. Par exemple, lorsque des senté dans [12] estime la position de la voiture sur le cir- humains conçoivent un jeu, ils utilisent des règles impli- cuit grâce à un perceptron multicouche à convolution. L’en- cites qui leur permettent de jouer et de s’amuser. Cela si- traînement prend 12 h et l’apprentissage de la stratégie de gnifie que ces jeux, comme les autres créations humaines, contrôle requiert 30 min supplémentaires. La solution plus contiennent un minimum de structure pour que le joueur rapide proposée par [24] pour le même système de circuit humain puisse les comprendre, et ils contiennent égale- de voitures autonome dépend d’accéléromètres et d’un mi- ment de la dissonance cognitive pour les rendre attractifs crocontrôleur rajoutés sur la voiture pour d’abord créer une [6][25][27]. La plupart des problèmes réels possèdent cette cartographie du circuit, puis ensuite contrôler la vitesse de ambivalence. la voiture. Parmi les structures clés, on retrouve les schémas cognitifs Les jeux vidéo sont aussi devenus de plus en plus utiles universels auxquels les humains s’attendent quant aux ob- pour fournir une représentation cyber-physique de notre jets et à l’environnement : état intérieur (intention et affect), environnement. Même des systèmes anciens, tels que la propriétés matérielles (gravité, conservation de la forme, console Atari 2600, fournissent une grande diversité de si- continuité de la trajectoire) ou propriétés naturelles non- tuations, allant des labyrinthes (jeux de style Pac-Man) et humaines (mouvement et croissance). Ces schémas cogni- jeux d’action (tel que Space Invaders) aux jeux de balle et tifs sont acquis durant l’enfance quand l’enfant découvre raquette (Breakout, Pong). Malgré le fait que ces différents le monde au fil de ses mouvements et en utilisant ses sens problèmes réclament des stratégies variées pour être réso- [22]. lus par un joueur humain standard, ils impliquent tous des Nous supposons qu’une IA ayant la connaissance de ces prises de décision et ont donc été modélisés par des MDPs schémas cognitifs serait capable de prendre les bonnes dé- [18]. Ce cadre permet l’implémentation de nombreuses cisions pour jouer, et de transférer les connaissances ac- méthodes différentes. Certains travaux, tel que celui pré- quises à une grande variété de problèmes similaires. senté dans [18], utilisent une image de l’aire de jeu remise 3.1 Entités dans le temps et dans l’espace à l’échelle en entrée d’un « deep Q-network » (DQN), avec pour but de sélectionner la meilleure action à jouer. Une Nous avons conçu notre IA pour qu’elle raisonne au niveau autre possibilité est l’utilisation de méthodes classiques de syntaxique et non au niveau de l’échantillon ou du pixel. recherche et de planification, telles que le « Iterated Width D’une certaine manière, cela correspond à raisonner au ni- algorithm » [16] ou les algorithmes de parcours d’arbre veau du morphème en linguistique, défini dans [8] comme tels que l’algorithme de recherche arborescente Monte- le plus petit élément significatif d’un langage. Nous appe- Carlo [21] pour calculer la meilleure action possible. L’ap- lons entités les éléments de base de ce niveau syntaxique. prentissage par renforcement peu profond [15] repose sur Ces entités sont détectées par des outils classiques de trai- une représentation linéaire simplifiée, mais obtient cepen- tement du signal et d’apprentissage automatique. Elles sont dant des résultats similaires aux méthodes non-linéaires. comme les objets de notre vie de tous les jours : des tron- Enfin, l’apprentissage maître-élève [3], l’apprentissage par çons de circuit (lignes droites et virages), des voitures, des balles, des raquettes, des murs. Elles sont organisées géo- 4 La Théorie des Catégories comme métriquement dans un espace et peuvent être décrites, par exemple, par les coordonnées cartésiennes de leur boîte en- cadre pour des analogies non bijec- globante. tives Les données caractérisant ces entités sont collectées à L’un des outils les plus efficaces dont dispose l’humain chaque échantillon de temps pour construire des modèles pour évoluer dans une situation inconnue est sa capacité dynamiques décrits par les équations d’état (1) à temps dis- à faire des analogies entre cette nouvelle situation et ses cret pour un système d’ordre Nd , où x est le vecteur d’état, expériences passées. Nous pressentons qu’une IA capable y la mesure, u la commande, A la matrice d’état, B la ma- d’établir des analogies, et sachant, par exemple, comment trice de commande, C la matrice d’observation, D la ma- jouer au jeu Breakout sera capable de transposer ses capa- trice d’action directe, et k l’indice de l’échantillon. cités au jeu Pong, même si les aires de jeu et les règles ne sont pas identiques, à l’instar d’un joueur de tennis qui sau- x(k + 1) = Ax(k) + Bu(k) rait au moins partiellement comment manier une raquette (1) de badminton même s’il n’a jamais pratiqué ce sport. y(k) = Cx(k) + Du(k) Les situations où deux problèmes ont exactement le même nombre d’états et des structures isomorphes sont rares. La 3.2 Le Moi au sein du monde notion d’analogie semble alors adaptée au rapprochement de structures conceptuellement proches mais mathémati- Une étape clé pour se forger une identité propre lors du quement différentes. Or, la plupart des tentatives de for- développement de l’enfant est appelée le stade du miroir. malisation de cette notion sont fondées sur une perspec- Nous avons conçu notre IA pour qu’elle commence à ce tive structuraliste qui s’articule autour de la théorie des en- stade en identifiant le « Moi » parmis toutes les entités. sembles via le concept d’isomorphisme qui préserve les Cette identification du « Moi » est réalisée en utilisant des structures des ensembles. Il existe des outils mathéma- résultats de la théorie du contrôle, à savoir le critère de tiques pour identifier des structures non isomorphes tels contrôlabilité d’un système dynamique, comme présenté, que l’équivalence de catégories en théorie des catégories par exemple, dans [10]. Le système est complètement [17]. En effet, celle-ci apparaît comme un cadre de travail contrôlable si et seulement si (ssi) la matrice de contrôla- plus naturel pour aborder la notion structuraliste d’analo- bilité CNd , [B|AB| . . . |ANd −1 B] est de rang Nd . Nous gie qui considère que les relations entre éléments sont plus définissons le « Moi » comme étant l’entité qui vérifie le essentielles que les éléments eux-même pour définir des critère de contrôlabilité. analogies [9]. 1 . Comme le « Moi » et son environnement peuvent tous les Dans les problèmes qui reposent sur la théorie des en- deux changer, les modèles établis peuvent ne plus être va- sembles, l’identification se réduit aux relations d’identité lides. En s’inspirant d’une idée provenant de l’approche et aux cas bijectifs, tandis que la théorie des catégories ap- scientifique décrite dans [23], selon laquelle il doit être porte des descriptions plus riches des objets, ce qui permet possible d’invalider un système scientifique empirique par de nouvelles sortes d’identifications. Dans le cadre de cet l’expérience, nous avons conçu notre algorithme de telle article, nous nous limitons à des concepts très élémentaires sorte à ce qu’il puisse réfuter ses propres modèles pour les de la théorie des catégories, qui pourraient être décrits en remplacer par de meilleurs. Le critère pour cette décision termes ensemblistes, tout comme les situations que l’on ex- est basé sur l’erreur entre les prédictions (basées sur le mo- pose 2 . L’apport de ces travaux est le changement de pers- dèle) et les mesures. Cette remise en cause ne s’effectue pective conceptuelle que nous croyons prometteur pour le pas seulement pendant la phase d’apprentissage mais éga- domaine de l’apprentissage automatique 3 . lement pendant la phase de test. Théorie des catégories. Une catégorie C est une collec- Une fois que le « Moi » est identifié, notre IA classifie les tion d’objets et de morphismes (ou flèches) entre certains entités restantes entre amis et ennemis, d’une manière si- de ces objets, munie d’une composition de morphismes, et milaire à l’apprentissage par renforcement. Elle suit en- peut ainsi être assimilée à un graphe orienté. Si A et B sont suite une simple stratégie de survie : essayer d’aller vers ses amis, à part si un ennemi est proche du « Moi », auquel 1. Une autre approche pourrait être l’utilisation de la théorie des mo- dèles, plus spécifiquement du concept d’équivalence élémentaire [4] dans cas la première chose à faire est de s’enfuir. la perspective de doter l’IA de raisonnements logiques. Pour un pano- En résumé, notre IA prend en compte les récompenses de rama philosophique des concepts d’analogie et de raisonnement analo- gique, voir [1] son environnement pour classifier les entités, comme en ap- 2. Ce qui n’est pas étonnant puisque la théorie des ensembles et la prentissage par renforcement. Comme dans des approches théorie des catégories, en tant que propositions mathématiques fondation- scientifiques empiriques, elle met à jour les classifications nelles de toutes les mathématiques, se fondent mutuellement l’une l’autre. et les modèles quand les mesures ne sont pas compatibles Chaque concept catégorique doit pouvoir être décrit en termes ensem- blistes et réciproquement. avec les prédictions. Enfin, elle décrit au moins une entité 3. Dans une perspective bayésienne, [7] utilise des catégories de pro- comme étant le « Moi », avec toutes les conséquences que babilités conditionnelles : les objets sont des espaces mesurables et les cela implique pour sa survie. flèches des noyaux de Markov. des objets de C, la flèche a : A → B est un isomorphisme f 0 : C 0 → {0, 1} valent 1 si les trajectoires des deux entités si elle est inversible, i.e s’il existe une flèche b : B → A, d’une paire s’intersectent, et 0 sinon. Ce qui est observé du telle que ba = IdA et ab = IdB . Dans ce cas, les objets A Moi d’une situation peut alors être supposé du moi d’une et B sont isomorphes. Les isomorphismes définissent une autre situation par transfert de connaissances. Des observa- relation d’équivalence sur la classe des objets de C, pour tions ultérieures permettront alors de confirmer ou infirmer laquelle on note C/ ' son quotient. Aussi, si F : C → C 0 ces suppositions. est ce qu’on appelle une équivalence de catégories, celle- Une explication plus détaillée et approfondie de la théorie ci induit une bijection F 0 : (C/ ') → (C 0 / ') entre les des catégories peut être trouvée dans [17]. Son utilisation classes d’objets isomorphes même si F n’est pas bijective. nous permet de formaliser une grande diversité de jeux et Dès lors, on n’identifie plus les objets (ou états) un à un de situations. entre deux situations, mais les types (ou classes d’isomor- phismes) de ces états. Analogies entre circuits de voitures miniatures. Nous introduisons les notations suivantes : soient N et N 0 les Ce procédé peut être utilisé dans le cas de problèmes obser- nombres de segments par configuration du circuit, et C = vables. En effet, considérons deux ensembles d’états non {s, s ∈ [1, N ]}, C 0 = {s0 , s0 ∈ [1, N 0 ]} les ensembles de vides C et C 0 sans autre hypothèse sur leur cardinalité. Sup- positions possibles de la voiture sur le circuit, qui ne sont posons aussi l’existence de deux fonctions d’observations utiles que pour le raisonnement théorique et ne sont pas f : C → O et f 0 : C 0 → O0 . Quitte à restreindre O utilisés lors des expériences. Soient (u, i)s (resp. (u0 , i0 )s0 ) et O0 , supposons que ces deux fonctions sont surjectives. la tension et le courant mesurés lorsque la voiture passe sur Pour tout o ∈ O, on dit que les états x ∈ C dont l’ob- la section s (resp. s0 ). Soit 1 ≤ s0 ≤ N (resp. 1 ≤ s00 ≤ servation associée est o (i.e f (x) = o) sont de type To . N 0 ) la position initiale de la voiture dans la configuration Cela définit une relation d’équivalence Rf sur l’ensemble C (resp. C 0 ). Nous notons k une ligne droite de C et l un C : ∀x, y ∈ C, x Rf y ssi f (x) = f (y). Transposé dans virage. De même, soient k 0 une ligne droite et l0 un virage le champ lexical des catégories, cela revient à placer une de C 0 . flèche inversible entre deux objets x et y de C ssi x Rf y. C Le joueur peut agir sur (u0 , i0 )0s en utilisant la manette de devient alors une catégorie, où toutes les flèches sont inver- jeu, ce qui correspond à la stratégie π 0 définie par (2). sibles et telle que C/ ' est exactement le quotient C/Rf , quotient qui définit aussi l’ensemble des types d’états de ( C. Puisque ces types ont été définis via les observations, la (u0 , i0 )k0 , si s0 est une ligne droite π 0 (s0 ) = (2) surjection f : C → O induit une bijection f˜ : (C/ ') → O (u0 , i0 )l0 , sinon entre l’ensemble de types et l’ensemble d’observations. f˜ est donc l’inverse de la fonction T : O → (C/ '), o 7→ To Nous voulons identifier C et C 0 , pour pouvoir transposer la qui définit les types To . Le même raisonnement peut être stratégie π 0 de C 0 à C. Les états de C sont les positions s de reproduit à partir de C 0 et de f 0 . la voiture sur le circuit. De même, les états de C 0 sont les Enfin, supposons qu’il existe une bijection G : O → O0 positions s0 . Si N = N 0 et s0 = s00 , nous pouvons définir entre les ensembles d’observation et que O et O0 sont donc une bijection entre C et C 0 et transposer π 0 de manière tri- de même cardinalité. Ainsi, on peut définir une autre bi- viale. En revanche, si N 6= N 0 ou s0 6= s00 , il est impossible jection F 0 = f˜0−1 ◦ G ◦ f˜ : (C/ ') → (C 0 / ') de définir une telle bijection. entre les ensemble de types d’objets, bijection en réalité Cependant, si nous transformons C et C 0 en catégories, en induite par l’équivalence de catégories F : C → C 0 défi- définissant des morphismes, nous serons capables de dé- nie comme suit : pour tout x ∈ C, soit o = f (x) et soit finir une équivalence de catégories F : C → C 0 . Dès x0 ∈ f 0−1 (G(o)), définissons F telle que F (x) = x0 . Si C lors, nous définirons la stratégie π appliquée sur C par et C 0 ont des cardinaux différents, F ne peut pas être bijec- π = π 0 ◦ F . Pour définir ces morphismes, nous utilisons tive, mais F 0 l’est. Par construction, F envoie chaque état la fonction observable f définie sur les états s de C comme x vers un état x0 du même type (modulo G). Cela permet de suit : f : C → {1, 2} avec f = h ◦ g où g et h sont telles relier les catégories C et C 0 , de telle sorte que si l’on dispose que g(s) = (u, i)s et h ((u, i)s ) = 1 si s est un virage, et d’une stratégie applicable dans C 0 , elle peut être transposée 2 sinon. f 0 est définie de la même manière sur les s0 de C 0 , dans C par la fonction F . c’est-à-dire f 0 : C 0 → {1, 2} avec f 0 = h0 ◦ g 0 et g 0 et h0 sont définies de la même manière que g et h, mais sur les Si l’on remplace C et C 0 par des ensembles d’entités (option états de C 0 . 1) ou de paires d’entités (option 2) dans deux (situations de) jeux différent(e)s, nous pouvons les comparer grâce à Nous définissons un isomorphisme entre deux états de C des fonctions d’observation du type f et f 0 comme décrit ssi ils ont la même image par f , et un isomorphisme entre ci-dessus. Cela permet de transférer des connaissances re- deux états de C 0 ssi ils ont la même image par f 0 . Nous latives à des entités ou des paires d’entités. Nous avons définissons ensuite F : C → C 0 par (3). ainsi expérimenté les cas particuliers où dans l’option 1, ( f : C → {0, 1} et f 0 : C 0 → {0, 1} valent 1 si l’entité est l0 , si f (s) = 1 F (s) = (3) un « Moi » et 0 sinon ; et dans l’option 2, f : C → {0, 1} et k 0 , si f (s) = 2 Il est facile de voir, si les définitions exactes sont connues, 5 Résultats Expérimentaux que (3) est une équivalence de catégories qui permet de transférer π de C 0 à C. F induit une bijection F 0 entre les 5.1 Circuit de voitures miniatures ensembles de classes (ou types de position – ici C ,C 0 sont les types de virage et S ,S 0 sont les types de lignes droites) : F 0 : (C/ ') → (C 0 / ') où (C/ ') est égal à {C , S } et (C 0 / ') est égal à {C 0 , S 0 }. On obtient finale- ment F 0 (C ) = C 0 et F 0 (S ) = S 0 . Cet exemple de catégorisation systématique et de généra- lisation prouve que nous ne travaillons pas à l’échelle des états, mais que nous considérons les types d’états. Analogies entre jeux vidéo. Considérons un jeu C (par F IGURE 1 – Configuration des circuits : circuit 1 (à gauche), cir- exemple le jeu Breakout pour Atari 2600) où une raquette cuit 2 (à droite) horizontale est située en x0 sur un segment [0, N ] d’états initiaux possibles (0 ≤ x0 ≤ N ) et peut se déplacer vers la gauche ou la droite afin d’atteindre une balle devant arriver Matériel et Implémentation. Le montage expérimental à la position x1 ∈ [0, N ]. La stratégie π est la suivante : si est constitué d’un circuit MINI Challenge Set C1320 de la x1 < x0 , se déplacer vers la gauche, si x1 = x0 , ne pas marque Scalextric dont le compteur de tours mécanique a bouger, mais si x1 > x0 , alors se déplacer vers la droite. été remplacé par un capteur à effet Hall omnipolaire digital. Désormais, considérons un autre jeu C 0 (tel que Pong sur Le courant est mesuré par une résistance shunt placée en Atari 2600 par exemple) où cette fois-ci une raquette ver- série avec les rails d’alimentation. Le courant et la tension ticale se trouve en position y0 sur le segment [0, N 0 ] des sont d’abord filtrés par un filtre RC passif du second ordre positions atteignables (0 ≤ y0 ≤ N 0 ) et peut se déplacer puis échantillonnés à fs = 100 Hz. Ce montage ne contient de haut en bas pour toucher une balle qui atteindra la posi- aucun capteur supplémentaire. Les algorithmes sont écrits tion y1 ∈ [0, N 0 ]. en C et exécutés en temps réel sur un Arduino Mega 2560 Nous souhaitons identifier C et C 0 afin de transposer la stra- qui dispose de 8192 octets de mémoire vive (RAM). Nous tégie π de C à C 0 . Les états (objets) de C sont les N + 1 définissons la période d’échantillonnage par ts = 1/fs , et positions x1 de [0, N ]. De la même façon, les états (objets) l’instant associé à l’échantillon k est kts où k ∈ N. de C 0 sont les N 0 + 1 positions y1 de [0, N 0 ]. Si N = N 0 Ce cas basé sur l’utilisation d’analogies, directement ins- et x0 = y0 , alors il est facile de définir une bijection de C piré de notre utilisation de la théorie des catégories, repose à C 0 puis de transposer π, mais si N 6= N 0 ou x0 6= y0 sur deux modules : un module de récompense, ainsi qu’un alors il est impossible de définir une telle bijection. Pour module de prise de décision, tous deux décrits ci-dessous. résoudre ce problème, nous transformons C et C 0 en caté- Puisque qu’il n’y a ici qu’un seul système dynamique, c’est gories à travers la définition suivante de nos flèches, et ce nécessairement le « Moi » et aucune identification n’est faisant, nous pourrons définir une équivalence de catégo- utile. ries F : C → C 0 . Pour définir ces flèches, nous utilisons Comme en apprentissage par renforcement, notre approche les fonctions d’observation suivantes définies sur les états s’appuie sur une récompense tirée de l’environnement. de C et C 0 : f : C → {0, 1, 2} et f 0 : C 0 → {0, 1, 2} telles Celle-ci est le résultat de la combinaison de trois variables. que f (x1 ) = 0 ssi x1 < x0 , f (x1 ) = 1 ssi x1 = x0 et La première variable est le temps du tour mesuré directe- f (x1 ) = 2 ssi x1 > x0 . De la même façon, f 0 (y1 ) = 0 ment grâce au compteur de tours. La seconde variable bi- ssi y1 < y0 , f 0 (y1 ) = 1 ssi y1 = y0 et f 0 (y1 ) = 2 naire indique la présence de la voiture sur la piste, et la ssi y1 > y0 . Ensuite, nous définissons une flèche inver- dernière variable binaire indique si la voiture est en mou- sible entre deux états de C ssi ils ont la même image par vement. Ce module de récompense surveille constamment f , ainsi qu’une flèche inversible entre deux états de C 0 ssi la voiture pour vérifier qu’elle n’est pas sortie de la piste ils ont la même image par f 0 . Soit F : C → C 0 , telle à cause d’une vitesse trop élevée, mais aussi qu’elle ne que si x1 < x0 , alors F (x1 ) = 0 ; si x0 = x1 , alors s’est pas arrêtée à cause de frottements trop importants. Ces F (x1 ) = y0 ; et si x1 > x0 , alors F (x1 ) = N 0 . Cette fonc- deux détecteurs reposent sur une classification par k plus tion F définit une équivalence de catégories et induit une proches voisins (k-NN) en utilisant les courants et tensions bijection F 0 entre les ensembles de classes : F 0 : (C/ ' comme entrées. ) → (C 0 / '). (C/ ') correspond (grâce à la stratégie Avec ce module de récompense, l’IA peut piloter la voiture π) aux actions disponibles {Gauche, Attendre, Droite} sur des circuits qu’elle découvre sans rejouer ou manipu- dans C alors que (C 0 / ') correspond aux actions dis- ler des échantillons enregistrés lors d’une partie du joueur ponibles {Haut, Attendre, Bas} dans C 0 (en choisissant humain. La seule information conservée par l’algorithme d’orienter l’axe des y du haut vers le bas). Dans ce cas- est une vitesse de sécurité dont l’IA sait qu’elle ne pro- ci F 0 (Gauche) = Haut, F 0 (Attendre) = Attendre et voque ni sortie de piste, ni arrêt de la voiture. Comme la F 0 (Droite) = Bas. configuration du circuit change, il n’y a pas bijection entre TABLE 1 – Temps au tour en secondes (moyenne ± écart-type)(MLI = Modulation de Largeur d’Impulsion) H UMAIN (10 tours) IA (jusqu’à 10 tours) R ÉGLAGES DE L’IA C IRCUIT 1 (12 tronçons) Premier tour 2.99 ± 0.46 3.12 ± 0.09 MLI=39% de la vitesse maximale Dernier tour 2.29 ± 0.14 2.52 ± 0.08 Analogies (adaptation de la vitesse) C IRCUIT 2 (18 tronçons) Premier tour 4.30 ± 1.16 3.66 ± 0.03 MLI=39% de la vitesse maximale Dernier tour 3.08 ± 0.54 3.13 ± 0.02 Analogies (adaptation de la vitesse) les deux configurations et le cas bijectif ne peut pas s’ap- pilotées par l’algorithme, alors que certains tours humains pliquer. Il faut donc s’appuyer sur des analogies et trans- ont occasionné des sorties de pistes et n’ont donc pas été poser les connaissances acquises dans une première confi- comptabilisés. guration en utilisant l’équation (2), conformément au for- Le cadre théorique détaillé en section 4 permet au système malisme des cas non bijectifs décrit dans la partie 4. La d’être au niveau des meilleurs joueurs sur ce jeu en moins fonction h((u, i)s ) est évaluée par un k-NN dont le co- d’une minute, sans ajout de capteurs embarqués. Ce cadre efficient à été choisi comme le meilleur compromis entre permet d’atteindre de tels résultats sur des circuits incon- la performance possible sur la cible embarquée et l’obten- nus où la simple reproduction d’un tour humain conduirait tion de résultats satisfaisants. Les deux classificateurs sont immédiatement à une sortie de piste. entraînés avec environ 1000 échantillons de (u, i) (ce qui correspond à seulement 10 s de jeu) et sont implantés en 5.2 Jeux vidéo Atari 2600 version condensée afin d’être exécutables sur l’Arduino. Configuration et implémentation de la théorie. Tan- En pratique, l’approche par analogies fonctionne comme dis que le circuit de voitures miniatures nous a permis de suit : la voiture démarre sur le circuit inconnu avec cette valider l’approche sur des signaux analogiques réels, Ar- vitesse de sécurité importée de la première configuration. cade Learning Environment (ALE, cf [2]) nous a permis La fonction h((u, i)s ), évaluée par le k-NN à partir des de la valider sur des configurations plus complexes, avec mesures de courant et de tension, détermine si la voiture des signaux déjà échantillonnés provenant de l’émulateur. est dans une configuration que nous appelons courbe ou Les concepts d’entités avec le « Moi » introduits en 3.2 ligne droite. L’IA choisit ensuite la meilleure commande sont également utilisés pour jouer aux jeux Atari 2600. utilisée au cours des expériences précédentes, en vérifiant On détecte les entités grâce à des algorithmes de traite- l’objectif de minimiser le temps au tour en maintenant la ment d’images : le filtre de Sobel (image du centre en fi- voiture sur la piste. L’algorithme permet donc de générali- gure 2) et la détection des boîtes englobantes (image de ser les connaissances acquises au cours d’expériences pas- droite en figure 2). Elle repose sur la librairie OpenCV [19]. sées et de les appliquer dans une configuration radicale- Le « Moi » est trouvé en utilisant un algorithme d’iden- ment différente. En effet, les deux circuits schématisés en tification de système. Des séquences d’actions pseudo- figure 1 sont de forme et de taille différentes et une simple aléatoires [14] sont envoyées comme commande dans ALE reproduction d’une commande préalablement enregistrée pour d’abord identifier quelles entités sont affectées par échouerait à fournir des résultats probants. ces signaux, puis pour construire les modèles dynamiques décrits par les équations (1) avec Nd = 2. Peu d’enti- Résultats. Les expériences décrites dans cet article ont tés sont contrôlables : ce sont les « Moi ». Leurs formes été menées sur deux configurations de complexité diffé- peuvent changer en cours de jeu, comme la raquette dans rente présentées figure 1, et leur résultats sont présentés ta- Breakout, d’où la possibilité d’identifier plusieurs entités bleau 1. L’IA démarre à vitesse constante (avec une Modu- comme étant le « Moi ». Ces mesures mettent également à lation de Largeur d’Impulsion de 39% de la vitesse maxi- jour les fonctions p(E, F ) qui expriment la probabilité que male). Cette IA, qui repose sur l’établissement d’analo- le contact entre les entités E et F change le score, d’une gies entre configurations et ne rejoue pas d’enregistrement manière similaire à une fonction de récompense en appren- d’une quelconque partie précédente, est capable d’amélio- tissage par renforcement. À partir de ces fonctions p, nous rer les temps au tour en moins de 10 tours sur une piste déduisons les entités amies et ennemies, conduisant à la inconnue. L’algorithme atteint des temps similaires aux stratégie de survie basique décrite en partie 3.2. temps humains sur le circuit 2 : 3.08 s pour les derniers Nous choisissons d’utiliser le DQN comme référence, car tours des joueurs humains contre 3.13 s pour l’algorithme. cette publication obtient de bons résultats par rapport à un Les améliorations futures de l’algorithme sur un circuit in- joueur humain pour un grand nombre de jeux. Les tests connu incluront l’optimisation des vitesses transposées par ont donc été effectués avec les paramètres décrits dans l’algorithme. En effet, seule une vitesse de sécurité a été [18] : l’IA joue pendant une durée maximale de 5 minutes. utilisée ici afin d’éviter les sorties de pistes des voitures Même si notre objectif est de contrôler des systèmes cyber- TABLE 2 – Scores après 10 000 images d’entraînement (moyenne ± écart type pour 8 parties) J EU A LÉATOIRE J OUEUR H UMAIN DQN MLCT Breakout 1.7 31.8 1.25 ± 1.02 414.37 ± 88.47 Pong −20.7 9.3 −21.00 ± 0.00 0.25 ± 2.48 TABLE 3 – Effet du transfert de connaissances de Breakout vers Pong. Méthode (a) : Aucun transfert d’amis donc actions aléatoires. Méthode (b) : Stratégie de survie basique. Méthode (c) : Transfert de connaissances de Breakout à Pong M ÉTHODE S CORE N OMBRE D ’ IMAGES D ’ ENTRAÎNEMENT (a) −20 500 (Pong) (b) 0 10 000 (Breakout) + 10 000 (Pong) (c) −2 10 000 (Breakout) + 500 (Pong) physiques, nous souhaitions valider la versatilité de notre Breakout Score Moyen par partie approche en la testant d’abord sur cet environnement de DQN référence. Nous avons entièrement reproduit la configura- 400 Notre IA tion de cet article en utilisant le code mis à disposition par 300 les auteurs, et avons obtenu des résultats similaires à ceux Score annoncés. Cela nous a permis de calculer un score moyen 200 pour le DQN avec un faible nombre d’images d’entraîne- ment, pour le comparer au score moyen obtenu avec notre 100 approche. 0 10 2 10 3 10 4 10 5 10 6 10 7 10 8 Nombre de frames d'entraînement F IGURE 3 – Scores sur Breakout capacité de l’IA à réfuter ses modèles. F IGURE 2 – Traitement d’images sur Breakout. De Les résultats dans Pong ont été obtenus en utilisant trois gauche à droite : original, contours, boîtes englobantes, approches : la première (a) identifie le « Moi » (mais pas prédictions des vitesses. la balle comme ami) en 500 images. La seconde (b) cor- respond à la procédure suivie pour Breakout : elle iden- tifie le « Moi » puis les amis sur chacun des deux jeux Résultats. Les résultats pour Breakout 4 sont présentés en 10 000 images. La troisième (c) illustre le transfert de dans la table 2 pour un temps d’entraînement de 10 000 connaissances formalisé en utlisant les similarités décrites images (moins de 3 minutes). La figure 3 compare cette dans la partie 3.1 : l’IA commence par apprendre à jouer approche avec le DQN et montre que des scores similaires à Breakout en 10 000 images, puis elle identifie le « Moi » sont atteignables en utilisant 20 000 fois moins d’images. sur Pong en 500 images, et enfin elle transfère (sans images Les étapes d’apprentissage sur Breakout sont les suivantes : d’entraînement supplémentaires) la connaissance de l’ami durant les premières centaines d’images, l’IA utilise une vers Pong. L’expérience (c) permet d’obtenir un système séquence pseudo-aléatoire pour identifier le « Moi ». Une capable de jouer à Breakout et Pong avec seulement 10 500 fois que cette identification a convergé vers le seul système images d’entraînement comme mis en évidence en table 3. que l’IA contrôle – la raquette – l’algorithme recherche des entités amies et ennemies. En quelques milliers d’images, il détecte que la balle est un ami car le score augmente quand 6 Conclusion elle casse une brique. À partir de concepts empruntés aux Sciences Sociales Les scores autour de 400 points correspondent à des parties et Cognitives et d’enseignements tirés de caractéristiques où quasiment toutes les briques du premier niveau ont été propres aux méthodes scientifiques, ces travaux utilisent cassées. L’écart-type élevé est dû à certaines parties attei- des outils élémentaires de la théorie des catégories pour gnant des scores de plus de 600 points, obtenus grâce à la faciliter l’établissement d’analogies et le transfert de 4. Les résultats pour le joueur humain et le mode aléatoire sont tirés connaissances entre situations non bijectives. Ces outils de [18]. Le temps d’entraînement pour le joueur humain est de 2 heures permettent aussi de formaliser une approche aboutissant à soit 432 000 images. une IA capable de contrôler un agent dans un monde en perpétuelle évolution. [13] G. Lee, M. Luo, F. Zambetta, and X. Li, “Learning Les résultats des expériences conduites sur un système a Super Mario controller from examples of human cyber-physique mais aussi sur des jeux vidéo Atari 2600 play,” in 2014 IEEE Congress on Evolutionary Com- confirment nos attentes. En effet, ce système a été capable putation (CEC), July 2014, pp. 1–8. d’identifier, puis de contrôler le « Moi » dans différentes [14] W. S. Levine, The Control Systems Handbook: Con- situations, que ce soient des circuits de configurations dif- trol System Advanced Methods, 2011. férentes, ou des jeux Atari 2600 différents, en s’appuyant sur un transfert de connaissances et une faible quantité de [15] Y. Liang, M. C. Machado, E. Talvitie, and M. Bowl- données. ing, “State of the art control of Atari games using shallow reinforcement learning,” in Proceedings of References the 2016 ICAAMAS, ser. AAMAS ’16, 2016, pp. 485– 493. [1] P. Bartha, “Analogy and analogical reasoning,” in The Stanford Encyclopedia of Philosophy, winter [16] N. Lipovetzky, M. Ramirez, and H. Geffner, “Clas- 2016 ed., E. N. Zalta, Ed. Metaphysics Research sical planning with simulators: Results on the Atari Lab, Stanford University, 2016. video games,” in IJCAI’15, 2015, pp. 1610–1616. [2] M. G. Bellemare, Y. Naddaf, J. Veness, and M. Bowl- [17] S. Mac Lane, Categories for the working mathemati- ing, “The arcade learning environment: An evaluation cian, 2nd ed. Springer-Verlag, 1998. platform for general agents,” Journal of Artificial In- [18] V. Mnih, K. Kavukcuoglu, D. Silver, A. A. Rusu, telligence Research, vol. 47, pp. 253–279, 2013. J. Veness, M. G. Bellemare, A. Graves, M. Ried- [3] M. Bogdanovic, D. Markovikj, M. Denil, and miller, A. K. Fidjeland, G. Ostrovski, S. Petersen, N. de Freitas, “Deep apprenticeship learning for play- C. Beattie, A. Sadik, I. Antonoglou, H. King, D. Ku- ing video games,” in AAAI Workshop on Learning for maran, D. Wierstra, S. Legg, and D. Hassabis, General Competency in Video Games, 2015. “Human-level control through deep reinforcement learning,” Nature, vol. 518, no. 7540, pp. 529–533, [4] C. Chang and H. J. Keisler, Model Theory, 3rd ed. February 2015. North Holland, 1990. [19] OpenCV, “Open source computer vision library,” [5] Z. Chen and B. Liu, Lifelong Machine Learning. https://opencv.org/, 2017. Morgan & Claypool Publishers, 2016. [20] J. Ortega, N. Shaker, J. Togelius, and G. N. Yan- [6] M. Csikszentmihalyi, Flow: The Psychology of Opti- nakakis, “Imitating human playing styles in Super mal Experience, ser. Harper Perennial Modern Clas- Mario Bros,” Entertainment Computing, vol. 4, no. 2, sics. Harper Collins, 2009. pp. 93 – 104, 2013. [7] J. Culbertson and K. Sturtz, “Bayesian machine [21] T. Pepels, M. H. M. Winands, and M. Lanctot, “Real- learning via category theory,” arXiv:1312.1445v1 Time Monte-Carlo Tree Search in Ms. Pac-Man,” [math.CT] 5 Dec 2013, 2013. IEEE Trans. on Computational Intelligence and AI in [8] F. de Saussure, Cours de linguistique générale. Games, vol. 6, no. 3, pp. 245–257, Sept 2014. Payot, 1916. [22] J. Piaget, The construction of reality in the child. Ba- [9] B. Falkenhainer, K. Forbus, and D. Gentner, “The sic Books, 1954. structure-mapping engine: Algorithm and examples,” Artificial Intelligence, vol. 41, pp. 2–63, 1989/90. [23] K. Popper, The Logic of Scientific Discovery. Hutchinson & Co, London, 1959. [10] R. E. Kalman, “On the general theory of control systems,” in Proceedings of the First International [24] L. Pusman and K. Kosturik, “Control algorithm based Congress on Automatic Control. Butterworth, Lon- on phase locked loop,” in Telecommunications Forum don, 1960, pp. 481–492. (TELFOR), 2013 21st, Nov 2013, pp. 605–607. [11] K. Kansky, T. Silver, D. A. Mély, M. Eldawy, [25] J. M. Schaeffer, L’expérience esthétique. Gallimard, M. Lázaro-Gredilla, X. Lou, N. Dorfman, S. Sidor, 2015. D. S. Phoenix, and D. George, “Schema networks: [26] A. Schutz, The phenomenology of the social world, Zero-shot transfer with a generative causal model of ser. Northwestern University studies in phenomenol- intuitive physics,” in ICML 2017, 8 2017, pp. 1809– ogy & existential philosophy. Northwestern Univer- 1818. sity Press, 1967. [12] S. Lange, M. Riedmiller, and A. Voigtlander, “Au- [27] D. Sperber, La Contagion des idées. Éditions Odile tonomous reinforcement learning on raw visual in- Jacob, 1996. put data in a real world application,” in The 2012 [28] D. I. Spivak, Category Theory for the Sciences. The International Joint Conference on Neural Networks MIT Press, 2014. (IJCNN). IEEE, 2012, pp. 1–8. F IGURE 4 – Algorithme utilisé. Require: bdc = [entites, modeles, strategies] Require: strategie_par_def aut Require: seuil, Nmax 1: for Ninit = 0 to Nmax do 2: entites.append(donnees_prelevees) 3: action ← strategie_par_def aut 4: applique(action) 5: end for 6: jeu_similaire ← recherche jeu avec des entites similaires 7: modeles, strategies ← extrait(bdc, jeu_similaire) 8: bdc.append([entites, modeles, strategies]) 9: f _ref ute_modeles ← false 10: if modeles est vide then 11: f _ref ute_modeles ← true 12: end if 13: while experimentation en cours do 14: entites.append(donnees_prelevees) 15: if f _ref ute_modeles then 16: action ← strategie_par_def aut 17: modeles, strategies, f _id ← identification(entites) 18: if f _id then 19: f _ref ute_modeles ← false 20: bdc.append([entites, modeles, strategies]) 21: end if 22: else 23: action ← cherche_action(entites, strategies) 24: predictions ← cherche_predictions(entites, modeles) 25: erreur ← predictions − entites 26: if |erreur| > seuil then 27: f _ref ute_modeles ← true 28: end if 29: end if 30: applique(action) 31: end while 32: return bdc Annexe : algorithme La base bdc est ensuite complétée. Lors de la partie, le système continue à acquérir des échan- L’algorithme utilisé est décrit en pseudo-code sur la figure tillons et à les transformer en entités. Si le modèle est va- 4. Il repose sur une base de connaissance bdc, une stratégie lide (lignes 23 à 27), le système calcule à partir des entités par défaut strategie_par_def aut, un seuil seuil de rejet présentes et stratégies disponibles la meilleure action à ef- du modèle et un nombre d’itérations Nmax correspondant fectuer. Avec les entités et les modèles, une prédiction de à la durée de l’initialisation. l’état de l’environnement est aussi calculée. Si ces predic- La base bdc, initialement vide, se remplit progressivement tions sont trop éloignées de l’état mesuré, alors la variable des stratégies obtenues au cours des parties jouées. La stra- f _ref ute_savoir devient vraie. Dans ce cas, dès l’itéra- tégie par défaut strategie_par_def aut est, dams le cas tion suivante, la procédure d’identification (lignes 15 à 20) du circuit de voitures, une MLI constante (39% dans nos se lance. De nouveaux modèles et stratégies sont calculés. expériences). Dans le cas des jeux Atari 2600, c’est une Cette procédure est mise en oeuvre tant que de nouveaux séquence pseudo-aléatoire d’actions envoyées en entrée du modèles et stratégies n’ont pas été trouvés puis validés. système. Une fois validés, la base de connaissances bdc est enrichie L’algorithme commence par acquérir les échantillons puis de ces résultats. les assimile à des types d’entités en ligne 2. À partir de ces Notons que l’algorithme est identique en phase d’appren- entités, l’algorithme détermine la situation qui présente les tissage et en phase d’exploitation (test). Il continue de réfu- objets les plus similaires en ligne 6 avant d’extraire en ligne ter son savoir, si besoin est, même en phase d’exploitation. 7 les modèles et stratégies obtenus lors de cette situation.