【发布时间】:2018-08-15 03:05:05
【问题描述】:
在 DQN、Actor-Critic 或 A3C 中选择奖励值时,是否有选择奖励值的通用规则?
正如我所听到的,(-1 ~ +1) 奖励是非常有效的选择。
你能告诉我任何建议和原因吗??
【问题讨论】:
在 DQN、Actor-Critic 或 A3C 中选择奖励值时,是否有选择奖励值的通用规则?
正如我所听到的,(-1 ~ +1) 奖励是非常有效的选择。
你能告诉我任何建议和原因吗??
【问题讨论】:
理想情况下,您希望标准化您的奖励(即 0 均值和单位方差)。在您的示例中,奖励介于 -1 到 1 之间,满足此条件。我相信原因是因为它在更新你的神经网络参数时加速了梯度下降,而且它还允许你的 RL 代理更有效地区分好动作和坏动作。
一个例子:假设我们正在尝试构建一个代理来过马路,如果它过马路,它会获得 1 的奖励。如果它被汽车撞到,它会获得 -1 的奖励,并且每一步产生 0 的奖励。按百分比计算,成功的奖励远高于失败的奖励(被车撞)。
但是,如果我们给代理奖励 1,000,000,001 成功过马路,奖励 999,999,999 给它被车撞(这个场景和上面的场景在标准化时是相同的),成功不再和以前一样发音。此外,如果您对如此高的奖励进行折扣,这将使两种情况的区别更加难以识别。
这在 DQN 和其他函数逼近方法中尤其存在问题,因为这些方法概括了状态、动作和奖励空间。所以 -1 和 1 的奖励有很大的不同,但是如果我们用函数来泛化它,1,000,000,001 和 999,999,999 的奖励基本相同。
【讨论】: