在Mosaix,我们尝试以各种角度去理解人类的语言,构建人工智能。近年来我们一直对梦境,或者更抽象地说——“优化记忆回放”颇为感兴趣。我们关心它能否帮助加深对“学习”的理解。在最近发表的一系列论文中,我们列举了部分成果——使得机器学习训练速度更快,准确率更高。在这里我并不想长篇累牍地列举公式和符号,它们或许太晦涩。既然大家对梦境和记忆并不陌生,那我们就从这里说起。
每个人都是强化学习的高手
强化学习听起来是一个酷炫而遥远的名词。但实际上人类都是强化学习的高手。打个分的话,如果人类是A+,那机器或许只有C-。在成长的过程中,我们或多或少地“被强化学习”过——有时候我们收获奖赏,有时候我们受到惩罚。这些“赏罚”反馈就是我们“学习”的过程。它不仅仅对人类管用,对训练小狗也很凑效。如果你看见小狗在室外小便,那就给它块零食“以资鼓励”,“加强”这种行为。久而久之,小狗也能通过“加强学习”明白应该怎么做。
最近全球掀起了一股加强学习的热潮——从计算机程序合成到人机对话,从电脑游戏到机械控制,等等等等。现在的加强学习通常都用到了大量的训练样本,但是结果却往往不尽人意。跟人类比起来,差距还是太远——我们人类通常只需要个别的案例就能总结出比较可靠的经验。
Google Brain Robotics 的 Alex Irpan 在博客中曾经这样说:“每当有人问我强化学习能不能解决他们面临的问题时,我都会说不能。因为这样说七成不会错。” AlphaGo “毫无疑问是深度加强学习的胜利,但这样的成功并不多见……事实上深度加强学习所需的样本数量要比现实中能够接受的范围高上好几个数量级。这让人有些失望。”
举个例子,DeepMind RainbowDON是目前最好的学习算法之一。“平均下来(57个Atari游戏),它大概需要学习1800万帧(大概90个小时)的游戏画面,才能超过中等玩家。而一般人只要玩个几分钟就能达到这个水准。”
经典的教科书(比如Sutton和Barto的教材)介绍了一批基于“on-policy”(为了避免产生翻译歧义,我们使用了英文术语)或者“在线”的强化学习算法 。在这些算法里,当前模型只有在与外界环境相互作用的情况下才会被更新。这种“实践出真知”的策略,虽然从数学上来讲蛮合理,但数据效率低下,实战中往往达不到“出真知”的效果。它引出了在强化学习领域困扰人们已久的“探索和利用的平衡问题”:模型的训练数据来源于产生数据的策略。如果该策略过于偏重探索,那可能产生大量低质量训练数据,最后收益不大。如果该策略不鼓励探索,那可能会错失很多优秀的训练数据。
“经历回放”的局限性
我们会很自然地觉得通过“反思过去的经历”(在强化学习中这被叫做“经历回放”)可以提高学习的效率和稳定性。这种想法已经被广泛应用在各种深度加强学习算法中。不过针对它的理论分析和经验证据仍旧比较匮乏。
举个例子,在不少强化学习研究中(比如说Atari游戏,Mujoco任务,机器臂控制,DeepMind任务控制集等等),经历回放的缓存大小都被设置为10⁶。最近Sutton教授的研究却指出 “过小和过大的回放缓存都会严重损害学习的过程。” 关键原因在于这些算法对过往的经历一视同仁,没有充分考虑它们的有效性。这样降低了数据利用的效率,也妨碍了学习本身。
现在我们再拓展一下前面提到的小狗训练。当我们刚开始训练小狗的时候,或许它大多数时间还是呆在室内。在室内有大量未被奖励的经历,在室外有少数获得奖励的经历。如果所有经历都被无差别回放,那学习的过程显然比较“鲁钝”。
其实无论是人还是小狗,都能够把过往经历区别对待。不过问题来了,如果要达到“优化学习”的目的,我们应该怎样去优先或者筛选过往的经历呢?
动物学的启示——睡梦与学习
二十世纪初,麻省理工学院的科学家就发现动物会做很复杂的梦。在梦境中他们会“重现”一系列的事件。在快速眼动期(快波睡眠),这些经历以常规速度回放,通常持续好几分钟。在慢波睡眠期,这些经历则以短暂而间断的方式爆发式回放。回放速度提高到常规速度的20倍。而对于人类的相关研究表明,快波睡眠和慢波睡眠次数的多少与学习效果的提高有一定的关联性。
这就产生了一个根本的问题:动物们每天积累了大量的经历,梦到其中哪些经历可以达到更好的学习效果呢?
最近对于人类睡眠和梦的研究表明,通过巩固那些更情绪化或者动机更明确的记忆,“睡眠和梦在神经行为层面上给情绪,关联学习,以及探索性行为提供了离线再处理的基础。它可以起到提升记忆力,情绪控制能力,社交能力,以及创造力的作用。” 在其他动物身上也发现了类似的结论。比如伦敦大学学院的研究人员发现老鼠做梦时会模拟一些“向往的经历”——比如在迷宫中寻找一块很好吃的零食。研究员认为,这种“目标导向”的回放会帮助老鼠们更好地准备未来可能面对的新环境。
基于优化回放策略的强化学习
上面提到的关于人类和动物如何高效可靠学习的研究给了我们一些启示。在强化学习中我们也应该对于过往经历的“重放”进行“优化“。总体而言,如果能够更好地利用“高回报”的经历,机器学习(特别是深层神经网络决策模型的优化)也会更高效。这些“高回报“的经历被保存在记忆中,根据训练的需要被不断回放。就像人和小狗一样,衡量各种经历,并且更频繁地在梦中重现可以让自己更好“趋利避害”的那部分。
在之前的工作中,我们使用线性插值的方法将强化学习的目标与最大似然的目标结合起来。强化学习目标是最大程度优化系统的回报。最大似然目标是使系统与一些已知的样例“最相似”。因为我们已经知道这些样例(比如棋谱)的效果还不错,依葫芦画瓢,可以起到加速并稳定训练过程的作用。我们把这个方法应用到“从大型知识图谱(WebQuestionsSP)回答问题”这样的任务中,在弱监督条件下达到了世界领先水平。
虽然这个方法很有效,但也有缺陷。一方面它并不是纯粹地对系统回报进行优化。另一方面给每一个问题都找到一个好的“样例“也不容易。在问答任务中样例就好比已知的“问答查询规则”。比如我们问“哪个城市是美国第二大城市”,一个典型“样例”是先找到所有城市,然后按人口(或者面积)排序,最后挑第二个。人工做这样的标注是很困难的。
在最近的一篇论文中,我们进一步完善了“经历回放”方法:一方面我们去掉了由最大似然目标引入的偏差,另一方面我们移除了单一最佳经历的假设。我们仍旧针对弱监督条件下的自然语言问答程序生成这个课题开展工作。不过这一次我们选用了更具有挑战性的数据集WikiTableQuestions。这个任务需要从维基百科表格上生成问题答案,计算相比之前的任务更加复杂。其主要的挑战在于搜索空间更大,而奖励信号又不准确 — 对于一个问题,许多不同的计算过程都能生成正确的答案,但只有一种计算对应了这个问题真实的语义。
新模型的改进主要在于将记忆缓存的经历和当前模型新生成的经历区分开来。因为记忆缓存通常很大,于是我们每次从中抽样一个经历来进行训练。只要这种抽样概率是根据当前模型的概率以及经历本身的回报值而设定的,那么总体训练目标是无偏的。而且因为重要的经历会被更频繁地抽样,梯度估值的方差被最小化了,这也加快了训练的速度。
WikiTableQuestions是一个很有挑战的数据集。在标准测试中,我们的准确率达到了46.2% ,远超过之前的最先进水平43.7%。更有意思的是在 Salesforce WikiSQL 标准测试中,我们在无监督的情况下也取得了70.9%的准确率,这一成绩超过了多个强监督的学习系统。
致谢
感谢梁晨以及其他合作者的杰出工作。同时感谢和成,Esther,Vivienne,刘宿莽,李洋帮助整理这篇文章。
References
- Do Androids Dream of Electric Sheep? by Philip K. Dick. 1968, Doubleday
- Temporally Structured Replay of Awake Hippocampal Ensemble Activity during Rapid Eye Movement Sleep, Kenway Louie, Matthew A.Wilson, Neuron, 2001
- Memory of Sequential Experience in the Hippocampus during Slow Wave Sleep. Albert K.Lee, Matthew A.Wilson, Neuron, 2002
- Rats dream about their tasks during slow wave sleep, MIT News, 2002
- Sleep and dreaming are for important matters, L. Perogamvros, T. T. Dang-Vu, M. Desseilles, and S. Schwartz, Front Psychol. 2013
- Do Rats Dream of a Journey to a Brighter Future?, Neuroscience News, June 26, 2015
- “Hippocampal place cells construct reward related sequences through unexplored space” by H Freyja Ólafsdóttir, Caswell Barry, Aman B Saleem, Demis Hassabis, and Hugo J Spiers, in eLife, June 26 2015
- A Deeper Look at Experience Replay, Shangtong Zhang, Richard S. Sutton, 2017
- Deep Reinforcement Learning Doesn’t Work Yet, Alex Irpan, 2018
- Memory Augmented Policy Optimization for Program Synthesis with
Generalization, Chen Liang, Mohammad Norouzi, Jonathan Berant, Quoc Le, Ni Lao, 2018 - Neural Symbolic Machines: Learning Semantic Parsers on Freebase with Weak Supervision, Chen Liang, Jonathan Berant, Quoc Le, Kenneth D Forbus, Ni Lao, 2017