为什么在使用函数逼近时Q学习无法收敛?


12

只要满足以下条件(关于学习率的条件)(罗宾斯-蒙罗条件),表格式Q学习算法就可以确保找到最佳函数

  1. ŤαŤs一个=
  2. ŤαŤ2s一个<

其中αŤs一个意味着更新时使用的学习率与状态相关联的值s和行动一个在时间的时间步长Ť,其中0αŤs一个<1个被假定为是真实的,对于所有状态s和动作一个

显然,由于0αŤs一个<1个,为了使两个条件是真实的,所有的状态行动对必须无限频繁地访问:这也就是书中指出强化学习:介绍,除了应该广为人知的事实,这是使用ϵ在培训过程中 ϵ-贪婪策略(或类似策略)。

可以在论文《 Q学习的收敛性:简单证明》(Francisco S. Melo 撰写)中找到完整的证明,表明学习能够找到最佳函数。他使用诸如收缩映射之类的概念来定义最佳Q函数(另请参阅强化学习中的Bellman运算符是什么?),这是该收缩运算符的一个固定点。在给出一些假设的情况下,他还使用关于收敛到0的随机过程的定理(n。2)。(如果您不是数学家,则证明可能不容易理解。)0

如果使用神经网络来表示函数,那么学习的收敛性保证是否仍然成立?使用函数逼近时,为什么Q学习会收敛(或不收敛)?是否有正式的证据证明这种不收敛使用函数逼近 Q学习?

我正在寻找不同类型的答案,这些答案仅给出了Q不收敛背后的直觉。提供使用函数逼近时使用学习到提供正式证明(或提供正式证明的论文链接)。


2
好问题!
John Doucette

您所参考的书在第11章中讨论了此问题,因此您可以阅读它。另外,我认为没有正式的证据说明为什么会发生这种情况,但是即使在简单的环境中,也很少有例子显示出差异(例如Tsitsiklis和van Roy)。
Brale_

Answers:


8

这是一个直观的描述答案:

可以使用任何可参数化的函数进行函数逼近。考虑以下问题:s一个空间,其中s是正实数,一个01个,并且真正的Q函数是s0=s2,并且s1个=2s2,适用于所有状态。如果您的函数逼近器为s一个=s+ñ一个+b,不存在可以准确表示真实函数的参数(我们正在尝试将线拟合为二次函数)。因此,即使您选择了一个好的学习率,并且经常无限访问所有状态,您的逼近函数也永远不会收敛到真正的函数。

还有更多细节:

  1. 神经网络近似功能。通过使用或多或少的复杂多项式对函数进行近似,可以将函数近似或多或少地近似。如果您熟悉泰勒级数逼近,那么这个想法应该看起来很自然。如果不是,请考虑[0- π / 2]区间内的正弦波之类的函数π/2)。您可以(非常)用直线近似。您可以使用二次曲线更好地近似它。通过增加用于逼近曲线的多项式的次数,我们可以获得越来越接近曲线的东西。
  2. 神经网络是通用函数逼近器。这意味着,如果您具有函数,则还可以制作一个足够深或足够宽的神经网络,以使其可以将您创建的函数近似任意精确地逼近。但是,您选择的任何特定网络拓扑都将无法学习所有功能,除非它无限宽或无限深。这类似于如果选择正确的参数,一条线可以适合任何两个点,但不能适合任何三个点。如果选择的网络具有一定的宽度或深度,那么我总是可以构造一个需要更多神经元才能正常拟合的函数。

  3. 仅当Q函数的表示形式函数时,Q学习的边界才成立准确的。要了解原因,假设您选择了使用线性插值来逼近Q函数。如果真函数可以采取任何形状,那么显然,只需构造类似XOR的Q函数函数,就可以使插值误差无边无际地变大,并且没有任何额外的时间或数据可以让我们减少此误差。如果使用函数逼近器,而您尝试拟合的真正函数是不是某些函数可以很好地近似,那么即使选择了良好的学习率和探索率,您的模型也无法正确收敛。使用计算学习理论的术语,我们可以说Q学习的收敛性证明已经隐含地假设真正的Q函数是从中选择模型的假设空间的成员。


从我提到的证明中,哪里可以证明“仅当Q函数的表示形式正确时,Q学习边界才成立”?
nbro

因此,我们可以使用某个神经网络(体系结构)来近似任何(合理的)函数,但是,在给定固定的神经网络体系结构(我们需要在Q学习的训练阶段开始时选择)的情况下,Q学习可能无法使用该特定体系结构Z收敛,因为Z的表达能力不足以表示Q *žžž
nbro

@nbro证明没有明确地说出来,但是它假设了Q函数的精确表示(即,为每个状态/动作对计算并存储了精确的值)。对于无限状态空间,很明显,在最坏的情况下,这种精确表示可能会无限大(简单示例:让Q(s,a)= pi的第s个数字)。您的第二条评论总结得很好。更正式地说,如果真实假设Q *不是您要从中选择模型的假设空间H的元素,则即使有无限的时间或数据,也无法收敛到Q *。
John Doucette

