我正在实施 Q 学习算法,我观察到我的 Q 值没有收敛到最优 Q 值,即使策略似乎正在收敛。我将动作选择策略定义为 epsilon-greedy,并且 epsilon 从 1 开始减少 1/N(N 是迭代的总数)。这样,在早期的迭代中,算法探索随机状态,然后这个速率逐渐降低,导致被利用。此外,我将学习率定义为 1/N_t(s,a),其中 N_t(s,a) 是访问 (s,a) 的总次数。
一切似乎都是正确的,但由于我无法达到最佳 Q 值,我开始研究不同的策略,同时变得非常困惑。我知道当所有 (s,a) 对被无限频繁地访问时,就可以实现收敛。这不等于说所有 (s,a) 对都被探索了很多次吗?换句话说,为什么我们需要利用来实现收敛?如果我们不利用而只专注于探索怎么办?如果我们这样做,我们会搜索所有的解决方案空间,因此这还不足以找到最优策略吗?
此外,当它说 Q 值收敛到最优值时,只有 max_a[Q(s,a)] 收敛到它的最优值还是所有 Q(s,a) 值收敛到它们的最优值?
可能所有这些都有一个简单的答案,但是即使我检查了很多资源和类似的线程,我仍然无法弄清楚利用背后的逻辑。非常感谢您提前抽出时间!