什么是“体验重播”及其好处?


19

我一直在阅读Google的DeepMind Atari 论文,并且试图理解“体验重播”的概念。许多其他强化学习论文(尤其是AlphaGo论文)中都有经验重播,所以我想了解它的工作原理。以下是一些摘录。

首先,我们使用一种称为经验重播的生物学启发机制来对数据进行随机化,从而消除观察序列中的相关性并平滑数据分布的变化。

然后,本文阐述如下:

虽然存在其他用于在强化学习环境中训练神经网络的稳定方法(例如,神经拟合Q迭代),但这些方法涉及从头进行数百次迭代的网络重复训练。因此,与我们的算法不同,这些方法效率低下,无法在大型神经网络中成功使用。我们使用图1所示的深度卷积神经网络对近似值函数进行参数化,其中是迭代 Q网络的参数(即权重)。为了执行体验重播,我们在每个时间步长存储座席的体验。s一种;θ一世θ一世一世ËŤ=sŤ一种Ť[RŤsŤ+1个Ť在数据集中。在学习期间,我们对经验样本(或小批)应用Q学习更新,这些样本是从存储的样本池中随机抽取的。迭代处的Q学习更新使用以下损失函数:dŤ={Ë1个ËŤ}s一种[Rsüd一世

大号一世θ一世=Ës一种[Rsüd[[R+γ最高一种s一种;θ一世--s一种;θ一世2]

用外行的话来说,什么是体验重播?它有什么好处?

Answers:


25

引用文本的关键部分是:

为了执行体验重播,我们存储座席的体验ËŤ=sŤ一种Ť[RŤsŤ+1个

这意味着系统不会在模拟或实际体验期间对状态/动作对进行Q学习,而是将为[状态,动作,奖励,next_state]发现的数据存储在大型表中。请注意,这不会存储关联的值-这是原始数据,可在以后输入到操作值计算中。

然后,根据从该表中随机抽取的样本,从逻辑上将学习阶段与获得经验分开。您仍然希望交织行动和学习这两个过程,因为改进政策将导致不同的行为,应探索更接近最佳行为的行为,并且您希望从中学习。但是,您可以按照自己的喜好进行拆分-例如,迈出一步,从三个随机的先前步骤中学习,等等。使用体验重播时的Q学习目标与在线版本使用相同的目标,因此没有新的公式。给出的损耗公式也是您无需经验重播即可用于DQN的公式。区别仅在于您向其中喂入了s,a,r,s',a'。

在DQN中,DeepMind团队还维护了两个网络,并切换了哪个网络正在学习以及哪个网络将当前的动作值估计作为“引导程序”。当使用非线性函数逼近器时,这有助于算法的稳定性。这就是栏在的含义-它表示权重的备用冻结版本。θ一世 ¯

体验重放的优点:

  • 通过多次学习,可以更有效地利用以前的经验。当获得现实经验的成本很高时,这是关键,您可以充分利用它。Q学习更新是渐进的,并且不会很快收敛,因此使用相同数据进行多次传递是有益的,尤其是在给定相同状态,动作对的情况下,即刻结果(奖励,下一个状态)的差异较小时,尤其如此。

  • 训练函数逼近器时更好的收敛行为。部分原因是因为数据更像大多数监督学习收敛证明中假定的iid数据。

经验重播的缺点:

  • 很难使用诸如Q()的多步学习算法,该算法可以通过在偏差(由于自举)和方差(由于长期结果中的延迟和随机性)之间取得平衡而进行调整,以提供更好的学习曲线)。多步骤DQN与体验重播DQN是“ 彩虹:深度强化学习中的改进相结合 ”一文中探讨的扩展之一。λ

David Silver在本视频讲座的部分内容中简要概述了 DQN中使用的方法(大约01:17:00,但值得一读。)如果有时间,我建议您观看整个系列,这是一门有关强化学习的研究生课程。


假设在训练期间我们处于一种状态,并且根据epsilon-greedy政策采取了行动,而您最终处于另一种状态。这样您就可以获得奖励,并获得下一个状态。这里的奖励可以是游戏的分数,状态可以是屏幕上的像素模式。然后,使用已经冻结的函数逼近器,再次求出函数逼近器与我们从贪婪策略获得的值之间的误差。但是通过优化优化器时的经验重播,我们得到了一些随机状态动作数据集。我对吗 ?
Shamane Siriwardhana

1
@ShamaneSiriwardhana:是的,我认为你是对的。它是来自真实轨迹的完全相同的数据,但不是仅从最近的步骤中学习,而是将其保存在一个大表中并从该表中取样(通常是多个样本,可以存储1000个先前步骤) )。如果您需要更多说明,则可以在网站上提问。
尼尔·斯莱特

是的,我再次浏览了这篇论文。这也表示这种方法也可以改善脱离政策的学习。因为在Q中学习是根据epsilon贪婪策略来执行,但是根据贪婪策略来更新值功能。因此,当每个时间步长时,我们的神经网络参数都通过微型批处理统计信息进行更新,这更重要的是与精确的时间步长统计信息无关,但是在此之前发生的事情也有助于使数据不相关。
Shamane Siriwardhana

@Neil Slater,我阅读了Rainbow论文,但没有看到有关使用特殊技巧将体验重播和多步方法相结合的任何特别评论。我也听说过,多步骤方法最初不可能与体验重播结合使用,但是为什么不从体验重播中而是从重播中随机选择n个连续的体验而不是从体验重现中选择1个,这样在每个n个体验之间都没有发现关联?这不是多步骤体验重播吗?
StL

@NeilSlater为什么“使用多步学习算法更困难”?你什么意思?
Gulzar
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.