我已经实现了一个简单的 Q 学习算法,通过将奖励设置为代理所采取行动的成本的倒数来最小化成本函数。该算法收敛得很好,但是对于奖励函数的不同阶数,我在全局成本收敛中得到了一些差异。如果我将奖励函数用作:
与我使用奖励时相比,该算法收敛得更好(全局成本更低,这是该过程的目标):
这种差异的解释是什么?是面对不确定性时的乐观问题吗?
我已经实现了一个简单的 Q 学习算法,通过将奖励设置为代理所采取行动的成本的倒数来最小化成本函数。该算法收敛得很好,但是对于奖励函数的不同阶数,我在全局成本收敛中得到了一些差异。如果我将奖励函数用作:
与我使用奖励时相比,该算法收敛得更好(全局成本更低,这是该过程的目标):
这种差异的解释是什么?是面对不确定性时的乐观问题吗?
强化学习 (RL) 控制使预期的奖励总和最大化。如果您更改奖励指标,它将改变什么是最优的。您的奖励功能不一样,因此在某些情况下会改变解决方案的优先级。
作为一个简单的例子,考虑在成本为 A(0,4,4,4) 和 B(1,1,1,1) 的轨迹之间进行选择。在原始成本公式中,B 显然更好,总成本为 4,而 A 的成本为 12 - A 一开始只有一个低成本,我故意放了它,因为它暴露了你的转换问题。
在你的两个奖励公式中:
reward = 1/(cost+1)**2.
A: 1.0 + 0.04 + 0.04 + 0.04 = 1.12
B: 0.25 + 0.25 + 0.25 + 0.25 = 1.0
reward = 1/(cost+1).
A: 1.0 + 0.2 + 0.2 + 0.2 = 1.6
B: 0.5 + 0.5 + 0.5 + 0.5 = 2.0
因此,对于这个例子(仔细选择的数字),最大化总奖励有利于 A 逆平方和但 B 逆和,而 B 应该是最小化成本总和的明显偏好。可以为您的两个公式找到示例,其中最好的奖励总和不会给您最低的成本。
就您而言,如果您真的想最小化总成本,那么您的奖励转换应该是:
reward = -cost
其他任何事情在技术上都会改变问题的性质,并且会导致不同的解决方案,对于您的初始目标可能不是最佳的。