奖励结构的制定

数据挖掘 强化学习 演员评论家 kerasrl 折扣奖励
2022-03-09 16:12:57

我是强化学习和尝试训练 RL 代理的新手。

我对奖励公式有疑问,从给定状态来看,如果代理采取了好的行动,我会给予积极的奖励,如果行动不好,我会给予消极的奖励。因此,如果我在代理采取好的行动时给予非常高的正奖励,例如正值是负奖励的 100 倍,它会在训练期间帮助代理吗?

直觉上我觉得这会有助于智能体的训练,但是这种倾斜的奖励结构会有什么弊端吗?

1个回答

TL;DR:多种不同奖励的相对规模可能很重要。但是,在一场比赛中给予 +10 表示胜利并给予 -1 表示一场比赛失败不会比调整学习率更好地提高学习如何获胜的速度。

从一个给定的状态来看,如果代理采取了好的行动,我给予积极的奖励,如果行动是坏的,我给予消极的奖励。

通常你不知道什么是“好动作”或“坏动作”,奖励系统是基于某个状态下动作的直接结果。

您可能已经知道这一点,我将把这个答案的其余部分表述为您所说的“良好行动”。然而,这是一个重要的细节,所以如果你不确定有什么区别,你可以问另一个问题。

因此,如果我在代理采取好的行动时给予非常高的正奖励,例如正值是负奖励的 100 倍,它会在训练期间帮助代理吗?

理想的奖励计划基于您关心的易于衡量的结果。例如,到达目的地、解决难题、收集了多少物品、游戏中的得分、赢得与对手的游戏。

如果你同时有消极和积极的奖励,它们通常需要以一种对问题有意义的方式相互缩放。例如,如果某些资源(例如时间、燃料或金钱)仅因代理执行而不解决任务而被用完,则每个时间步的负奖励较低是很常见的。在这种情况下,例如对“坏动作”有一个小的 -0.1 奖励和对“好动作 = 完成任务”有一个更大的 +10 奖励可能是有意义的。

扩大奖励就像提高学习率。通常有一些最佳学习率,其中代理学习得最快。太高了,学习不稳定。太低了,学习太慢了。鉴于这种情况,通常您只关心获得正确的相对大小的奖励,然后您可以缩放学习率以获得最佳学习速度。

仅扩大积极奖励没有具体好处。通常只有在问题定义允许时才应该这样做。可能有助于提高代理在测试时的学习速度,但大部分效果与缩放学习率相同。

这与训练动物、教小孩或对人类一般的奖励不同,在这些地方,您可能会被建议更频繁地使用积极的奖励和积极的信号而不是消极的信号。然而,这很可能与生物的一般生存和通才学习的问题域有关,大多数 RL 没有复制。这绝对不是扩展到使用 RL 构建的更简单的统计代理(例如 Q-learning)的建议。