Apprentissage par renforcement

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

En intelligence artificielle, plus précisément en apprentissage automatique, l'apprentissage par renforcement consiste, pour un agent autonome (robot, etc.), à 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.

Applications[modifier | modifier le code]

Jeux Ataris. 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 permet de créer un programme qui joue à des jeux Atari. Leur système apprend à jouer à des jeux, en recevant en entrée les pixels de l'écran et le score. De manière intéressante, leur système n'a pas accès à l'état mémoire interne mémoire du jeu (sauf le score). En 2018, Hessel et al.[11] ont combiné plusieurs techniques pour améliorer les performances. 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éplacement d'un robot sur pattes, et autres manipulations de dextérité.

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[14].

Parmi les premiers algorithmes d'apprentissage par renforcement, on compte le Temporal difference learning (TD-learning), proposé par Richard Sutton en 1988[15], et le Q-learning[16] mis au point essentiellement lors d'une thèse soutenue par Chris Watkins en 1989 et publié réellement en 1992[17].


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. Dans un processus de décision markovien, il y a[18] :

1. 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.
2. 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.
3. 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 on peut supposer pour simplifier que l'ensemble des actions est le même dans tous les états[19]. 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 commence comme suit :

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

Politique[modifier | modifier le code]

A 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]

Pour cela, on introduit le gain comme état la somme des récompenses obtenues : où T est le temps où on attend un état terminal dans le processus de décision markoviens (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 .

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é 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 machines à 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 des actions a qui maximise . Dans cette approche gloutonne, l'agent exploite une des meilleures actions mais n'explore d'autres actions qui sont d'apparences moins bonnes. Le problème de l'approche gloutonne (exploitation seulement) est que l'on 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 s' et d'avoir la récompense depuis l'état s en exécutant l'action a. 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 quand 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 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[20]. 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 lent à 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é lorsque les épisodes sont générés par un contrôleur non conventionnel, ou un par humain expert[21].

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 lance des simulations jusqu'à atteindre final pour évaluer et n'utilisent pas d'évaluations précédentes. L'algorithme Monte Carlo ne "boostrap" 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équent bon, soit parce qu'en suivant la politique depuis cet état, on gagnera beaucoup de récompense. 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 : ainsi, on a un tableau qui stocke des valeurs . Vu le nombre important d'états (problème appelée malédiction de la dimension), certains algorithmes utilisent une approximation de cette table.

La table suivante donne les quatre grandes classes d'algorithmes[22]. La table donne aussi les diagrammes backup qui sont des diagrammes utilisées 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èles pour connaître les actions et les états suivants.
Boostrap. L'évaluation d'un état se fait en fonction des évaluations précédentes (des états suivants). Temporal-difference learning

RL-TDlearning.svg

Programmation dynamique

RL-DP.svg

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

RL-MonteCarlo.svg

Recherche exhaustive (planification)

RL-ExhaustiveSearch.svg


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

L'itération sur politique générale est une idée pour calculer une politique a priori optimale qui repose sur l'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[23]. Autrement dit, les comportements de l'environnement sont connues par l'algorithme. Bien que ce cadre n'est pas réaliste, la programmation dynamique est important 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 itération sur valeur. Selon Sutton et Barto, ce n'est pas clair lequel des deux algorithmes est le meilleur en pratique[24].

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, puis 2. on utilise cette évaluation pour amélioration la politique en cherchant à la meilleure action dans tous les états. Quand la politique n'est plus modifiée, l'algorithme s'arrête.

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 
             
     
     si  n'a pas été modifié dans la boucle pour, alors
                retourner , 

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

L'itération sur valeur est similaire mais combine l'évaluation de la politique et son amélioration.

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

retourner la politique  définie par pour tout , 

Monte Carlo[modifier | modifier le code]

Les méthodes de Monte Carlo diffèrent de l'approche programmation dynamique sur deux aspects[25]. 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 est pas obligé d'atteindre la fin d'un épisode pour commencer à apprendre[26].

É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.

eval()
       initialiser arbitrairement  pour tout état 
       répéter pour chaque épisode
              initialiser S
               répéter pour chaque pas de temps de l'épisode
                           A := action donnée par  pour 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 repose sur le schéma de l'itération sur politique générale. SARSA est on-policy alors que le Q-learning[16] est off-policy.

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

Les algorithmes présentés ci-dessus souffrent du fait que l'espace d'états est énormes. 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[27]. Il y a plusieurs solutions pour accélérer le calcul. La première est de se restreindre à des régions locaux de l'espace des états[28],[29],[30],[31]. Une première tentative pour réduire le nombre d'états est l'abstraction[32],[33] (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[34].

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

Contrairement aux algorithmes génétiques, au recuit simulé, manipule 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é. Au contraire, l'apprentissage par renforcement repose sur la notion d'état et l'évaluation des actions[35].

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[36]. 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[37], et on retrouve le même genre de résultats en imagerie médicale chez l'homme[38].

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[39]. 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[40].

Voir aussi[modifier | modifier le code]

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

  1. 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, série HotNets '16,‎ , p. 50–56 (ISBN 978-1-4503-4661-0, DOI 10.1145/3005745.3005750, lire en ligne, consulté le 8 décembre 2019)
  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, série NIPS'06,‎ , p. 1–8 (lire en ligne, consulté le 8 décembre 2019)
  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 8 décembre 2019)
  4. (en) J. Andrew (Drew) Bagnell et J. Schneider, « Autonomous helicopter control using reinforcement learning policy search methods », ICRA-01,‎
  5. 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 8 novembre 2019)
  11. « Hessel », sur www.aaai.org (consulté le 8 novembre 2019)
  12. « AlphaGo Zero: Starting from scratch », sur Deepmind (consulté le 8 novembre 2019)
  13. 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 16 mars 2020)
  14. Bellman, R.E. (1957). A Markov decision process. Journal of Mathematical Mech., 6:679-684.
  15. Sutton, R.S. (1988). Learning to predict by the method of temporal differences. Machine Learning, 3:9-44.
  16. 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, lire en ligne, consulté le 19 mars 2020)
  17. Watkins, C.J.C.H. & Dayan, P. (1992). Q-learning. Machine Learning, 8:279-292.
  18. (en) The MIT Press, « Reinforcement Learning, Second Edition | The MIT Press », sur mitpress.mit.edu (consulté le 6 février 2020), p. 47, Section 3.1 The agent-environment interface
  19. Voir p. 48, note en bas de page 3 de Reinforcement Learning Second Edition.
  20. Section 5.4, p. 100 dans Reninforcement Learning, Second Edition.
  21. Section 5.5, p. 103 dans Reinforcement Learning, Second edition.
  22. Inspiré de la Figure 8.11 p. 190 dans Reinforcement Learning, Second edition.
  23. cf. Chapter 4 de Reinforcement Learning, Second Edition.
  24. p. 87 Section 4.7 de Reinforcement Learning, Second Edition.
  25. cf. Chapter 5, p. 116, de Reinforcement Learning, Second Edition.
  26. Chapter 6, Section 6.2, p. 124 de Reinforcement Learning - Second edition.
  27. (en) The MIT Press, « Reinforcement Learning | The MIT Press », sur mitpress.mit.edu (consulté le 22 février 2020), p. 195 (introduction de la partie II)
  28. (en) « Planning with deadlines in stochastic domains | Proceedings of the eleventh national conference on Artificial intelligence », sur dl.acm.org (consulté le 19 mars 2020)
  29. (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 19 mars 2020)
  30. (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 19 mars 2020)
  31. « Control Strategies for a Stochastic Planner », sur www.aaai.org (consulté le 19 mars 2020)
  32. 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 22 février 2020)
  33. Craig Boutilier and Richard Dearden, « Using Abstractions for Decision-Theoretic Planning with Time Constraints (AAAI 1994) »
  34. « Approximate dynamic programming », sur adp.princeton.edu (consulté le 22 février 2020)
  35. (en) The MIT Press, « Reinforcement Learning, Second Edition | The MIT Press », sur mitpress.mit.edu (consulté le 6 février 2020), p. 7 Section 1.4
  36. 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.
  37. Redgrave, P., Prescott, T.J. & Gurney, K. (1999). The basal ganglia: a vertebrate solution to the selection problem? Neuroscience, 89, 1009-1023.
  38. 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.
  39. 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.
  40. 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) 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]