Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Andy Xiong作者路、张倩编译李亚洲、Hao Wang编辑

可复现性?稳健性?Joelle Pineau无情揭示强化学习的问题

当地时间 12 月 5 日,NeurIPS 2018 Posner Lecture 邀请到了 Facebook 蒙特利尔 FAIR 实验室负责人、麦吉尔大学副教授 Joelle Pineau。Joelle Pineau 在演讲中深刻揭露了强化学习中目前存在的一些问题(如可复现性等),并为参会者给出了系列建议。机器之心对她的演讲内容进行了整理。

演讲者简介:

 Joelle Pineau,图源:https://research.fb.com/why-diversity-matters-in-ai-research/

  • 加拿大麦吉尔大学副教授、William Dawson 学者,麦吉尔大学推理与学习实验室联合主任;

  • Facebook 蒙特利尔 FAIR 实验室负责人;

  • 在滑铁卢大学获得学士学位,在卡内基梅隆大学获得机器人学硕士与博士学位;

  • 致力于开发在复杂、局部可观察领域中规划和学习的新模型和算法,还将这些算法应用于机器人学、医疗、游戏及对话智能体中的复杂问题;

  • Journal of Artificial Intelligence Research、Journal of Machine Learning Research 杂志编委会成员,国际机器学习学会(International Machine Learning Society)主席;

  • 加拿大自然科学与工程研究理事会(NSERC)的 E.W.R. Steacie Memorial Fellowship(2018)、AAAI Fellow 及 CIFAR 高级 Fellow,2016 年被加拿大皇家学会评选为「College of New Scholars, Artists and Scientists」成员。

可复现性、可重用性及稳健性

演讲一开始,Joelle Pineau 引用 Bollen 等人 2015 年向国家科学基金会提交的《Social, Behavioral, and Economic Sciences Perspectives on Robust and Reliable Science》解释了三个名词——可复现性、可重用性及稳健性(Reproducibility,Reusability,Robustness):

  • 「可复现性指研究者重复过去某个研究的能力……」

  • 「可重用性:使用与原研究者相同的材料。」

  • 「可复现性是一项研究可信、信息充分的最低必要条件。」

实际上,Joelle 不是第一个提出可复现性问题的研究者。2016 年,《Nature》发起了一项名为《Is there a reproducibility crisis in science?》的调查。

调查结果显示,52% 的科学家认为存在重大的可复现性危机。在化工领域,超过 85% 的科学家在复现他人的实验时遭遇过失败,甚至复现自己实验的失败率也超过 60%。

强化学习(RL)

之后,Jolle Pineau 简短地介绍了强化学习的一些背景。在强化学习中,智能体通过采取行动并获取奖励来学习策略。强化学习是用于序列决策的通用框架,智能体可以通过试错从稀疏反馈中学习。大量问题可以通过这一简洁框架得到更好的解决。

强化学习算法已经在围棋和 LIBRTUS 等游戏中取得了令人惊艳的结果。除了游戏以外,强化学习技术还广泛应用于机器人学、电子游戏、对话系统、医疗干预、算法改进、农作物管理、个性化辅导、能源交易、自动驾驶、假肢控制、森林火灾管理、金融交易等诸多领域。

Joelle Pineau 教授还提到她在自适应神经刺激(Adaptive Neurostimulation)方面的研究。她的团队利用 RL 框架,优化用于学习癫痫症的神经刺激设备的超参数。他们遇到的挑战是,这些在模拟环境中训练的 RL 智能体究竟有多可靠以及如何将训练好的模型从模拟环境迁移到现实世界场景。这也是她如此关注可复现性及稳健性问题的主要原因。

策略梯度方法

从过去 25 年的强化学习论文直方图可以看出,强化学习研究正处在一个快速增长的时期。2000 年大约有 2000 份论文发表,而到了 2018 年,这一数字超过了 20000。对于我们来说,想要追踪这一领域所有的新技术、新算法是非常困难的,此处我们重点讨论策略梯度方法。策略梯度方法的基本思路是学习某个策略并将其表示为函数,该函数可以通过神经网络或其他回归函数来表示。其目标是最大化采取一系列动作后获得的累积奖励。

