辍学本质上会引入更多差异。在有监督的学习环境中,这确实经常有助于减少过度拟合(尽管我认为辍学率也已经有所下降。.近年来的流行程度比之前几年有所降低;我不确定100%,但这不是我的主要目标专业领域)。
在强化学习中,额外的差异并不是我们真正想要的。我们获得的学习信号中已经存在大量的方差,而这种方差已经成为学习稳定性和/或学习速度的主要问题。例如:
- 行动选择中的随机性导致我们观察到的回报差异
- 环境本身可能存在固有的随机性,导致我们的观察结果出现额外的变化(某些环境是不确定的)
- r+maxa′Q(s′,a′)r
Deep RL算法的许多重要部分(根据我们的训练过程,凭经验证明它们不稳定并崩溃)非常适合减少这种差异。例如,专门引入DQN中的目标网络以减少移动目标问题。从这个角度来看,如果我们再次通过其他方式(例如辍学)添加更多的人为差异,这会损害性能/使学习不稳定,这并不奇怪。
还有其他机制可以尝试解决过度拟合问题吗?还是在许多RL示例中都没有关系?例如,在“突破”游戏中可能只有一种真正的方法来获得最终的高分,所以您不妨一口气地学到它,而不必一概而论?
在当前(深度)强化学习的大多数研究中,过拟合确实不被视为问题。绝大多数RL研究包括在一种环境中进行训练(例如Cartpole,Breakout或Pacman中的一个特定级别,或者在一种特定的迷宫中导航等),或者在该学习过程中不断评估绩效,或者评估在相同环境下经过这样的学习过程的表现。
如果我们要将这种评估方法与监督学习中发生的事情进行比较…… 我们基本上是在训练集上评估绩效*。在监督学习中,这绝对是不可接受的,但是在RL中,它被视为可以接受并且比例外更规则。有人说这只是当前RL研究中的问题,需要改变。也可以说这不一定是问题。如果我们真的能够在与我们以后希望部署的环境完全相同的环境中训练代理,那么,那么过分适合该环境又有什么问题呢?
因此,当我们使用上述评估方法时,确实是在某种特定环境下过度拟合,但根据我们的评估标准,过度拟合是好的而不是坏的。显然,这种方法并不能使代理人很好地概括。如果您持续地训练代理在一个特定的迷宫中导航,则在训练后,它很可能无法导航另一个迷宫。
*请注意:我认为,事实比我们在RL中“评估培训集”的情况稍微有些细微差别。例如,请参阅此漂亮的推文线程:https : //twitter.com/nanjiang_cs/status/1049682399980908544
我创建了一个模拟货币价格的环境,并使用DQN创建了一个简单的代理商,该代理商试图了解何时进行买卖。从一组包含一个月的5分钟价格数据的特定数据中进行训练的时间跨度将近一百万,这似乎过于适合了。如果我随后评估代理商,并针对不同月份的数据模型进行评估,那就太糟糕了。所以听起来像经典的过拟合。
请注意,此处描述的评估方法确实不再适合更“常见”的评估方法。您在概念漂移方面存在问题,在环境中不稳定。这意味着过度拟合可能对您来说是个问题。
不过,我不确定辍学是否会有所帮助(这仍然是可能会造成伤害的其他差异)。首先,最重要的是,您要确保有某种方式可以跟踪输入中的时间/月份,以使您至少有机会学习随时间而变化的策略。如果您在“训练阶段”和“评估阶段”之间有清晰,牢固的边界,并且您知道概念漂移跨越该边界(您知道您的环境在训练阶段与评估阶段的行为会有所不同)...实在没有太大希望仅从培训阶段的经验中学习策略,而该经验在评估阶段仍然表现良好。我怀疑您必须摆脱清晰,坚实的界限。您' 我还要在整个评估阶段继续学习。这使您的学习算法可以在变化的环境中实际收集经验并加以适应。