Pourquoi (et quand) faut-il apprendre la fonction de récompense à partir d'échantillons dans l'apprentissage par renforcement?

9

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:

  1. État actuelS
  2. Action en cours à l'état actuelπ(s)=a
  3. Prochain étatS

Cela ressemble donc à quelque chose comme:

R(S,a,S)

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:

entrez la description de l'image ici

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

Pinocchio
la source

Réponses:

4

Dans ses notes, quand il faut "les estimer à partir des données", il ne s'agit pas de la fonction de récompense . Vous estimez rarement la fonction de récompense. Vous apprenez généralement la fonction de valeur , qui estime la récompense immédiate plus la future récompense temporellement actualisée (si la remise temporelle est nulle, alors vous estimez les récompenses). Ou, vous pouvez apprendre les valeurs Q , qui sont des valeurs associées à des paires état-action.

En résumé, la fonction de récompense et la vraie fonction de transition sont définies par l'environnement. L'agent apprend des choses comme la fonction de transition, les valeurs Q et la fonction de valeur.

Neil G
la source
1
Notez également que parfois nous voulons apprendre la fonction de récompense (apprentissage par renforcement inverse)
hipoglucido
1

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.

Jacques
la source
1

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.

Mark Britten-Jones
la source
0

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.

Don Reba
la source
0

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.

nsweeney
la source