Joelle 还列出了 NeurIPS 2018、ICLR 2018、ICML 2018、AAAI 2018、EWRL 2018、CoRL 2018 中关于策略梯度的多数论文,发现大部分论文都使用这几种策略梯度基线算法,即 Trust Region Policy Optimization(TRPO)、Proximal Policy Optimization(PPO)、Deep Deterministic Policy Gradients(DDPG)和 Actor-Critic Kronecker-Factored Trust Region(ACKTR)。

为了评估这四种策略梯度算法的稳健性,Joelle 的团队在 Mujoco 模拟器中的三种不同游戏环境中对其进行测试。他们发现,蓝色曲线在 Swimmer 环境中变化很大。实现有问题?他们带着疑问从在线源代码中选取了 7 个 TRPO 实现,得到了非常令人惊讶的不同结果,DDPG 实验中也是如此。

因此他们在不同的策略网络架构、单元激活函数和奖励缩放(reward scaling)、归一化技术等情况下,评估了超参数配置的效果,并再次得到大量的不同结果。Joelle 质疑:可能人们没有动力去寻找令基线模型得到最优性能的超参数配置,只是图方便使用默认的超参数配置。

为了确保对不同方法进行公平合理的对比,Joelle 的团队减少了一些归一化技术,尤其是一些超参数预算。该团队使用最优超参数配置重新运行同样的 TRPO 代码,结果有显著差异,而原因仅仅是 5 个不同的随机种子。或许 5 仍然不够?那么应该试验几次呢?从对近年来其他强化学习论文的研究来看,似乎 5 已经是上限并足够了。Joelle 用讽刺的口吻说道,一些人运行 n 次实验来得到好的结果(n 不是指定的),然后选择 top-5 结果。

这是否意味着强化学习并没有什么用,「深度」只有一点点效果?Jolle Pineau 强调,她并不是暗示人们应该放弃强化学习技术,而是有时候公平对比并不能反映全部情况。

a. 不同的方法有不同的超参数集合。

b. 不同的方法对超参数具备不同的敏感度。

c. 最优方法往往取决于数据/计算预算。

因此研究社区需要仔细思考自己的实验,审慎地报告自己的实验结果。Joelle 还研究了 2018 年的 50 篇强化学习论文(发表在 NeurIPS、ICML、ICLR 上),发现很少有论文进行了有意义的测试。

可复现性检查清单

Joelle 教授提出可复现性检查清单,并鼓励研究社区将该检查清单作为论文提交过程的一部分。

对于论文中的所有算法,检查是否包含:

1. 对算法的清晰描述。

2. 对算法复杂度(时间、空间、样本大小)的分析。

3. 下载源代码链接,包含所有依赖项。

对于论文中的所有理论论断,检查是否包含:

1. 结果陈述。

2. 对假设的清晰阐述。

3. 对理论论断的完整证明。

对于论文中展示实验结果的所有图表,检测是否包含:

1. 对数据收集过程的完整描述,包括样本大小。

2. 数据集或模拟环境可下载版本的链接。

3. 解释训练/验证/测试数据集中的样本分配情况。

4. 解释被排除在外的任何数据。

5. 考虑的超参数范围、选择最优超参数配置的方法,以及用于生成结果的超参数规格。

6. 评估运行次数的确切数字。

7. 对实验运行的具体描述。

8. 对用于报告结果的特定度量或统计数据的清晰定义。

9. 清晰定义的误差棒(error bar)。

10. 包括集中趋势(如平均值)和变化(如标准差)的结果描述。

11. 所用的计算基础设施。

Joelle 解释了基础设施在可复现性中的作用,称即使像分布式计算系统和 CUDA 运算这样的硬件仍然存在可变性空间,因此指明所用的计算基础设施是有帮助的。

Joelle 教授认为可复现性检查清单并不意味着安全保障,但可以作为对研究社区的提醒。例如,在 ICLR 2018 复现挑战赛中,80% 的作者在收到反馈后修改了自己的论文。

强化学习机器学习中唯一可以在训练集上进行测试的案例吗?

在经典强化学习中,智能体是在同样的任务上进行训练和测试的。而对于通用人工智能(AGI)来说,智能体可在任意事物上进行测试,即整个世界都可以是测试集。

