为什么在强化学习示例中看不到辍学层?


13

我一直在研究强化学习,尤其是在创建自己的环境以与OpenAI Gym AI配合使用的过程中。我正在使用stable_baselines项目中的代理进行测试。

我在几乎所有RL示例中都注意到的一件事是,在任何网络中似乎都没有任何丢失层。为什么是这样?

我创建了一个模拟货币价格的环境,并使用DQN创建了一个简单的代理商,该代理商试图了解何时进行买卖。从一组包含一个月的5分钟价格数据的特定数据中进行训练的时间跨度将近一百万,这似乎过于适合了。如果我随后评估代理商,并针对不同月份的数据模型进行评估,那就太糟糕了。所以听起来像经典的过拟合。

但是,为什么没有在RL网络中看到缺失层?是否有其他机制可以解决过度拟合问题?还是在许多RL实例中都没关系?例如,在“突破”游戏中可能只有一种真正的方法来获得最终的高分,所以您不妨一口气地学到它,而不必一概而论?

还是认为环境本身的混乱性质应该提供足够多的不同结果组合,而您无需具有辍学层?


1
您是否尝试过将遗漏添加到RL网络以查看会发生什么情况?我有(对于一个在其他情况下也可以正常使用的LunarLander_v2求解器),结果很糟糕,它从解决400集到完全解决都没有(我尝试了其他参数的多种变体)。其他正则化是可以的,甚至是有益的。我不知道为什么辍学的问题却在想在这里问一个问题。。。
尼尔·斯莱特

尼尔,是的,您的经历似乎与丹尼斯在下面所说的相呼应。如我所料,在“解决这个难题”类型的场景中,您确实想解决这个难题,但实际上确实过拟合。您想知道您遇到的是蓝色外星人还是红色外星人,因为它们在游戏中的行为可能会有所不同。
马特·汉密尔顿,

@MattHamilton我刚巧看到有人在推文上发表有关“ RL研究人员正在评估训练数据”故事的推文。我已将指向该链接的链接编辑到我的答案中。在回答您的问题时,观点仍然是一样的,但我同意我链接到那里的推文链,即事实的细微差别。
丹尼斯·索米尔斯'18

Answers:


11

辍学本质上会引入更多差异。在有监督的学习环境中,这确实经常有助于减少过度拟合(尽管我认为辍学率也已经有所下降。.近年来的流行程度比之前几年有所降低;我不确定100%,但这不是我的主要目标专业领域)。

在强化学习中,额外的差异并不是我们真正想要的。我们获得的学习信号中已经存在大量的方差,而这种方差已经成为学习稳定性和/或学习速度的主要问题。例如:

  • 行动选择中的随机性导致我们观察到的回报差异
  • 环境本身可能存在固有的随机性,导致我们的观察结果出现额外的变化(某些环境是不确定的)
  • r+maxaQ(s,a)r

Deep RL算法的许多重要部分(根据我们的训练过程,凭经验证明它们不稳定并崩溃)非常适合减少这种差异。例如,专门引入DQN中的目标网络以减少移动目标问题。从这个角度来看,如果我们再次通过其他方式(例如辍学)添加更多的人为差异,这会损害性能/使学习不稳定,这并不奇怪。


还有其他机制可以尝试解决过度拟合问题吗?还是在许多RL示例中都没有关系?例如,在“突破”游戏中可能只有一种真正的方法来获得最终的高分,所以您不妨一口气地学到它,而不必一概而论?

在当前(深度)强化学习的大多数研究中,过拟合确实不被视为问题。绝大多数RL研究包括在一种环境中进行训练(例如Cartpole,Breakout或Pacman中的一个特定级别,或者在一种特定的迷宫中导航等),或者在该学习过程中不断评估绩效,或者评估在相同环境下经过这样的学习过程的表现。

如果我们要将这种评估方法与监督学习中发生的事情进行比较…… 我们基本上是在训练集上评估绩效*。在监督学习中,这绝对是不可接受的,但是在RL中,它被视为可以接受并且比例外更规则。有人说这只是当前RL研究中的问题,需要改变。也可以说这不一定是问题。如果我们真的能够在与我们以后希望部署的环境完全相同的环境中训练代理,那么,那么过分适合该环境又有什么问题呢?

因此,当我们使用上述评估方法时,确实是在某种特定环境下过度拟合,但根据我们的评估标准过度拟合是好的而不是坏的。显然,这种方法并不能使代理人很好地概括。如果您持续地训练代理在一个特定的迷宫中导航,则在训练后,它很可能无法导航另一个迷宫。

*请注意:我认为,事实比我们在RL中“评估培训集”的情况稍微有些细微差别。例如,请参阅此漂亮的推文线程:https : //twitter.com/nanjiang_cs/status/1049682399980908544


我创建了一个模拟货币价格的环境,并使用DQN创建了一个简单的代理商,该代理商试图了解何时进行买卖。从一组包含一个月的5分钟价格数据的特定数据中进行训练的时间跨度将近一百万,这似乎过于适合了。如果我随后评估代理商,并针对不同月份的数据模型进行评估,那就太糟糕了。所以听起来像经典的过拟合。

请注意,此处描述的评估方法确实不再适合更“常见”的评估方法。您在概念漂移方面存在问题,在环境中不稳定。这意味着过度拟合可能对您来说是个问题。

不过,我不确定辍学是否会有所帮助(这仍然是可能会造成伤害的其他差异)。首先,最重要的是,您要确保有某种方式可以跟踪输入中的时间/月份,以使您至少有机会学习随时间而变化的策略。如果您在“训练阶段”和“评估阶段”之间有清晰,牢固的边界,并且您知道概念漂移跨越该边界(您知道您的环境在训练阶段与评估阶段的行为会有所不同)...实在没有太大希望仅从培训阶段的经验中学习策略,而该经验在评估阶段仍然表现良好。我怀疑您必须摆脱清晰,坚实的界限。您' 我还要在整个评估阶段继续学习。这使您的学习算法可以在变化的环境中实际收集经验并加以适应。


1
丹尼斯,非常感谢您的详细回复!其中的许多事实证实了我的怀疑:即,更多的RL正在尝试解决特定环境中的一个非常具体的问题,在该环境中通常有一个明确的“最佳”解决方案。
马特·汉密尔顿,

2
@MattHamilton注意,对于更一般的环境,有针对RL的研究。如果您对此内容感兴趣,则需要搜索“转移学习”和“强化学习”的组合,或者类似“多任务RL”(“多目标RL”也可能很有趣,但可能略有不同) )。但是,与传统的一次在一个环境中进行培训和评估的方法相比,这些努力的确确实表现得差很多。
丹尼斯·索米尔斯18-10-10
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.