Apprentissage par renforcement

Un article de Wikipédia, l'encyclopédie libre.

En intelligence artificielle, plus précisément en apprentissage automatique, l'apprentissage par renforcement consiste, pour un agent autonome (ex. : robot, agent conversationnel, personnage dans un jeu vidéoetc.), à apprendre les actions à prendre, à partir d'expériences, de façon à optimiser une récompense quantitative au cours du temps. L'agent est plongé au sein d'un environnement et prend ses décisions en fonction de son état courant. En retour, l'environnement procure à l'agent une récompense, qui peut être positive ou négative. L'agent cherche, au travers d'expériences itérées, un comportement décisionnel (appelé stratégie ou politique, et qui est une fonction associant à l'état courant l'action à exécuter) optimal, en ce sens qu'il maximise la somme des récompenses au cours du temps.

L'apprentissage par renforcement est l'une des trois grandes techniques d'apprentissage automatique, au côté de l'apprentissage supervisé et de l'apprentissage non supervisé.

Applications[modifier | modifier le code]

Jeux vidéo Atari. Hessel et al. ont montré que l'apprentissage par renforcement donne des programmes meilleurs que les humains.
Jeu de go. AlphaGo Zero sont des programmes qui ont appris à jouer grâce à l'apprentissage par renforcement.

L'apprentissage par renforcement est utilisé dans plusieurs applications : robotique, gestion de ressources[1], vol d'hélicoptères[2], chimie[3]. Cette méthode a été appliquée avec succès à des problèmes variés, tels que le contrôle robotique[4],[5], le pendule inversé[6], la planification de tâches, les télécommunications, le backgammon[7] et les échecs[8],[9].

En 2015, Mnih et al.[10] ont montré que l'apprentissage par renforcement permettait de créer un programme jouant à des jeux Atari. Leur système apprend à jouer à des jeux, en recevant en entrée les pixels de l'écran et le score. Un point intéressant est que leur système n'a pas accès à l'état mémoire interne du jeu (sauf le score). En 2018, Hessel et al.[11] ont combiné plusieurs techniques pour améliorer les performances du programme. Plus récemment, AlphaGo Zero est une nouvelle technique d'apprentissage par renforcement où l'agent apprend en étant son propre professeur[12].

Lillicrap et al. ont utilisé l'apprentissage par renforcement pour faire apprendre 20 tâches physiques à un système[13], comme relever un pendule, conduire une voiture, déplacer un robot sur pattes, et autres manipulations de dextérité.

L'apprentissage par renforcement est utilisé pour résoudre des problèmes d'optimisation[14], comme par exemple le problème de bin packing 3D[15]. Pour le problème de bin packing 3D, il s'agit d'empiler des cubes de différentes tailles avec des contraintes (comme ne pas dépasser le volume disponible, ou "une boîte ne peut être au dessus d'une autre", etc.), en optimisant par exemple la hauteur totale. Dans un cadre apprentissage par renforcement, l'agent choisit de tourner une boîte, de placer une boîte à un certain endroit, etc.

Histoire[modifier | modifier le code]

L'apprentissage par renforcement dérive de formalisations théoriques de méthodes de contrôle optimal, visant à mettre au point un contrôleur permettant de minimiser au cours du temps une mesure donnée du comportement d'un système dynamique. La version discrète et stochastique de ce problème est appelée un processus de décision markovien et fut introduite par Bellman en 1957[16].

Parmi les premiers algorithmes d'apprentissage par renforcement, on compte le temporal difference learning (TD-learning), proposé par Richard Sutton en 1988[17], et le Q-Learning[18] mis au point essentiellement par Chris Watkins en 1989 (thèse publiée en 1992)[19].

Interface agent-environnement[modifier | modifier le code]

Le scenario typique d'apprentissage par renforcement : un agent effectue une action sur l'environnement, cette action est interprétée en une récompense et une représentation du nouvel état, et cette nouvelle représentation est transmise à l'agent.

Processus de décision markovien[modifier | modifier le code]