测试泛化性能的一个好方式是分割训练任务和测试任务。有大量研究是基于此的,比如多任务强化学习元学习。Joelle 提出,我们不需要在那个方向上做进一步研究,但可以选择分离随机训练和测试种子,以带来可变性(variability)。

泛化误差是为训练 RL 智能体而定义的:

我们评估训练种子的实验回报(empirical return),也要考虑测试种子的实验回报。随着训练过程的进行,训练和测试之间的性能差距会减小。模拟实验证明,只要我们将种子提高到 5 或 10,泛化误差将显著下降。但是这存在一个问题:这么少的种子就可以使我们本质上记住现实世界的某个领域吗?毕竟自然世界非常复杂。

然而,很多强化学习基准非常简单,比如 Mujoco 中的低维状态空间、ALE 中的少量动作等。它们易于记忆,但也易受扰动的干扰。那么如何解决这个问题呢?Joelle 教授提出我们可以寻找一种机制,既保持模拟器的便利性,又囊括一些现实世界的复杂度。

第一个策略是在强化学习模拟训练过程中使用自然世界图像。因为这些图像来自自然世界,因此它们具备我们想要的自然噪声,引入了大量可变性(从观察的角度)。在 MNIST、CIFAR10、CIFAR100 数据集上的实验展示了不错的大型分割。

第二个策略是向强化学习模拟添加现实世界视频。例如 Atari 游戏,因为它的背景比较简单,我们可以在背景中添加一些随机的现实世界视频,从而得到来自现实世界的不同训练/测试视频,用来进行清晰的训练/测试分割。

按照这个方向,未来我们有很多事可以做。近期相关的一项研究是来自 Facebook 现实实验室(Facebook Reality Lab)的逼真图像模拟器中的多任务强化学习

那么回到这个问题:强化学习机器学习中唯一可以在训练集上进行测试的案例吗?

答案是未必!因为我们可以分别使用随机种子进行训练和测试,可以在强化学习模拟中添加其他图像或视频背景,还可以在逼真图像模拟器中训练多任务强化学习

最后,Joelle 教授鼓励我们研究现实世界!但是你必须有耐心,因为现实世界需要大量探索。Joelle 教授认为,将科学当成一项竞技体育项目不适用于当下,科学是一项致力于理解和解释的共同努力。

机器之心技术分析师专栏
机器之心技术分析师专栏

由来自世界各地的专业分析师为你解读前沿进展,技术热点和经典论文。我们的分析师团队由来自于各大名校的硕士和博士,以及一线研究机构的研究员组成。

理论强化学习深度强化学习可复现性
5
相关数据
自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

机器人技术技术

机器人学(Robotics)研究的是「机器人的设计、制造、运作和应用,以及控制它们的计算机系统、传感反馈和信息处理」 [25] 。 机器人可以分成两大类:固定机器人和移动机器人。固定机器人通常被用于工业生产(比如用于装配线)。常见的移动机器人应用有货运机器人、空中机器人和自动载具。机器人需要不同部件和系统的协作才能实现最优的作业。其中在硬件上包含传感器、反应器和控制器;另外还有能够实现感知能力的软件,比如定位、地图测绘和目标识别。之前章节中提及的技术都可以在机器人上得到应用和集成,这也是人工智能领域最早的终极目标之一。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

策略网络技术

在强化学习中,策略网络指一组相对稳定的关系,这些关系具有非等级和相互依赖的性质,将各个行为者(actor)联系起来。

对话系统技术

对话系统大致被分成两类: 任务为导向的对话系统,帮助用户去完成特定任务,比如找商品,订住宿,订餐厅等。实现任务为导向的对话系统,主要有两类方式,流水线方法和端到端方法。非任务导向的对话系统,与用户进行互动并提供回答,简单的说,就是在开放领域的闲聊。实现非任务导向对话系统也主要可分为两类,生成方法和基于检索的方法。

分布式计算技术技术

在计算机科学中,分布式计算,又译为分散式運算。这个研究领域,主要研究分布式系统如何进行计算。分布式系统是一组电脑,通过网络相互链接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~