原文:https://ai-guru.de/fighting-overfitting-in-deep-reinforcement-learning/
过拟合是深度学习和传统机器学习中的一个众所周知的问题。
过拟合可以粗略地解释为:模型在多大程度上记住了训练数据。大量的过拟合可以理解为缺乏普遍性,即缺乏泛化能力。你的模型不能很好地处理它尚未看到的数据。通常,这会导致模型无法正常工作。
可以肯定的是,深度强化学习也遭受过拟合的困扰。
深度强化学习采用数据驱动的方法深度学习,并将其提升到目标驱动的水平。它不再处理数据,而是将重点放在创建能够行动、表现良好和执行最佳策略的Agents。
在深度学习中,缺乏泛化能力的原因是Agents无法在尚未出现的情况下取得理想的结果。例如,在计算机游戏中,创建一个学习如何玩固定等级游戏的Agent很容易。但是这个Agent可能会在从未玩过的游戏等级上失败。
OpenAI做了一些出色的实验,并在他们的文章中发表了结果。他们引入了一个叫做CoinRun的新环境,它和经典的平台游戏相似。游戏目标是通过一个关卡,找到并收集藏在某处的硬币。CoinRun最有趣的地方是:所有级别都是按程序生成的。
考虑到这个游戏可以产生无限数量的关卡,研究人员用几个固定级别的子集做了实验。正如预期的那样,当只有进行4K级别的训练时,存在着很大程度的过拟合。4K级别对于人类玩家来说,已经相当高的级别了。但令人惊讶的是,在16K的训练水平下仍然可以看到过拟合。最后我们认知到,最好的Agent是那些在不受级别限制的环境下训练出来的。
But,我们也认识到,在不受级别限制上的训练是不可行或不可能的。深度学习中也存在一个类似的问题。我们可以认为在深度学习中得到更多的数据,就等于在强化学习中得到了更多的训练。显然,这两者在一些情况下都是不可能的。
OpenAI运行了几个子实验,来研究如何减少过拟合。结果如下:
- dropout和L2正则都是克服过拟合的策略。结果证明,他们工作得很好,而L2正则比dropout的效果更好。
- 数据增强也是一种著名的防止过拟合的策略。它是关于稍微和随机地更改数据,以便人为地增加数据集的大小。数据增强比其他方法更有效。
- 更棒的是批处理标准化(batch normalization),这是一个将底层神经网络的特定层的数据成批标准化的过程。
- 最后,环境随机性表现最好。随机性很有趣。它用环境级别的随机操作替换Agents的随机操作。显然,训练Agents的不确定性,从而增加泛化。
总而言之,我很兴奋地看到在深度强化学习领域中解决过拟合的问题。它和通常的过拟合问题,在许多方面相似,但在细节上却有所不同。有些问题是从深度学习中继承下来的,有些是新问题。有些你可以重复使用,有些你必须再思考的。最后,请阅读他们的论文。