Classiquement, l'apprentissage par renforcement repose sur un processus de décision markovien (MDP), qui propose un cadre pour le problème d'apprendre à réaliser un but. Un agent apprend et prend des décisions. Il réagit face à un environnement. Un problème peut-être défini comme un processus de décision markovien, lorsqu'il présente les propriétés suivantes[20] :

  • un ensemble fini d'états de l'agent dans l'environnement. Un état peut inclure la position d'un agent, sa vitesse, la position d'autres objets ;
  • un ensemble fini d'actions que l'agent peut effectuer ; Les actions peuvent être de bas niveau comme faire passer du courant dans un moteur d'un des bras d'un robot. Elles peuvent aussi être de haut niveau comme décider de prendre un petit déjeuner. Elles peuvent aussi être mentales ou calculatoires comme décider de faire attention à un objet et de lancer un traitement d'images sur ce dernier ;
  • un ensemble de valeurs scalaires "récompenses" que l'agent peut obtenir. La récompense peut être à chaque étape comme par exemple gagner de l'altitude pour un objet volant, le score dans un jeu vidéo. Elle peut aussi être uniquement donnée qu'à la fin de partie : elle vaut typiquement 1 quand l'agent gagne et 0 quand il perd.

Trajectoire[modifier | modifier le code]

À chaque pas de temps t, l'agent perçoit son état . C'est une variable aléatoire. Il perçoit a priori l'ensemble des actions possibles dans l'état , même si l'on peut supposer pour simplifier que l'ensemble des actions est le même dans tous les états[21]. Il choisit une action et reçoit de l'environnement un nouvel état et une récompense . Ainsi, l'agent évolue dans l'environnement et la séquence des états-actions-récompenses s'appelle une trajectoire, et est définie comme suit :

S0, A0, R1, S1, A1, R2, S2, A2, R3, ...

Politique[modifier | modifier le code]

À partir de ses interactions, un algorithme d'apprentissage par renforcement calcule une politique , c'est-à-dire une fonction qui à chaque état préconise une action à exécuter, dont on espère qu'elle maximise les récompenses. La politique peut aussi être probabiliste. Dans ce cas, la politique s'écrit , c'est-à-dire que est la probabilité que l'agent choisisse d'exécuter a dans l'état s.

Gain[modifier | modifier le code]

Afin de quantifier le bon apprentissage de l'algorithme, on introduit le gain comme étant la somme des récompenses obtenues : où T est le temps où on atteint un état terminal dans le processus de décision markovien (MDP). Pour des MDPs sans état terminal, la somme infinie n'est peut-être pas bien définie. C'est pourquoi l'on introduit un facteur de dévaluation compris entre 0 et 1. On pose alors qui est convergente et bien définie. Selon la valeur de , on prend en compte les récompenses plus ou moins loin dans le futur pour le choix des actions de l'agent. Si = 0, l'agent est myope et ne prend que la récompense immédiate (en admettant que ).

Ainsi, la méthode de l'apprentissage par renforcement est particulièrement adaptée aux problèmes nécessitant un compromis entre la quête de récompenses à court terme et celle de récompenses à long terme.

Exploitation-exploration[modifier | modifier le code]

Une rangée de machines à sous à Las Vegas.

Un agent apprenant est sujet au compromis entre l'exploitation (refaire des actions, dont il sait qu'elles vont lui donner de bonnes récompenses) et l'exploration (essayer de nouvelles actions, pour apprendre de nouvelles choses). Ce compromis a été illustré dans l'exemple des bandits manchots, cas qui correspond à un processus de décision markovien à un état (cf. Chapitre 2 de RL). Dans ce cadre, il y a k machines à sous, dont la loi de probabilité est inconnue de l'agent apprenant (sinon, il utiliserait toujours une machine à sous d'espérance maximale). L'agent tire les bras des machines. Il peut alors soit :

  • exploiter ses connaissances et tirer les bras des machines qui lui ont apporté le plus de profit jusqu'à présent ;
  • explorer, i.e. tester des bras non tirés ou dont le gain était plus faible. Le but de l'exploration est de découvrir une machine à sous prolifique.

Exploiter sans jamais explorer est une approche gloutonne. L'exploitation repose sur la définition de la valeur courante à un certain temps t d'un bras d'une machine noté a (pour action) :

.

Le choix glouton consiste à choisir une action a qui maximise . Dans cette approche gloutonne, l'agent exploite une des meilleures actions mais n'explore pas d'autres actions qui sont d'apparences moins bonnes. Le problème de l'approche gloutonne (exploitation seulement) est que l'on n'atteint pas une politique optimale.

Algorithmes[modifier | modifier le code]

Propriétés des algorithmes d'apprentissage[modifier | modifier le code]

