如何处理强化学习问题中的过度拟合?

人工智能 机器学习 强化学习 过拟合
2021-10-27 10:55:16

所以这是我在一个简单的两人游戏中的 RL 模型的当前结果(每集的损失和得分):

在此处输入图像描述

我使用 DQN 和 CNN 作为策略和目标网络。我使用 Adam 优化器训练我的模型并使用 Smooth L1 Loss 计算损失。

在正常的“监督学习”情况下,我可以推断出我的模型过度拟合。我可以想象一些方法来解决这个问题(例如 Dropout 层、正则化、较小的学习率、早期停止)。

  • 但该解决方案是否也适用于 RL 问题?
  • 或者有没有更好的解决方案来处理 RL 中的过度拟合?
2个回答

过度拟合是指模型在试图最小化损失函数时陷入局部最小值。在强化学习中,目标是通过最大化(并非总是但几乎)奖励函数而不是最小化损失函数来学习最优策略,所以你不能像在监督场景中那样真正谈论过度拟合,但你绝对可以谈论次优政策

如果我们考虑一个特定的任务,比如避开静止的物体,一个简单的次优策略就是保持静止不动,或者如果奖励函数旨在惩罚缺乏运动,则绕圈移动。

避免代理学习次优策略的方法是在利用(即根据可能的最大预期奖励不断选择要采取的下一个动作)和探索(即随机选择下一个动作)之间找到一个很好的折衷。不计回报地采取。这是该主题介绍的链接: 强化学习中的探索和利用

值得一提的是,有时智能体实际上可以比人类更聪明,这篇论文《数字进化的惊人创造力》中报道了一些例子。我特别喜欢受过训练的昆虫代理人的故事,它学会了走路,同时尽量减少与地板表面的接触。特工出人意料地设法学会了在不接触地面的情况下走路。当作者检查发生了什么时,他们发现昆虫倾向于翻转自己,然后用它的假“肘部”行走(链接论文中的图 7)。我添加这个故事只是为了指出大多数时候奖励功能的设计本身甚至比探索和开发调整更重要。

公认的答案没有提供过拟合的良好定义,它实际上存在并且也是强化学习中的定义概念。例如,论文Quantifying Generalization in Reinforcement Learning就完全关注这个问题。让我给你更多的细节。

监督学习中的过拟合

监督学习 (SL)中,过拟合被定义为 ML 模型(例如神经网络)在训练和测试数据集上的性能差异(或差距)。如果模型在训练数据集上的表现明显优于在测试数据集上的表现,则 ML 模型过度拟合了训练数据。因此,它没有推广(足够好)到训练数据(即测试数据)以外的其他数据。过度拟合和泛化之间的关系现在应该更清楚了。

强化学习中的过拟合

强化学习 (RL)中(您可以在此处找到 RL 的简要回顾),您希望找到一个最优策略或价值函数(可以从中推导出策略),它可以由神经网络(或另一种型号)。一项政策π在环境中是最优的E如果从长远来看,它会在该环境中导致最高的累积奖励E,这通常在数学上建模为(部分或完全可观察的)马尔可夫决策过程。

在某些情况下,您还想知道您的保单是否π也可以在不同于其训练环境的环境中使用,即您有兴趣了解在该训练环境中获得的知识是否E可以转移到不同的(但通常相关的)环境(或任务)E. 例如,您可能只能在模拟环境中训练您的策略(由于资源/安全限制),然后您希望将此学习到的策略转移到现实世界。在这些情况下,您可以以类似于我们在 SL 中定义过拟合的方式来定义过拟合的概念。唯一的区别可能是您可能会说学习的策略已经过拟合了训练环境(而不是说 ML 模型已经过拟合了训练数据集),但是,鉴于环境提供了数据,那么您可以甚至在 RL 中说你的策略过度拟合了训练数据。

灾难性遗忘

RL中还存在灾难性遗忘 (CF)的问题,即在学习时,您的 RL 代理可能会忘记之前学习的内容,这甚至可能发生在相同的环境中。为什么我说CF?因为它发生在你身上的可能是 CF,即在学习的同时,代理在一段时间内表现良好,然后它的性能下降(尽管我读过一篇论文,奇怪地在 RL 中定义了不同的 CF)。您也可以说您的情况发生了过度拟合,但是,如果您不断训练并且性能发生变化,那么 CF 可能是您需要调查的。所以,当你对迁移学习感兴趣时,你应该在 RL 中保留“过度拟合”这个词(即训练和测试环境不重合)。