Python MDP&;强化学习——VI、PI和QLearning算法的收敛性比较

Python MDP&;强化学习——VI、PI和QLearning算法的收敛性比较,python,machine-learning,reinforcement-learning,q-learning,mdp,Python,Machine Learning,Reinforcement Learning,Q Learning,Mdp,我已经使用python实现了VI(值迭代)、PI(策略迭代)和QLearning算法。在比较结果之后,我注意到了一些东西。VI和PI算法收敛到相同的实用程序和策略在参数相同的情况下,QLearning算法收敛到不同的实用程序,但策略与VI和PI算法相同。这是正常现象吗?我读了很多关于MDP和RL的论文和书籍,但找不到任何关于VI-PI算法的实用程序是否应该收敛到与QLearning相同的实用程序的信息 以下是关于我的网格世界和结果的信息 我的网格世界 状态=>{s0,s1,…,s10} 动作

我已经使用python实现了VI(值迭代)、PI(策略迭代)和QLearning算法。在比较结果之后,我注意到了一些东西。VI和PI算法收敛到相同的实用程序和策略在参数相同的情况下,QLearning算法收敛到不同的实用程序,但策略与VI和PI算法相同。这是正常现象吗?我读了很多关于MDP和RL的论文和书籍,但找不到任何关于VI-PI算法的实用程序是否应该收敛到与QLearning相同的实用程序的信息

以下是关于我的网格世界和结果的信息

我的网格世界

  • 状态=>{s0,s1,…,s10}
  • 动作=>{a0,a1,a2,a3}其中:a0=向上,a1=向右,a2=向下,a3=所有状态的向左
  • 有4个终端状态,它们有+1、+1、-10、+10奖励
  • 初始状态为s6
  • 动作的转移概率为P,而(1-P)/2为动作的左侧或右侧。(例如:如果P=0.8,当代理尝试上升时,80%的概率代理上升,10%的概率代理向右,10%的概率代理向左。)
结果

  • 奖励=-0.02,折扣系数=0.8,概率=0.8的VI和PI算法结果
  • VI在50次迭代后收敛,PI在3次迭代后收敛

  • QLearning算法的结果为奖励=-0.02,折扣系数=0.8,学习率=0.1,ε(用于探索)=0.1
  • QLearning结果映像上的结果实用程序是每个状态的最大Q(s,a)对


此外,我还注意到,当QLearning进行100万次迭代时,距离+10奖励终端同样远的状态具有相同的实用程序。代理似乎并不关心它是否将从接近-10终端的路径获得奖励,而代理关心VI和PI算法这是因为在QLearning中,我们不知道环境的转移概率吗?

如果状态空间和动作空间是有限的,就像在你的问题中一样,
Q-learning
算法应该渐近收敛到最优效用(aka,Q-function),在以下条件下,当过渡次数接近无穷大时:

,

其中,
n
是过渡次数,
a
是学习率。 这种情况需要随着学习进度更新您的学习率。典型的选择可能是使用
A_n=1/n
。然而,在实践中,学习速率时间表可能需要根据问题进行一些调整

另一方面,另一个收敛条件包括无限更新所有状态-动作对(在非对称意义上)。这可以通过保持大于零的勘探速率来实现


因此,在您的情况下,您需要降低学习率。

我的QLearning算法收敛,我对此没有问题。我要问的问题是,当值迭代算法收敛时,状态的收敛效用值是否与Q函数效用值相同。是的,我理解你的问题。我的回答是,理论上,两种方法都收敛到相同的“最优”效用函数。但要实现这一点,您需要确保满足上述条件。试试看,让我知道结果。目前,您的Q-学习正在收敛,但不是收敛到最优效用函数(即使您可以从计算出的效用计算出最优策略)。衰减学习率1/n,其中n是每个状态的访问次数。没有改变结果。。。然后我意识到我做错了什么。这种环境是随机的,考虑到随机性,我更改了q-learning的实现。除了一个奇怪的问题,现在一切似乎都好了。当我将学习率设置为1.0时,q-learning在1k次迭代中找到了最佳的实用程序和策略,而它甚至不能在100k次迭代中与衰减的学习率1/n收敛。我认为衰减的学习速度应该更快收敛,但事实并非如此。你有什么意见吗?好的,很高兴看到理论是正确的!:)。学习速率最大值是1,所以如果Q-学习算法可以使用该值收敛,那么使用其他学习速率方案可能无法实现更快的收敛。但是,在大多数(非平凡)情况下,您应该选择低于1的步骤学习。在这种情况下,可能需要更详细的选择来改善收敛性。无论如何,1/n远不是一个好的选择,即使它在理论上是合适的。在《近似动态规划:解决维度诅咒》(第二版)一书中,第11章几乎专门讨论学习速率计划。也许是一个过于密集的参考,但现在我不记得其他的选择。