我正在设计DQN模型的奖励函数,这是深度强化学习部分中最棘手的部分。我参考了几个案例,注意到通常奖励会设置在[-1,1]中。考虑到如果负面奖励被触发的次数更少;稀疏的";与正向奖励相比,正向奖励可能低于1。
我想知道为什么我应该设置总是尝试将奖励设置在这个范围内(有时可以是[0,1],其他时候可以是[-1,0]或简单地-1(?这个范围背后的理论或原理是什么?
我仔细阅读了这个答案;它提到将500设置为正奖励,将-1设置为负奖励将破坏网络。但它将如何摧毁模型?
我可以模糊地理解这与梯度下降有关,实际上这是奖励之间的差距,而不是符号或绝对值。但我仍然没有明确的提示,它是如何摧毁的,以及为什么会在这样的范围内。
此外,我什么时候应该使用[0,1]这样的奖励,或者只使用负奖励?我的意思是,在给定的时间步长内,这两种方法似乎都可以推动代理人找到最高的总奖励。只有在我想让经纪人尽快到达终点的情况下,负奖励似乎比正奖励更合适。
是否有衡量奖励设计是否合理的标准?就像用好动作和坏动作的Q值求和一样,它是对称的,最后的Q应该在零附近,这意味着它收敛?
我想知道为什么我应该设置总是尝试将奖励设置在这个范围内(有时可以是[0,1],其他时候可以是[-1,0]或简单地-1(?
如果你在[0,1]或[-1,0]范围内定义奖励函数,本质上是一样的。这只会导致你的行动值是正的或负的,但不会影响你的神经网络的收敛。
我仔细阅读了这个答案;它提到将500设置为正奖励,将-1设置为负奖励将破坏网络。但它将如何摧毁模型?
我真的不同意这个答案。这样的奖励函数不会";销毁";然而,该模型无法为代理人的行为提供平衡的积极和消极回报。它为特工提供了不崩溃的激励,但并不鼓励特工切断对手的联系。
此外,我什么时候应该使用[0,1]这样的奖励或只使用负奖励?
如前所述,无论您使用正奖励还是负奖励都无关紧要。重要的是你的报酬的相对性。例如,正如你所说,如果你希望代理尽快达到终端状态,从而引入负奖励,那么只有在剧集中没有正奖励的情况下,它才会起作用。如果特工能在这一集的中途获得积极的奖励,就不会激励他尽快结束这一集。因此,重要的是相对性。
DQN的奖励函数的设计原则是什么?
正如您所说,这是RL的棘手部分。在我看来,奖励是"只是";将系统引导到您评估最多的(状态、操作(对的方法。所以,如果你认为一对(状态、动作(比另一对大500倍,为什么不呢?
关于值的范围。。。假设你知道所有可以分配的奖励,因此你知道值的范围,你可以很容易地将其归一化,比如说[0,1]。所以,这个范围并不意味着什么,但你分配的值说明了很多。
关于负奖励值。总的来说,我发现它存在于以最小化成本为目标的问题中。例如,如果你有一个机器人的目标是在房间里收集垃圾,他必须不时地给自己充电才能继续完成这项任务。你可能会在电池消耗方面获得负面奖励,你的目标是将其降至最低。另一方面,在许多游戏中,目标是获得越来越多的分数,因此分配正值是很自然的。