扩展奖励时 UCB 性能的差异

人工智能 强化学习 奖励 多臂强盗 置信上限
2021-11-07 09:46:42

运行实验时,我注意到以下行为ϵ-贪婪和UCB1。如果奖励保持二进制(0 或 1),则两个算法的性能彼此相当。但是,如果我使奖励连续(并且有界 [0, 1]),那么ϵ-greedy 仍然不错,但 UCB1 性能直线下降。作为一个实验,我只是将 1 的奖励放大了 1/10,这会对性能产生负面影响。

我已经绘制了算法估计的奖励值,并且看到(由于置信区间项)UCB1 在很大程度上高估了奖励。

有解决这个问题的实用技巧吗?我的猜测是比例系数c在置信上限之前仅适用于这种情况。然而,性能上的差异对我来说是惊人的。我怎么知道什么时候以及什么比例系数是合适的?

===

更新 1奖励分配非常简单。有 17 个臂,对于臂 3 和 4,学习算法得到 1 的奖励,其他臂返回 0 的奖励。没有随机性,算法有 1000 次迭代。

例如,如果我将奖励扩大 1/10,那么 UCB1 需要很长时间才能开始赶上ϵ-贪婪的

1个回答

Epsilon 贪心不受奖励缩放的影响,它总是选择具有 epsilon 概率的随机动作。

另一方面,如果我们看一下 UCB 的公式(强化学习的第 2.7 节,Sutton 和 Barto):

Atargmaxa[Qt(a)+clntNt(a)]

在哪里Qt(a)=R1+R2++Rn1n1是迄今为止该动作的平均奖励。通过缩放奖励,例如 1/10,您实际上是在缩放Qt(a)减少 1/10,这将改变 UCB 的行为以支持探索性右手术语clntNt(a). 如果您想抵消奖励的缩放,您应该将 c 缩放相同的数量。从理论上讲,我相信这应该会导致与实现预缩放相同的性能。

事实上,另一种看待它的方式是,在使用 UCB 时,您可以省去c完全保持不变,并简单地调整奖励以调整开发/探索权衡。较小的奖励有利于探索,较大的奖励有利于剥削。