据我所知,要真正清楚,正式地了解为什么/何时缺乏共识-或者更糟的是有时存在分歧的危险,这仍然是一个尚待解决的问题。它通常归因于“致命三合会”(参见萨顿和巴托著作第二版的11.3),其组合为:
- 函数近似,AND
- 自举(如Q所述,在计算训练目标时使用我们自己的价值估算问学习),并且
- 脱离政策的培训(问学习确实是脱离政策)。
这仅给我们(可能是非穷举的)描述了我们缺乏共识和/或存在分歧风险的情况,但仍然没有告诉我们为什么在这些情况下会发生这种情况。
John的答案已经提供了一种直觉,即问题的一部分只是因为使用函数逼近很容易导致这样的情况,即您的函数逼近器没有足够的能力来表示真实的问∗函数,因此总会有近似误差是不可能的无需切换到其他函数逼近器就可以摆脱。
就个人而言,我认为这种直觉确实有助于理解为什么算法不能保证收敛到最优解,但是我仍然凭直觉期望它能够“收敛”到某些“稳定”解,这是给出的最佳近似值。所选功能表示形式固有的限制。确实,这是我们在实践中转向政策训练(例如Sarsa)时观察到的结果,至少在使用线性函数逼近器的情况下。
我对这个问题的直觉通常是问题的一个重要来源是泛化。在表格设置中,对于所有(s ,a )对,我们都有完全隔离的条目Q (s ,a )。每当我们更新一个条目的估计值时,它都会使所有其他条目保持不变(至少在最初,由于更新规则中的引导程序,将来的更新中可能会对其他条目产生一些影响)。对于Q等算法的更新规则(s ,a )问如果我们感到“倒霉”, learning和Sarsa有时可能会朝“错误”方向更新,但是在期望中,它们通常会朝正确的“方向”更新。直观地讲,这意味着在表格形式下,期望我们将逐步逐步解决所有条目中的所有错误,而不会损害其他条目。
随着函数逼近,当我们更新我们的Q (s ,a )估计一个(s ,a )对,它可能也影响到所有我们的其他估计:所有其他国家的行动对。直观上,这意味着我们不再像表格设置那样很好地隔离条目,并且“修复”一个条目中的错误可能会给其他条目增加新的错误。但是,就像John的回答一样,整个直觉实际上也适用于基于策略的算法,因此它仍然无法解释问学习(和其他非策略方法)的特殊之处。
关于此主题的近期非常有趣的论文是非妄想Q学习和值迭代。他们指出了算法中的“妄想偏差”问题,该算法将函数逼近与涉及最高运算符的更新规则相结合,例如Q学习(它可能不是最高运算符所独有的,但通常可能适用于非策略性?) 。
问题如下。假设我们为状态-动作对(s ,a )运行此问学习更新:(s ,a )
Q (s ,a )← Q (s ,a )+ α [ 最大一个′Q (小号′,一′)- Q (小号,一)]。
值估计最高一个′Q (小号′,一′)这里使用的是基于我们执行的政策是贪婪相对于旧版本我们的假设问在估计-可能是很长的-轨迹。如前面的一些答案中所讨论的,我们的函数逼近器的表示能力有限,并且对一个状态动作对的更新可能会影响其他状态动作对的值估计。这意味着,在触发我们对Q (s ,a )的更新后Q (s ,a ),我们的函数逼近可能不再能够同时表达,导致了高回报,我们的政策最高一个′Q (小号′,一′)估计是基于。本文的作者说该算法是“妄想的”。它在以下假设下执行更新:仍然可以获取较大的回报,但实际上可能不再足够强大以使用函数逼近器参数的新版本获取那些回报。
最后,我怀疑与此问题相关的另一篇(甚至是最近的)论文是《深度Q学习算法中的诊断瓶颈》,但不幸的是,我还没有时间详细阅读它并进行适当总结。