Model-based VS model-free. L'algorithme est basé sur un modèle (model-based) s'il prend le modèle de l'environnement en entrée. Typiquement, l'algorithme prend le processus de décision markovien en entrée. En particulier l'algorithme a accès à la fonction de transition et aux probabilités. L'algorithme a accès à , la probabilité d'être dans l'état et d'avoir la récompense depuis l'état en exécutant l'action . A contrario, un algorithme est model-free s'il n'utilise pas de modèle en entrée. L'algorithme n'utilise pas les probabilités car il ne les connait pas. Par contre bien sûr, un algorithme model-free dispose de structures de données pour les états et les actions.

On-policy VS off-policy. L'algorithme est on-policy (par exemple SARSA) lorsqu'il évalue et améliore la politique, qui est la même que celle utilisée pour prendre des décisions durant l'apprentissage. L'algorithme est off-policy (par exemple Q-learning) si la politique évaluée et améliorée est différente de celle que l'agent utilise pour prendre des décisions lors de l'apprentissage[22]. On distingue alors la politique cible (target policy) qui est la politique apprise, de la politique décisionnelle (behavior policy). Les algorithmes off-policy sont généralement plus lents à converger. Par contre les algorithmes off-policy sont plus généralisables (les algorithmes on-policy sont finalement off-policy où la politique cible et la politique décisionnelle sont les mêmes). Les algorithmes off-policy peuvent être utilisés lorsque les épisodes sont générés par un contrôleur non conventionnel, ou par un expert humain[23].

Bootstrap. Un algorithme évalue les états dans lesquels il est bon d'être. On dit qu'il "bootstrap" s'il évalue les états en utilisant les précédentes évaluations. Au contraire, des algorithmes comme Monte Carlo lancent des simulations jusqu'à atteindre un état final pour évaluer et n'utilisent pas d'évaluations précédentes. L'algorithme Monte Carlo ne "bootstrap" pas.

Tabulaire VS approximation. Un algorithme tabulaire stocke dans un tableau les valeurs d'un état en exécutant la politique courante (c'est-à-dire s'il est bon d'être dans un état - car soit il est intrinsèquement bon, soit parce qu'en suivant la politique depuis cet état, la récompense obtenue sera plus importante). Typiquement, on stocke dans un tableau les valeurs pour chaque état. D'autres algorithmes stockent à quel point il est bon de jouer une action a dans un état s via un tableau qui stocke des valeurs . Vu le nombre important d'états (problème appelé malédiction de la dimension), certains algorithmes utilisent une approximation de cette table.

Valued-based VS policy-gradient. Un algorithme valued-based apprend la valeur d'être dans un état s, ou alors Q(s, a) qui est la valeur de jouer l'action a dans l'état s. La politique apprise consiste alors à jouer l'action a qui maximise la valeur. SARSA, Q-learning, TD(0) sont valued-based. Un algorithme policy-gradient manipule directement une politique (représentée avec des paramètres). REINFORCE est policy-gradient.

La table suivante donne les quatre grandes classes d'algorithmes[24]. La table donne aussi les diagrammes backup qui sont des diagrammes utilisés dans la littérature et qui résument comment les algorithmes fonctionnent. Dans ces diagrammes, un cercle blanc représente un état ; un point noir représente une action.

Pas de branchement. Généralement pas besoin de modèle car on intéragit avec l'environnement. Branchement. Besoin du modèle pour connaître les actions et les états suivants.
Bootstrap. L'évaluation d'un état se fait en fonction des évaluations précédentes (des états suivants). Temporal-difference learning

Programmation dynamique

Pas de bootstrap. Évaluation sur tout un épisode jusqu'à atteindre un état final. Monte Carlo


Recherche exhaustive (planification)


Itération sur politique générale[modifier | modifier le code]

L'idée est de calculer une politique a priori optimale par une itération de deux étapes :

  1. Évaluation de la politique courante. L'algorithme manipule une table où pour tout état , la valeur indique s'il est bon, selon la politique courante, d'être dans l'état .
  2. Amélioration de la politique courante. Généralement, on utilise une approche gloutonne pour améliorer la politique. Dans chaque état , on modifie pour choisir l'action qui maximise le gain, selon les valeurs présentes dans la table .

L'idée d'itération sur politique générale se trouve dans les approches décrites ci-dessous.

Programmation dynamique[modifier | modifier le code]