4

据我所知,要真正清楚,正式地了解为什么/何时缺乏共识-或者更糟的是有时存在分歧的危险,这仍然是一个尚待解决的问题。它通常归因于“致命三合会”(参见萨顿和巴托著作第二版的11.3),其组合为:

  1. 函数近似,AND
  2. 自举(如Q所述,在计算训练目标时使用我们自己的价值估算学习),并且
  3. 脱离政策的培训(学习确实是脱离政策)。

这仅给我们(可能是非穷举的)描述了我们缺乏共识和/或存在分歧风险的情况,但仍然没有告诉我们为什么在这些情况下会发生这种情况。


John的答案已经提供了一种直觉,即问题的一部分只是因为使用函数逼近很容易导致这样的情况,即您的函数逼近器没有足够的能力来表示真实的函数,因此总会有近似误差是不可能的无需切换到其他函数逼近器就可以摆脱。

就个人而言,我认为这种直觉确实有助于理解为什么算法不能保证收敛到最优解,但是我仍然凭直觉期望它能够“收敛”到某些“稳定”解,这是给出的最佳近似值。所选功能表示形式固有的限制。确实,这是我们在实践中转向政策训练(例如Sarsa)时观察到的结果,至少在使用线性函数逼近器的情况下。


我对这个问题的直觉通常是问题的一个重要来源是泛化。在表格设置中,对于所有s a 对,我们都有完全隔离的条目s一个。每当我们更新一个条目的估计值时,它都会使所有其他条目保持不变(至少在最初,由于更新规则中的引导程序,将来的更新中可能会对其他条目产生一些影响)。对于Q等算法的更新规则s一个如果我们感到“倒霉”, learning和Sarsa有时可能会朝“错误”方向更新,但是在期望中,它们通常会朝正确的“方向”更新。直观地讲,这意味着在表格形式下,期望我们将逐步逐步解决所有条目中的所有错误,而不会损害其他条目。

随着函数逼近,当我们更新我们的s一个估计一个s一个对,它可能也影响到所有我们的其他估计:所有其他国家的行动对。直观上,这意味着我们不再像表格设置那样很好地隔离条目,并且“修复”一个条目中的错误可能会给其他条目增加新的错误。但是,就像John的回答一样,整个直觉实际上也适用于基于策略的算法,因此它仍然无法解释学习(和其他非策略方法)的特殊之处。


关于此主题的近期非常有趣的论文是非妄想Q学习和值迭代。他们指出了算法中的“妄想偏差”问题,该算法将函数逼近与涉及最高运算符的更新规则相结合,例如Q学习(它可能不是最高运算符所独有的,但通常可能适用于非策略性?) 。

问题如下。假设我们为状态-动作对s a 运行此学习更新:s一个

s一个s一个+α[最高一个s一个-s一个]

值估计最高一个s一个这里使用的是基于我们执行的政策是贪婪相对于旧版本我们的假设在估计-可能是很长的-轨迹。如前面的一些答案中所讨论的,我们的函数逼近器的表示能力有限,并且对一个状态动作对的更新可能会影响其他状态动作对的值估计。这意味着,在触发我们对Q s a )的更新后s一个我们的函数逼近可能不再能够同时表达,导致了高回报,我们的政策最高一个s一个估计是基于。本文的作者说该算法是“妄想的”。它在以下假设下执行更新:仍然可以获取较大的回报,但实际上可能不再足够强大以使用函数逼近器参数的新版本获取那些回报。


最后,我怀疑与此问题相关的另一篇(甚至是最近的)论文是《深度Q学习算法中的诊断瓶颈》,但不幸的是,我还没有时间详细阅读它并进行适当总结。


1
但是,使用神经网络不是也因为某些状态与每个状态非常相似的假设吗?非常相似的状态(例如游戏中的连续帧)通常具有非常相似(或相同)的最佳动作,因此我不确定第一篇论文中的解释是否有效(我应该阅读它以便完全理解其要点)。
nbro

1
@nbro是的,正是由于这个原因,通常将泛化视为一种优势而不是一个问题。如果它按“预期”进行工作,那么它会非常强大并且可以加快学习速度,因为我们将学到的所有知识转移到相似的状态/相似的动作中,而不是孤立地学习每个略有不同的状态/动作。但这也会导致问题,特别是在理论上和在实践中。我想这就像一把“双刃剑”。
丹尼斯·苏默斯

1
@DennisSoemers超级有趣的答案。非妄想的Q学习点很有意义。找到正确的Q函数意味着为您的更新规则找到一个固定点,但是如果您这样考虑的话,可以肯定,函数逼近看起来可能会导致Q学习中的循环更新。
John Doucette
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.