中间奖励可以用于强化学习吗?

机器算法验证 机器学习 强化学习
2022-04-02 09:36:42

RL 中的常见做法是在任务结束时只给出一个奖励?或者也可以引入子任务/中间目标,这样反馈就不会那么延迟,需要更多的奖励(功能)?

3个回答

当任务最终完成时,RL 中的常见做法是只奖励一个奖励函数吗?

这不是奖励函数的正确定义。一个 MDP 有一个单一的奖励函数,其中是问题中的状态集和动作集。您有时会看到参数较少的版本,例如R(s,a,s):S×A×SRS,AR(s,a)R(s)

R为每个状态转换返回奖励。它们中的许多,甚至除了一个之外,都可以为零。或者,其他中间状态可以包括正面或负面奖励。两者都是可能的,并且取决于特定的应用程序。

这是您在大多数强化学习论文开始时会找到的定义,例如关于奖励塑造的这篇文章,关于如何在不影响最优策略的情况下改变奖励函数的相关研究。

我认为您的问题的简短版本是肯定的,仅奖励完全完成任务的代理似乎是一种常见的做法,但请注意您的措辞,正如肖恩在他的回答中指出的那样,奖励功能是为状态、动作和未来状态的所有可能组合。

为了补充 Sean 的答案,请考虑从 Richard Sutton 和 Andrew Barto 的强化学习介绍书中摘录的这些片段:

奖励信号是您与 [agent] 交流您希望它实现的目标的方式而不是希望它实现的方式(作者强调)。

例如,下棋的智能体应该只因实际获胜而获得奖励,而不是因为实现了诸如拿走对手棋子或控制中心等子目标。

尽管这似乎是他们书中推荐的方法,但我相信您可以找到其他不同意的人。

如果您对子任务感兴趣,可以查看options除了选项之外,还有一种奖励功能。