在Q学习中,如果我的Q函数由一个标准的前馈神经网络近似,我应该如何表示我的奖励函数?
我应该将其表示为离目标“近”,“非常近”等离散值吗?我所关心的只是,既然我已经转移到Q函数的神经网络近似Q(s, a, θ)
,不再使用查找表,我是否仍然需要构建一个奖励表?
回答:
并没有所谓的“奖励表”,你应该定义“奖励信号”,这是在一个给定的代理-世界状态和特定时间戳下产生的。这个奖励应该是标量(数字)。一般来说,你可以考虑更复杂的奖励,但在Q学习的典型设置中,奖励只是一个数字,因为算法的目标是找到一个策略,以最大化预期的总和折扣奖励。显然,你需要一个可以被加、乘并且最终可以比较的对象,而这种对象最有效的是数字(或者可以直接转换为数字)。好了,考虑到你的特定情况,如果你知道到目标的距离,你可以给出与距离成反比的奖励,甚至可以是-distance
,或者1/distance
(因为这将保证更好的缩放)。