La programmation dynamique est une collection d'algorithmes pour calculer des politiques optimales dans le cas où le MDP est connu[25]. Autrement dit, les comportements de l'environnement sont connus par l'algorithme. Bien que ce cadre ne soit pas réaliste, la programmation dynamique est importante d'un point de vue théorique. On présente ici deux algorithmes : une itération sur politique (qui implémente l'itération sur politique générale présentée plus haut) ; et une itération sur valeur. Selon Sutton et Barto, il est en pratique difficile d'identifier a priori, le meilleur des deux algorithmes[26].

Itération sur politique avec programmation dynamique[modifier | modifier le code]

L'itération sur politique consiste à évaluer la valeur de la politique courante . L'algorithme part d'une politique choisie arbitrairement. Puis successivement : 1. on évalue la politique ; 2. on utilise cette évaluation pour améliorer la politique en cherchant la meilleure action pour chaque état. L'algorithme s'arrête quand la politique n'est plus modifiée. Voici le pseudo-code l'itération sur politique[27] :

initialiser arbitrairement  et  pour tout état 

boucle
     /* 1. évaluer la valeur de la politique */
     boucle
            
            pour tout état 
                    
                     
                    
     jusqu'à ce que  soit suffisamment petit

     /* 2. amélioration de la politique */
     pour tout état 
             
     
     si  n'a pas été modifiée dans l'étape 2 alors
                renvoyer , 

Ainsi, l'exécution de l'itération sur politique peut se représenter comme une séquence

est la politique initiale, est une étape d'évaluation de la politique, est une étape d'amélioration de la politique.

Itération sur valeur[modifier | modifier le code]

L'itération sur valeur est similaire à l'itération sur politique mais combine l'évaluation de la politique et son amélioration dans la même boucle pour.

initialiser arbitrairement  et  pour tout état 

boucle
     
     pour tout état 
             
                /* ici on fait un max sur toutes les actions */
             
jusqu'à ce que  soit suffisamment petit

renvoyer la politique  définie par  pour tout état 

Monte Carlo[modifier | modifier le code]

Les méthodes de Monte Carlo diffèrent de l'approche programmation dynamique sur deux aspects[28]. Tout d'abord, avec Monte Carlo, on tire aléatoirement des expériences, et du coup on peut apprendre sans connaître le modèle. Mais aussi elle ne se base pas sur du bootstrap : les valeurs estimées ne sont pas mises à jour en fonction de valeurs estimées précédentes.

Temporal-difference learning[modifier | modifier le code]

Temporal-difference learning (TD) combine les idées de programmation dynamique et Monte Carlo. Tout comme programmation dynamique, il y a du bootstrap dans TD : les valeurs estimées se basent sur les valeurs estimées précédentes. Comme Monte Carlo, TD n'a pas besoin de modèle et peut apprendre directement à partir d'expériences. Par contre, contrairement à Monte Carlo, le bootstrap fait qu'on n'est pas obligé d'atteindre la fin d'un épisode pour commencer à apprendre[29].

Évaluation de la politique courante[modifier | modifier le code]

L'algorithme prend en entrée une politique . L'évaluation, c'est-à-dire le calcul de la valeur V se fait directement en interagissant avec l'environnement.

fonction eval()
       initialiser arbitrairement  pour tout état 
       répéter (pour chaque épisode)
              initialiser l'état courant S
              répéter (pour chaque pas de temps de l'épisode)
                           A := action donnée par  dans l'état S
                           effectuer l'action a; observer la récompense R et l'état suivant S'
                           
                           S := S' 
               jusqu'à ce que S soit terminal

Itération sur politique[modifier | modifier le code]

Il existe plusieurs algorithmes qui reposent sur le schéma de l'itération sur politique générale. SARSA est on-policy alors que le Q-learning[18] est off-policy.

Apprentissage par renforcement profond[modifier | modifier le code]

Comme la résolution d'un problème d'apprentissage par renforcement passe par l'évaluation de fonctions (politique optimale ou bien valeur optimale), plusieurs chercheurs ont suggéré l'approximation de ces fonction par des réseaux de neurones artificiels[13] pour l'apprentissage par renforcement profond. Ces réseaux de neurones approximent alors la Q-valeur (Deep Q-Learning) ou bien la politique optimale (Policy Gradient). Cette dernière approche est la plus courante pour la résolution de problèmes d'apprentissage complexes.

Malédiction de la dimension[modifier | modifier le code]

Les algorithmes présentés ci-dessus souffrent d'un énorme espace d'état. On parle de la malédiction de la dimension (curse of dimensionality en anglais). Par exemple, le nombre d'images possibles d'une caméra est plus grand que le nombre d'atomes de l'univers[30]. Il y a plusieurs solutions pour accélérer le calcul. La première est de se restreindre à des régions locales de l'espace des états[31],[32],[33],[34]. Une première tentative pour réduire le nombre d'états est l'abstraction[35],[36] (oublier des éléments d'un état, bisimulation, etc.). Toutefois, l'approximation semble prometteuse - au lieu de programmation dynamique, on parle de programmation dynamique approximative[37].

Les algorithmes d'apprentissage par renforcement souffrent également par la taille de l'espace d'action. Afin de diviser les espaces d'état et d'action, des chercheurs ont cherché des décompositions naturelles de ces espaces à travers l'Apprentissage par renforcement hiérarchique. Ce type d'apprentissage regroupe les techniques de division d'espace en région ou encore l'apprentissage de compétence comme une suite d'action[38] alors nommée option.

Comparaison avec d'autres méthodes[modifier | modifier le code]

Contrairement aux algorithmes génétiques, au recuit simulé, qui manipulent une politique/un plan dans son ensemble (un algorithme génétique va brasser plusieurs plans et produire une nouvelle génération de plans ; le recuit simulé va comparer des plans dans leur globalité), l'apprentissage par renforcement repose sur la notion d'état et l'évaluation des actions[39].

Lien avec la biologie[modifier | modifier le code]

La formalisation des problèmes d'apprentissage par renforcement s'est aussi inspirée de théories de psychologie animale, comme celles analysant comment un animal peut apprendre par essais-erreurs à s'adapter à son environnement[réf. nécessaire]. Ces théories ont beaucoup inspiré le champ scientifique de l'intelligence artificielle et ont beaucoup contribué à l'émergence d'algorithmes d'apprentissage par renforcement au début des années 1980[réf. nécessaire].

En retour, le raffinement actuel des algorithmes d'apprentissage par renforcement inspire les travaux des neurobiologistes et des psychologues pour la compréhension du fonctionnement du cerveau et du comportement animal. En effet, la collaboration entre neurobiologistes et chercheurs en intelligence artificielle a permis de découvrir qu'une partie du cerveau fonctionnait de façon très similaire aux algorithmes d'apprentissage par renforcement tels que le TD-learning[40]. Il semblerait ainsi que la nature ait découvert, au fil de l'évolution, une façon semblable à celles trouvées par des chercheurs pour optimiser la façon dont un agent ou organisme peut apprendre par essais-erreurs. Ou plutôt, les chercheurs en intelligence artificielle ont redécouvert en partie ce que la nature avait mis des millions d'années à mettre en place. En effet, la zone du cerveau qui montre des analogies avec les algorithmes d'apprentissage par renforcement s'appelle les ganglions de la base, dont une sous-partie appelée la substance noire émet un neuromodulateur, la dopamine, qui renforce chimiquement les connexions synaptiques entre les neurones. Ce fonctionnement des ganglions de la base a été identifié comme existant chez l'ensemble des vertébrés[41], et on retrouve le même genre de résultats en imagerie médicale chez l'homme[42].

Enfin, la boucle d'échange scientifique entre neurobiologistes, psychologues et chercheurs en intelligence artificielle n'est pas terminée puisque actuellement, des chercheurs prennent inspiration du cerveau pour raffiner les algorithmes d'apprentissage par renforcement et essayer ainsi de mettre au point des robots plus autonomes et adaptatifs que ceux existants[43]. En effet, même si la nature et les chercheurs semblent avoir trouvé séparément une même solution pour résoudre certains types de problèmes tels que ceux décrits au paragraphe précédent, on se rend bien compte que l'intelligence des robots actuels est encore bien loin de celle de l'homme ou même de celle de nombreux animaux tels que les singes ou les rongeurs. Une voie prometteuse pour pallier cela est d'analyser plus en détail comment le cerveau biologique paramétrise et structure anatomiquement des processus tels que l'apprentissage par renforcement, et comment il intègre ces processus avec d'autres fonctions cognitives telles que la perception, l'orientation spatiale, la planification, la mémoire, et d'autres afin de reproduire cette intégration dans le cerveau artificiel d'un robot[44].

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. (en) Hongzi Mao, Mohammad Alizadeh, Ishai Menache et Srikanth Kandula, « Resource Management with Deep Reinforcement Learning », Proceedings of the 15th ACM Workshop on Hot Topics in Networks, ACM, hotNets '16,‎ , p. 50–56 (ISBN 978-1-4503-4661-0, DOI 10.1145/3005745.3005750, lire en ligne, consulté le )
  2. Pieter Abbeel, Adam Coates, Morgan Quigley et Andrew Y. Ng, « An Application of Reinforcement Learning to Aerobatic Helicopter Flight », Proceedings of the 19th International Conference on Neural Information Processing Systems, MIT Press, nIPS'06,‎ , p. 1–8 (lire en ligne, consulté le )
  3. Zhenpeng Zhou, Xiaocheng Li et Richard N. Zare, « Optimizing Chemical Reactions with Deep Reinforcement Learning », ACS Central Science, vol. 3, no 12,‎ , p. 1337–1344 (ISSN 2374-7943, PMID 29296675, PMCID PMC5746857, DOI 10.1021/acscentsci.7b00492, lire en ligne, consulté le )
  4. (en) J. Andrew (Drew) Bagnell et J. Schneider, « Autonomous helicopter control using reinforcement learning policy search methods », ICRA-01,‎
  5. (en) Ng, A and al. (2004). Autonomous helicopter flight via reinforcement learning. In NIPS 16
  6. (en) Donald Michie et Roger A. Chambers, Machine Intelligence 2, North-Holland, Elsevier and Michie D. (Eds.), , « BOXES : An experiment in adaptive control »
  7. (en) Gerry Tesauro, Machine Learning, , partie 8, chap. 3-4 (« Practical issues in temporal difference learning »)
  8. (en) Arthur Samuel, « Some studies in machine learning using the game of checkers », IBM Journal of Research and Development,‎ , p. 210-229
  9. (en) Arthur Samuel, « Some studies in machine learning using the game of checkers II - Recent Progress », IBM Journal of Research and Development,‎ , p. 609-615
  10. (en) Volodymyr Mnih, Koray Kavukcuoglu, David Silver et Andrei A. Rusu, « Human-level control through deep reinforcement learning », Nature, vol. 518, no 7540,‎ , p. 529–533 (ISSN 1476-4687, DOI 10.1038/nature14236, lire en ligne, consulté le )
  11. « Hessel », sur www.aaai.org (consulté le )
  12. « AlphaGo Zero: Starting from scratch », sur Deepmind (consulté le )
  13. a et b Timothy P. Lillicrap, Jonathan J. Hunt, Alexander Pritzel et Nicolas Heess, « Continuous control with deep reinforcement learning », arXiv:1509.02971 [cs, stat],‎ (lire en ligne, consulté le )
  14. Mohammadreza Nazari, Afshin Oroojlooy, Martin Takáč et Lawrence V. Snyder, « Reinforcement learning for solving the vehicle routing problem », Proceedings of the 32nd International Conference on Neural Information Processing Systems, Curran Associates Inc., nIPS'18,‎ , p. 9861–9871 (DOI 10.5555/3327546.3327651, lire en ligne, consulté le )
  15. Lu Duan, Haoyuan Hu, Yu Qian et Yu Gong, « A Multi-task Selected Learning Approach for Solving 3D Flexible Bin Packing Problem », Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems, International Foundation for Autonomous Agents and Multiagent Systems, aAMAS '19,‎ , p. 1386–1394 (ISBN 978-1-4503-6309-9, DOI 10.5555/3306127.3331847, lire en ligne, consulté le )
  16. (en) Bellman, R.E. (1957). A Markov decision process. Journal of Mathematical Mech., 6:679-684.
  17. (en) Sutton, R.S. (1988). Learning to predict by the method of temporal differences. Machine Learning, 3:9-44.
  18. a et b (en) Christopher J. C. H. Watkins et Peter Dayan, « Q-learning », Machine Learning, vol. 8, no 3,‎ , p. 279–292 (ISSN 1573-0565, DOI 10.1007/BF00992698).
  19. (en) Watkins, C.J.C.H. & Dayan, P. (1992). Q-learning. Machine Learning, 8:279-292.
  20. (en) The MIT Press, « Reinforcement Learning, Second Edition », sur The MIT Press (consulté le ), p. 47, Section 3.1 : « The agent-environment interface »
  21. Voir p. 48, note en bas de page 3 de (en) Reinforcement Learning Second Edition.
  22. (en) Section 5.4, p. 100 dans Reninforcement Learning, Second Edition.
  23. (en) Section 5.5, p. 103 dans Reinforcement Learning, Second edition.
  24. Inspiré de la Figure 8.11 p. 190 dans (en) Reinforcement Learning, Second edition.
  25. (en) Chapter 4 de Reinforcement Learning, Second Edition.
  26. (en) Sutton et Barto, Reinforcement Learning, 2e édition, p. 87, section 4.7.
  27. (en) Sutton et Barto, Reinforcement Learning, 2e édition, figure 4.3, p. 97.
  28. (en) Chapter 5, p. 116, de Reinforcement Learning, Second Edition.
  29. (en) Chapter 6, Section 6.2, p. 124 de Reinforcement Learning - Second edition.
  30. (en) The MIT Press, « Reinforcement Learning | The MIT Press », sur mitpress.mit.edu (consulté le ), p. 195 (introduction de la partie II)
  31. (en) « Planning with deadlines in stochastic domains | Proceedings of the eleventh national conference on Artificial intelligence », sur dl.acm.org (consulté le )
  32. (en) « Integrating planning and execution in stochastic domains | Proceedings of the Tenth international conference on Uncertainty in artificial intelligence », sur dl.acm.org (DOI 10.5555/2074394.2074416, consulté le )
  33. (en) Andrew G. Barto, Steven J. Bradtke et Satinder P. Singh, « Learning to act using real-time dynamic programming », Artificial Intelligence, vol. 72, no 1,‎ , p. 81–138 (ISSN 0004-3702, DOI 10.1016/0004-3702(94)00011-O, lire en ligne, consulté le )
  34. « Control Strategies for a Stochastic Planner », sur www.aaai.org (consulté le )
  35. Lihong Li, Thomas J. Walsh et Michael L. Littman, « Towards a Unified Theory of State Abstraction for MDPs », In Proceedings of the Ninth International Symposium on Artificial Intelligence and Mathematics,‎ , p. 531–539 (lire en ligne, consulté le )
  36. Craig Boutilier and Richard Dearden, « Using Abstractions for Decision-Theoretic Planning with Time Constraints (AAAI 1994) »
  37. « Approximate dynamic programming », sur adp.princeton.edu (consulté le )
  38. (en) Phil Winder, Reinforcement Learning - Industrial Application of Intelligent Agents, O'reilly, , 380 p. (ISBN 9781098114831), p. 220
  39. (en) The MIT Press, « Reinforcement Learning, Second Edition | The MIT Press », sur mitpress.mit.edu (consulté le ), p. 7 Section 1.4
  40. (en) Houk, J.C., Adams, J.L. & Barto, A.G. (1995). A Model of how the Basal Ganglia generate and Use Neural Signals That Predict Reinforcement. In Houk et al. (Eds), Models of Information Processing in the Basal Ganglia. The MIT Press, Cambridge, MA.
  41. (en) Redgrave, P., Prescott, T.J. & Gurney, K. (1999). The basal ganglia: a vertebrate solution to the selection problem? Neuroscience, 89, 1009-1023.
  42. (en) O’Doherty, J., Dayan, P., Schultz, J., Deichmann, R., Friston, K. & Dolan, R. (2004). Dissociable Roles of Dorsal and Ventral Striatum in Instrumental Conditioning. Science, 304:452-454.
  43. (en) Khamassi, M., Lachèze, L., Girard, B., Berthoz, A. & Guillot, A. (2005). Actor-critic models of reinforcement learning in the basal ganglia: From natural to artificial rats. Adaptive Behavior, Special Issue Towards Artificial Rodents, 13(2):131-148.
  44. (en) Meyer, J.-A., Guillot, A., Girard, B., Khamassi, M., Pirim, P. & Berthoz, A. (2005). The Psikharpax project: Towards building an artificial rat. Robotics and Autonomous Systems, 50(4):211-223.

Bibliographie[modifier | modifier le code]

  • (en) Richard S. Sutton et Andrew G. Barto, Reinforcement Learning: An Introduction, 2e édition, MIT Press, Cambridge, MA, 2018
  • (en) Tom M. Mitchell, Machine Learning, McGraw-Hill International Editions, [détail des éditions], chap. 13 (« Reinforcement Learning »), p. 367-390

Liens externes[modifier | modifier le code]