Answers:
奖励功能描述了代理“应该”如何行为。换句话说,它们具有“规范”内容,规定了您希望代理完成的任务。例如,一些有价值的状态可能代表食物的味道。也许可能代表品尝食物的行为。因此,在一定程度上,奖励功能决定了代理商的动机是什么,是的,您必须加以弥补!
没有绝对限制,但是如果您的奖励功能“表现得更好”,则代理将学习得更好。实际上,这意味着收敛速度,并且不会陷入局部最小值。但是进一步的规范将在很大程度上取决于您正在使用的强化学习的种类。例如,状态/动作空间是连续的还是离散的?世界或动作选择是随机的吗?奖励是连续收获还是仅在最后收获?
解决问题的一种方法是,奖励函数确定问题的难度。例如,传统上,我们可能会指定要奖励的单个状态:
对于连续状态空间,如果您希望代理易于学习,则奖励功能应该是连续且可微的。因此多项式可以很好地适用于许多算法。此外,尝试删除本地化的最小值。有许多关于如何不制作奖励函数的示例,例如Rastrigin函数。话虽如此,几种RL算法(例如Boltzmann机器)对此具有一定的鲁棒性。
如果您使用RL解决实际问题,则可能会发现尽管找到奖励函数是问题中最困难的部分,但它与如何指定状态空间密切相关。例如,在与时间有关的问题中,到目标的距离通常使奖励功能不佳(例如,在山地车问题中)。可以通过使用更高维度的状态空间(隐藏状态或内存跟踪)或分层RL来解决此类情况。
从抽象的层面上讲,无监督的学习应该避免规定“对与错”的表现。但是现在我们可以看到,RL只是将责任从教师/批评者转移到了奖励职能上。解决该问题的方法较少循环:即推断最佳奖励函数。一种方法称为反向RL或“学徒制学习”,它生成一种奖励函数,该函数将重现观察到的行为。寻找最佳的奖励函数来重现一组观察结果,也可以通过MLE,贝叶斯或信息理论方法来实现-如果您用Google搜索“逆强化学习”。