现代机器学习擅长于从固定的数据集和固定的环境中训练出强大的模型,常常超过人类的能力。然而,这些模型未能模拟人类的学习过程,而人类的学习过程是有效的、稳健的,并且能够从非平稳世界的连续经验中逐步学习。对于这一局限性的见解可以从神经网络优化的本质中获得,这意味着持续学习技术可以从根本上提高深度学习,并打开了新的应用领域的大门。持续学习的有前途的方法可以在最细粒度的层次上找到,使用基于梯度的方法,也可以在体系结构层次上找到,使用模块化和基于内存的方法。我们也认为元学习是一个潜在的重要方向。
世界不是静止不动的
人工智能成功的一个常见基准是模仿人类学习的能力。我们测量人类识别图像、玩游戏和驾驶汽车的能力,举几个例子,然后开发机器学习模型,如果有足够的训练数据,它可以匹配或超过这些能力。这种范式把重点放在最终结果上,而不是学习过程上,并且忽略了人类学习的一个关键特征: 它对不断变化的任务和连续的经验是鲁棒的。人类以这种方式学习也许并不奇怪,毕竟,时间是不可逆的,世界是不稳定的(见词汇表),所以人类的学习已经进化到在动态学习环境中茁壮成长。然而,这种鲁棒性与最强大的现代机器学习方法形成了鲜明的对比,后者只有在数据经过仔细的洗牌、平衡和均质后才能表现良好。这些模型不仅表现不佳,而且在某些情况下,它们会完全失败,或者在早期学习的任务上遭遇快速的性能下降,即所谓的灾难性遗忘。
基于生物系统持续学习基础
对自然世界及其智能物种的研究经常与人工智能研究交叉,包括与持续学习有关的方面[1]。生物学为在复杂环境中成功地持续学习提供了存在证据,也暗示了成功方法的设计原则和权衡。有多种机制使生物系统能够适应不断变化的环境,而不固执或遗忘。因此,在本节中,我们将通过类比来介绍四种持续学习模式,并将每种方法的详细讨论留到后面的章节中。此外,可以通过描述它们的规范模型来简要地描述这些方法,如图1(关键图)所示。
持续学习的定义
持续学习的问题通常是由顺序训练协议和解决方案所期望的特性来定义的。与静态数据集或环境的普通机器学习设置相反,持续学习设置明确地关注非平稳或变化的环境,通常被划分为需要按顺序完成的一组任务。这种设置可能在任务转换(平滑或离散)、任务长度和重复、任务类型(如无监督、监督或强化学习)方面有所不同,或者甚至可能没有定义明确的任务[9-11]。与课程学习相比[12,13],学习者不能控制任务的顺序。
支持现代机器学习的独立同分布假设
神经网络大量利用现代技术来并行计算,同时考虑大量数据;事实上,这种易于伸缩的特性使得它们在过去的十年中成为了语音、视觉和语言应用程序的主流方法。
在典型的学习设置中,目标是通过设置网络的参数来最小化一些损失函数,例如真输出和预测输出之间的误差。基于梯度的学习,最有效的和广泛使用的范式,是一种迭代算法,在每一次迭代,使一个小变化的参数,以减少损失(更详细的解释,见盒2)。这条规则的机制在拔河的动态结果,其中每个数据样本正试图拉动每个参数更大或更小。通过平均梯度,我们因此创建了一个拔河游戏,其中应用于每个参数的更新(因为它是正的或负的)揭示了哪个数据样本赢了或输了。在许多优化步骤上组合许多拔河式更新,可以进行学习(图3)。
基于梯度的解决方案
由前面描述的拔河式学习动态驱动,一种有前途的方法是直接调节不同任务的梯度。这不仅是优化问题的核心,而且是由生物大脑[3]中突触巩固的研究激发的。一种方法是迫使梯度与之前学习任务的梯度保持一致[19,20],消除潜在干扰。这些方法在其他环境中也有好处,例如,在多任务学习中,它们有可能在目标冲突的情况下提高学习效率[21-23]。
模块化结构
模块化的神经网络结构是一种自然有效的解决持续学习中的干扰和灾难性遗忘问题的方法。模块化提供了一个折衷方案,即使用一个容易遗忘的单一单片网络,以及为每个任务使用独立的网络,这既可以防止灾难性遗忘,也可以防止任务之间的转移(参见图1C的模块化架构说明)。模块化在生物系统中也很明显,它支持大脑区域的功能专门化。
人工学习系统的记忆
基于梯度和模块化的方法可能更适合短期的持续学习,而不是长期的记忆。基于梯度的方法不能防止任意长任务序列的遗忘,而模块化方法可以在长时间尺度上保存知识,它们可能在神经网络能力方面达到实际的极限。考虑一下这样一个具有挑战性的场景:在几个月的时间里,把食物藏在1000个不同的地方,然后在更多的食物消失后,正确地找到每一个食物。这个特征是每个冬天都会出现的,比如夜莺、松鸦和鸦类[57]。通过调整一个简单的神经网络的参数来保存存储食物的顺序经验既具有挑战性又效率低下。一个更可伸缩的策略是使用专用的读写内存对空间位置进行编码。
元学习:发现持续学习的归纳偏差
到目前为止所讨论的所有解决方案都规定了用于持续学习的手工设计的机制或架构,归纳偏差。每种归纳偏差都在需求(如良好的知识保留与基于记忆的方法中的正向迁移)之间达成了不同的权衡。值得考虑的是,从数据中学习解决方案,而不是依靠人类的独创性来设计它,是否能够实现更好的权衡。历史上,许多元学习或学习-学习方法已经证明,解决方案可以通过自动学习归纳偏差(如架构、数据和学习参数)来改进,否则需要手工设计(图1E) 。
结论和未来方向
机器学习研究人员经常指出,人类具有快速学习和概括(例如,从几个例子中推断出一个模式)的非凡能力。然而,我们并不经常重新评价人类在一生的教育和经历中不断学习的能力,尽管正是这种能力使人类在科学、艺术和工业上取得成就。这篇文章不仅试图强调持续学习的重要性,而且还暴露了现代神经网络在这方面的局限性,特别是导致效率低下、基于梯度的拔河的信用分配问题。
通过对这一空间的调查,我们发现了一种学习模式,如果扩展到更有雄心的领域,它就有可能发挥真正的影响力。毫不奇怪,这些范式都有很强的平行神经科学和生物系统。基于梯度的方法直接修改了神经网络的操作时间,并被证明可以减少灾难性遗忘。
模块化架构为干扰和灾难性遗忘提供了实用的解决方案,同时通过技能和知识的层次重组实现面向迁移。端到端记忆模型可以成为长时间学习的可扩展解决方案,元学习方法可以超越手工设计的算法和架构。有了这些潜在的积极影响,也必须认识到部署不断变化的机器学习模型所涉及的风险,因为任何安全和预期行为的初始评估都不能轻易地永久保证。然而,通过提高学习算法的长期可靠性,以及通过开发确保某些规则或边界不被违反的架构,持续学习解决方案可以降低这些风险。
参考链接:
https://www.cell.com/trends/cognitive-sciences/fulltext/S1364-6613(20)30219-9#
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“持续学习” 可以获取《【Cell】神经网络中的持续学习,Embracing Change: Continual Learning in Deep Neural Networks》专知下载链接索引