Les fonctions de récompense décrivent comment l'agent «devrait» se comporter. En d'autres termes, ils ont un contenu "normatif", stipulant ce que vous voulez que l'agent accomplisse. Par exemple, un état gratifiant s pourrait représenter le goût des aliments. Ou peut-être, (s,a) pourrait représenter l'acte de goûter la nourriture. Donc, dans la mesure où la fonction de récompense détermine quelles sont les motivations de l'agent, oui, il faut inventer!
Il n'y a pas de restrictions absolues, mais si votre fonction de récompense est "mieux comportée", l'agent apprendra mieux. Pratiquement, cela signifie une vitesse de convergence et ne pas rester coincé dans les minima locaux. Mais d'autres spécifications dépendront fortement des espèces d'apprentissage par renforcement que vous utilisez. Par exemple, l'espace état / action est-il continu ou discret? Le monde ou la sélection d'actions est-il stochastique? La récompense est-elle récoltée en continu, ou seulement à la fin?
Une façon de voir le problème est que la fonction de récompense détermine la dureté du problème. Par exemple, traditionnellement, nous pourrions spécifier un seul état à récompenser:
R(s1)=1
R(s2..n)=0
Dans ce cas, le problème à résoudre est assez difficile, par rapport à, disons, R(si)=1/i2 , où il y a un gradient de récompense sur les états. Pour les problèmes difficiles, en spécifiant plus de détails, par exemple R(s,a) ou R(s,a,s′) peut aider certains algorithmes en fournissant des indices supplémentaires, mais potentiellement au prix d'exiger plus d'exploration. Vous devrez peut-être inclure les coûts comme termes négatifs dansR (par exemple,les coûts énergétiques), pour rendre le problème bien spécifié.
Dans le cas d'un espace d'état continu, si vous voulez qu'un agent apprenne facilement, la fonction de récompense doit être continue et différenciable . Les polynômes peuvent donc bien fonctionner pour de nombreux algorithmes. De plus, essayez de supprimer les minima localisés. Il existe un certain nombre d' exemples sur la façon de NE PAS faire une fonction de récompense - comme la fonction Rastrigin . Cela dit, plusieurs algorithmes RL (par exemple les machines Boltzmann ) sont un peu robustes à ces derniers .
Si vous utilisez RL pour résoudre un problème du monde réel, vous constaterez probablement que bien que trouver la fonction de récompense soit la partie la plus difficile du problème, elle est intimement liée à la façon dont vous spécifiez l'espace d'état . Par exemple, dans un problème dépendant du temps, la distance par rapport au but fait souvent une mauvaise fonction de récompense (par exemple dans le problème de la voiture de montagne ). De telles situations peuvent être résolues en utilisant des espaces d'états de dimension supérieure (états cachés ou traces de mémoire), ou par RL hiérarchique.
À un niveau abstrait, l'apprentissage non supervisé était censé éviter de stipuler des performances «bonnes et mauvaises». Mais nous pouvons voir maintenant que RL transfère simplement la responsabilité de l'enseignant / critique à la fonction de récompense. Il existe un moyen moins circulaire de résoudre le problème: c'est-à-dire d' inférer la meilleure fonction de récompense . Une méthode est appelée RL inverse ou «apprentissage d'apprentissage» , qui génère une fonction de récompense qui reproduirait les comportements observés. La recherche de la meilleure fonction de récompense pour reproduire un ensemble d'observations peut également être implémentée par des méthodes MLE, bayésiennes ou théoriques de l'information - si vous recherchez "l'apprentissage par renforcement inverse" sur Google.