深度强化学习中的泛化

Overfitting in Supervised Learning

机器学习是一门学科,其中给定了一些训练数据\环境,我们希望找到一个优化目标的模型,但其目的是在训练期间从未见过的数据上表现出色。通常将其称为Generalization,即一种学习某些东西的能力,这些东西超出了训练环境的特定范围。

为了做到这一点,我们通常要求训练数据的分布代表我们真正希望表现良好的真实数据分布。我们将数据拆分为训练集和测试集,并尝试确保两个集合代表相同的分布。在监督的学习环境中可以很容易地看到它:

在这里插入图片描述
我们可以看到,虽然训练样本和测试样本不同,但是它们是由相同的基础过程生成的。如果不是这种情况,监督学习中泛化的标准概念将无法成立,并且很难证明我们期望在训练集上进行学习也应在测试集上产生良好的结果。

机器学习中的一个常见挑战是避免过度拟合,这是我们的模型“过分”适合训练数据的细节和细微差别的条件,而这不利于其在测试数据上的性能。

在这里插入图片描述
在上面的示例中,我们可以看到正弦曲线(黑色曲线)为数据提供了不错的近似值。当我们将数据拆分为训练集(蓝色)和测试集(红色)时,我们发现尝试将训练集“太好”拟合会导致橙色曲线明显不同于黑色曲线,并且在测试集中表现不佳。

Overfitting in RL

在强化学习中,情况有所不同。当考虑尽可能最好地玩Atari游戏的任务时,似乎不清楚我们能否区分某些训练环境和测试环境。如果我训练我的agent玩“ Breakout”,并且表现良好,那不是开始的目标吗?直到最近,这一直是RL研究中的情况,并且大多数研究论文都报告了在与该agent训练的相同环境下得出的结果。

成为首创的第一个RL工作是有关使用ALE环境学习玩Atari游戏的DeepMind原始论文。ALE是确定性的,2015年发表的一篇名为“The Arcade Learning Environment: An Evaluation Platform For General Agents”的论文表明,使用名为“ Brute”的朴素轨迹优化算法可以在某些游戏上产生最先进的结果。该算法甚至不知道任何给定时刻的当前状态,但是它利用环境中的确定性来记忆成功的动作序列。这就引起了人们的关注,即一些博学的agent可能会在某种意义上“记住”行动序列,并利用状态的细微差别来记住要采取的行动。

神经网络策略记忆动作意味着什么?在学习玩游戏时,我们可能希望我们的策略学会避开敌人,越过障碍物并抓住宝藏。具体来说,我们希望我们的策略跳过附近有敌人的敌人,并爬梯子到平台,因为它看到平台上的财宝。在完全确定性的环境中,情况可能并非如此。我们的策略可能会发现由于背景墙上的某些视觉特征(例如独特的瓷砖纹理或绘画)而需要在某个点上跳跃,并在看到某个敌人在某个遥远的某个位置时学会爬上梯子平台。

这些特征与所需特征同时发生是完全巧合的,但是由于环境是确定性的,因此与我们希望其决策依据的那些特征相比,它们可能提供更强的学习信号。

在这里插入图片描述

随后的论文已经开始探索将随机性引入游戏的方法,以阻止agent记住动作序列,而学习更多有意义的行为。其他几篇论文表明,RL策略可能会因其学习的环境与预期的部署环境之间的很小的不匹配而变得脆弱,这使得在现实世界中采用RL非常困难。我们希望我们的策略能够像在监督学习中一样泛化,但是对于RL而言,这意味着什么?

Generalization in RL

RL中的目标通常被描述为学习马尔可夫决策过程(MDP)的策略,该策略可最大化某些目标函数,例如预期的折现总和。一个MDP的特征是一组状态S,一组动作A,一个转移函数P和一个奖励函数R。当我们讨论泛化时,我们可以提出不同的表述,希望我们的策略在以下方面能表现良好:MDP分配。使用这样的设置,我们现在可以让agent在一组MDP上训练并将其他一些MDP保留为测试集。

