Dans l'apprentissage par renforcement, nous avons une fonction de récompense qui informe l'agent de la qualité de ses actions et états actuels. Dans un cadre général, la fonction de récompense est fonction de trois variables:
- État actuel
- Action en cours à l'état actuel
- Prochain état
Cela ressemble donc à quelque chose comme:
Quelle est ma question (qui est probablement mon malentendu), normalement la personne qui utilise l'apprentissage par renforcement décide quelle est la récompense. Par exemple, il attribue 1000 points pour atteindre l'objectif ou 1 000 points pour planter le robot autonome. Dans ces scénarios, il n'est pas clair pour moi pourquoi nous aurions besoin d'échantillons pour apprendre que R. R est a priori spécifié, puis nous utilisons notre agent. Droite? Cependant, je sais que je me trompe parce que dans les notes d'Andrew Ng, il dit:
Où il dit que nous ne connaissons pas explicitement la fonction de récompense. Cela me semble bizarre. Je sais que je me trompe et j'aimerais que quelqu'un me clarifie dans quels scénarios devons-nous réellement apprendre le R à partir d'échantillons?
(évidemment, les probabilités de transition doivent être apprises car on ne sait pas comment l'environnement va a priori faire bouger notre agent).
la source
Je suis d'accord avec les autres réponses que d'habitude, la fonction de récompense n'est pas apprise directement.
Les probabilités de transition ne doivent pas non plus être apprises. L'agent peut apprendre directement les valeurs de l'action, ou même directement la politique, avec la méthode du gradien de politique par exemple.
Il existe cependant des techniques pour lesquelles la récompense et les probabilités de transition doivent être apprises. Par exemple, l'algorithme dyna-Q (décrit dans Sutton & Barto) maintient un modèle de l'environnement. À chaque pas de temps, l'agent utilise les informations de récompense et d'état reçues de l'environnement pour mettre à jour les valeurs d'action, comme dans Q-learning par exemple.
Mais il met également à jour son propre modèle d'environnement, puis effectue N autres mises à jour de valeurs d'action basées sur ce modèle. La supposition est que la boucle de détection agissant> prend un certain temps non nul, temps que nous pouvons mettre à profit en améliorant les valeurs d'action avec des échantillons simulés.
la source
C'est une bonne question qui est plus profonde que toute formulation imprécise dans les notes d'Andrew. Il est vrai qu'en RL vous n'avez généralement pas besoin d'apprendre une fonction de récompense R (S, A, S '); vous devez le spécifier dans le cadre de la configuration du problème. MAIS, il existe des algorithmes (dans mon expérience associés à la fonction de valeur d'état après-état ou post-décision) qui nécessitent la récompense attenduer (S, A) = E [R (S, A, S ') | S, A]. Généralement, les textes que j'ai vus font peu de commentaires à ce sujet et supposent que r (s, a) est connu tout comme R (S, A, S ') est connu. Mais dans certains cas, la récompense dépend de l'état futur, donc sans modèle, vous devez apprendre cette attente. Je travaille actuellement sur un tel problème où la fonction de récompense attendue ainsi que la fonction de valeur doivent être apprises. Notez que la plupart des algorithmes RL ne nécessitent PAS la fonction de récompense attendue, mais certains le font. Voir par exemple la discussion sur la page 58 dans Algorithms for Reinforcement Learning par Szepesvari.
En résumé, vous n'avez pas besoin d'apprendre la fonction de récompense, mais lorsque vous travaillez avec des variables d'état post-décision, vous devrez peut-être apprendre la fonction de récompense attendue . C'est le seul cas que je connaisse où vous devez apprendre une fonction de récompense attendue, mais je serais intéressé d'entendre parler d'autres cas.
la source
Dans l'apprentissage par renforcement, l'agent apprend la fonction de valeur, pas la fonction de récompense. La valeur d'une action est son utilité globale; par exemple, une action peut apporter une récompense élevée, mais conduire à des états de faible valeur, ce qui en fait une valeur faible.
Ce que dit la citation, c'est que parfois le monde est compliqué: certains problèmes ont des espaces d'action d'état qui sont trop grands pour être énumérés, nous n'avons donc pas de probabilité de transition explicite et de fonctions de récompense. Dans un tel cas, l'agent devrait apprendre une certaine généralisation de la fonction vraie valeur.
la source
Je pense que ces notes sont un peu déroutantes. Les récompenses doivent être conçues par vous pour encourager votre agent RL à optimiser le comportement que vous souhaitez voir. Les transitions entre les états sont données par l'environnement et seront souvent estimées à partir des données. Je pense que ce à quoi Andrew fait référence est une situation où de l'état A, vous pouvez passer à l'état B où vous donnez la récompense x ou à l'état C que vous donnez la récompense y. Si les états B et C sont identiques, à l'exception des différences de récompense, vous élimineriez souvent les états B et C et attribueriez à l'état A une récompense estimée à partir de données qui montrent à quelle fréquence vous passez à B ou C à partir de A.
la source