这些MDP可以通过什么方式彼此不同?我看到三个主要可能的差异:

  1. MDP之间的状态在某种程度上有所不同,但是转移函数是相同的。一个例子是玩不同版本的视频游戏,其中颜色和纹理可能会更改,但策略的行为因此不应更改。
  2. 即使状态看起来相似,MDP之间的基础转移函数也有所不同。这些机器人操作任务的一个示例,其中各种物理参数(例如摩擦系数和质量)可能会发生变化,但我们希望我们的策略能够适应这些变化,或者在可能的情况下对它们保持鲁棒性。
  3. MDP的大小和表观复杂性各不相同,但是有一些基本原理可以推广到不同大小的问题。这样的例子可能是某些类型的组合优化问题,例如“旅行推销员问题”,我们想要一种可以解决不同大小实例的策略。(我以前在RL上写过用于组合优化的文章

在我看来,这些代表了泛化挑战的主要来源,但是当然,可能会产生将多个来源结合在一起的问题。接下来,我将重点介绍第一种类型。

最近,研究人员已开始通过开发新颖的模拟环境来系统地探索RL中的泛化,从而能够创建MDP分布并拆分唯一的训练和测试实例。这样的环境的例子是CoinRun,通过OpenAI在文章引入“Quantifying Generalization in Reinforcement Learning”。这种环境可以产生具有不同布局和视觉外观的各种级别,因此可以作为泛化的良好基准。

在这里插入图片描述
在本文中,作者检查了几个变量对学习策略的泛化能力的影响:

训练集的大小:作者已经表明,增加训练MDP的数量会增加泛化能力,这可以看出:

在这里插入图片描述
就像在监督学习中一样,我们可以看到,增加训练“数据”的数量使策略在训练集上成功的难度更大,但可以将其泛化到未知的情况。

神经网络的大小:该论文与有监督学习的当前实践产生共鸣的另一个发现是,较大的神经网络通常比较小的神经网络具有更好的泛化性能。作者使用了DeepMind DQN论文中的“标准”卷积架构(他们将其命名为“ Nature-CNN”),并将其与DeepMind的IMPALA论文中提出的架构进行了比较。使用较大的模型,结果明显更好。

在这里插入图片描述
正则化:在监督学习中用于提高泛化的最常用技术是L2正则化,Dropout和Batch Normalization。这些技术通过增加噪声和减小权重的大小来限制神经网络的过拟合能力,并已成为监督学习的标准。有趣的是,它们在RL的深入文献中并不那么常见,因为它们并不总是很明显。然而,在本文中,作者证明了这些技术确实有助于提高泛化性能。

总体而言,本文提供了一个不错的基准环境,并研究了监督学习中的常见做法。但是我们可以进一步提高泛化能力吗?

Generalization with Random Networks

一篇非常有趣的论文,名为“A Simple Randomization Technique for Generalization in Deep Reinforcement Learning”,提出了一种很好的方法来改进泛化,使其优于之前显示的标准正则化。他们建议在输入图像和神经网络策略之间添加卷积层,以转换输入图像。该卷积层在每个情节随机初始化,并对其权重进行归一化,以使其不会过多改变图像。这有点像数据增强技术,可以自动生成更多种类的训练数据。

在这里插入图片描述

神经网络策略被馈入该增强图像,并像RL中一样输出动作的概率。 拥有各种视觉上不同的输入将有助于模型学习更通用且不太可能适应环境视觉细微差别的特征。 这通常称为“领域随机化”,通常用于帮助弥补RL机器人应用程序中仿真与现实之间的鸿沟(我在另一篇文章中已对此进行了介绍)。 不幸的是,已知域随机化具有高样本复杂度和策略性能的高差异性。

为了减轻这些影响,作者在损失中增加了一个术语。特征匹配。这意味着我们给我们的模型一个原始图像和一个增强图像(使用随机层),并通过将它们之间的均方误差添加到损失中来鼓励它们具有相似的特征。

作为概念的证明,作者首先在玩具监督学习问题上尝试了他们的方法。对猫和狗进行分类。为了使问题在一般化方面具有挑战性,他们创建了包含白狗和黑猫的训练数据集以及包含黑狗和白猫的测试集。他们针对上一节中提到的常见正则化方法以及图像处理文献中的其他一些数据增强技术进行了测试。结果非常有趣:

在这里插入图片描述
在RL设置中,他们在包括CoinRun在内的多个问题中针对这些基准测试了他们的方法,并在泛化方面取得了优异的结果。

他们进行了一个有趣的实验,通过获取具有几种视觉上不同变化的样本轨迹,并将其馈送到未经其方法训练的模型和经过该方法训练的模型中,以检查其技术是否确实创建了外观变化不变的特征。然后,他们使用降维来可视化这些轨迹在不同模型中的嵌入:

在这里插入图片描述
数字代表轨迹的阶段,颜色代表状态的视觉变化。显然,使用新技术,状态在嵌入空间中更好地聚集在一起,这表明该模型确实具有学习的特征,这些特征对于这些分散注意力的视觉变化更为不变。

我认为这是一个非常有趣的研究领域,对于深度强化学习在行业中的广泛采用至关重要。我希望看到朝这个方向进行更多研究。

参考资源

[1] Generalization in Deep Reinforcement Learning

猜你喜欢

转载自blog.csdn.net/u010705932/article/details/105758868