查看原文
其他

机器学习丨DeepMind发布最新《神经网络中持续学习》综述论文!

数据派THU 数据Seminar 2023-01-01


来源:AI科技评论,转载自公众号数据派THU

本文约3200字,建议阅读6分钟

本文重点介绍一些神经网络中最有前途和最有影响力的方向。



在过去的几十年中,人工智能研究取得了巨大进展,但是它主要依赖于固定的数据集和固定的环境。

而持续学习是一个越来越相关的研究领域,它关心人工系统如何像生物系统那样从连续的相关数据流中持续地学习。

近日,DeepMind在Cell上发布了13页的《神经网络中持续学习》综述论文。

本文将持续学习与神经网络的学习动力学联系起来,强调了其必须大大提高数据效率的潜力。

本文进一步考虑近年来出现的许多受生物学启发的新方法,重点是利用正则化,模块性,记忆( memory)和元学习的方法,并重点介绍一些最有前途和最有影响力的方向。



1、世界不是一成不变的

人工智能成功的一个常见基准是模仿人类学习的能力。我们测量人类识别图像、玩游戏和驾驶汽车的能力,然后开发可以匹配或超过给定训练数据的机器学习模型。

然而这种范式将重点放在最终结果上,而不是学习过程上,并且忽略了人类学习的一个关键特征:对不断变化的任务和连续的经验具有鲁棒性。

人类可以以这种方式学习是不足为奇的,毕竟,时间是不可逆转的,世界不是一成不变的,因此人类的学习已进化到在动态学习环境中蓬勃发展。

这种鲁棒性与现代最强大的机器学习方法形成了鲜明的对比,后者仅在呈现经过精心shuffle,平衡和同质化的数据时才能表现良好。

这些模型不仅在有所变化的数据状况时表现不佳,而且在某些情况下会完全失效,或因早期学习的任务而导致性能急剧下降,这被称为灾难性遗忘。

通过开发像人类一样持续不断学习的神经网络模型,可以得到什么?

持续学习技术可以使模型获得专门的解决方案同时不丢掉以前的解决方案,从而有可能像人类一样终身学习。

实际上,持续学习通常被认为是人类水平的人工智能的必要属性之一。

从根本上讲,通过提高学习效率以及实现相关任务之间的知识迁移,持续学习方法甚至可以在固定环境下为深度神经网络提供巨大优势。



2、持续学习的基础、定义与要求

基于生物系统的持续学习基础  

对自然界及其智能物种的研究经常与人工智能研究相交,包括持续学习。

生物学为在复杂环境中成功进行持续学习提供了存在证据,并暗示了设计方法的原则和成功方法的取舍。

有多种机制可以使生物系统适应不断变化的环境,而不会产生遗忘。

因此,本节通过类似于其生物学等效物的方式介绍四个连续学习范式,如下图所示:

图1 持续学习的范式


持续学习的定义

持续学习的问题通常由顺序训练协议和解决方案预期的功能来定义。与静态数据集或环境的通用机器学习设置相反,持续学习设置明确地专注于动态变化的环境,通常划分为需要顺序完成的一组任务。此设置可能在任务转换(平滑或离散),任务长度和重复以及任务类型(例如无监督、监督或强化学习)方面有所不同,甚至可能没有明确定义的任务。与课程学习比较,学习器无法控制任务的顺序。

持续学习解决方案通常希望满足许多需求,如下图所示并在方框1中定义。

图2 在持续学习环境中不同结果的图示

持续学习的要求 

  • 之前任务的最小访问。该模型没有为以前的经验提供无限存储,并且至关重要的是,它无法与以前看到的任务进行交互。

  • 模型容量和计算的最小增加。该方法必须是可伸缩的:它不能为每个后续任务添加新模型。
  • 减少灾难性的遗忘和干扰。对新任务的训练不应显着降低先前学习的任务的性能(图2 A,C)。
  • 快速适应和恢复。该模型应该能够快速适应新任务或领域转移,并且在呈现过去任务时能够快速恢复。
  • 保持可塑性。该模型应能够在观察到新任务时持续有效学习(图2 B)。
  • 最大化向前和向后传输。学习任务应该在学习效率和绩效方面都改善过去和将来的相关任务(图2 D,E)。
  • 与任务无关的学习。该方法不应依赖已知的任务标签或任务边界。



3、基于梯度的解决方案

图3 不同任务的梯度下降优化

基于梯度的持续学习方法可以理解为突触可塑性模型的远亲。

哺乳动物的大脑在突触级具有复杂的机制,可以防止新旧知识之间的干扰,甚至是事实和技能之间的冲突。虽然突触可塑性已经研究了数十年,但是许多核心功能仍然难以捉摸。

基于梯度的方法的一个弱点是它们依赖于要达到的目标的近似值,这意味着一旦模型出现了很多任务或序列中的任务更加多样化,它们就很可能失败。



4、模块化架构

模块化是人工系统用来实现持续学习的另一个范式。

从进化的角度来看,在日益复杂的环境中成功的生存与神经系统的强烈分化和专一性相关并非偶然。

实际上,生物大脑是模块化的,具有不同但相互作用的子系统(如用于记忆或运动控制)。就稀疏激活和分层组织而言,模块化的证据已从解剖学特征扩展到功能分离。

模块化神经网络体系结构是对持续学习中的干扰和灾难性遗忘问题的一种自然而有效的解决方案。

模块化也可以表现为层次结构。

理解模块化的另一种方法是从稀疏性的角度出发,它已从压缩和效率角度进行了广泛的探索,它也对强化学习和控制具有适用性。

从持续学习的角度来看,稀疏表示和渐变都会导致较少的干扰和遗忘,因为将有较少的任务敏感参数或较少的有效参数更改。稀疏性也可能导致模块的出现,而无需预定义的模块化体系结构,我们将其视为未来研究的重要途径。

模块化的范式,尤其是在与稀疏约束和层次抽象结合时,提供了一种实用而强大的方法来解决持续学习的问题。

展望未来,人类级人工智能将需要具备专业能力和技能组合能力,模块化的持续学习描述了通往两者的道路。



5、人工学习系统的记忆

大脑中的记忆系统对人类学习是至关重要的,并且是人工神经网络中基于记忆的持续学习的灵感来源。

尽管神经科学尚未完全描述突触可塑性、情景记忆和语义记忆之间的复杂相互作用,但很明显,记忆是保护人类学习和适应各种经历的长期生命的堡垒。

借鉴生物学的启发,本文考虑了一个更雄心勃勃的解决持续学习问题的方法:实现一个可以对知识或经验进行编码,存储和回忆的神经网络存储器。

人工存储器对于长期召回可能具有更大的可伸缩性,但是它带来了额外的挑战,即以一种跨任务的方式来设计或最好学习用于编码,查询和编写信息的框架。

用于持续学习的最简单的记忆实现通常称为回放或排练:其想法是维持观察的历史,然后从该缓冲区(以及当前的观察)中采样学习目标,从而通过连续排练来避免灾难性的遗忘以前看过的任务(图1 D)。

在这种类别下,还有情节记忆方法,它们不同于排练方法,因为它们不仅使用回放记忆进行训练,而且还用到了推理。

排练和情景记忆很简单,并且在减少遗忘方面非常有效,但它们的伸缩性不好。

无论面临什么挑战,记忆框架对于持续学习显然都是有价值的,而且最普遍的端到端模型有潜力在该领域开拓新的领域,但前提是我们必须克服训练此类系统的挑战。



6、元学习:发现用于持续学习的归纳偏差

用于持续学习的元学习是一种方法,该方法受大脑在有限的经验之后合成新颖解决方案的能力的激励。

通过应用机器学习来优化学习方法本身,因此用来学习“学习”本身,元学习希望实现与生物系统所展示的那种快速、通用的适应能力。

到目前为止讨论的所有解决方案都规定了手动设计的机制或体系结构,归纳偏差,以进行持续学习。

每个归纳偏见都在渴望之间产生了不同的权衡,例如,良好的知识保留与基于内存的方法中的正向转移。值得考虑的是,是否可以通过从数据中学习解决方案而不是依靠人类的独创性来设计解决方案,从而实现更好的折衷。

从历史上看,许多“元学习”或“从学习到学习”的方法都表明,可以通过自动学习归纳性偏见(例如体系结构,数据和学习参数)来改善解决方案,否则这些就需要手动进行。



7、结语和未来方向

人类具有快速学习和强大概括的非凡能力,正是这种能力可以使人类在科学,艺术和工业领域取得成就,但我们并不经常提及人类在一生的教育和经验中不断学习的能力。

本文不仅试图强调持续学习的重要性,而且试图揭露现代神经网络在这方面的局限性。

通过调查,本文确定了几种学习范式,这些范式在神经科学和生物学系统中都有很强的相似性。

基于梯度的方法直接修改了神经网络的优化,并且已经证明可以减少灾难性的遗忘。

模块化体系结构通过技能和知识的分层重组为灾难性遗忘提供了务实的解决方案。

端到端记忆模型可能是用于长时间学习的可扩展解决方案,而元学习方法可能会完全超过手工设计的算法和体系结构。 

最后,持续学习解决方案可以通过提高学习算法的长期可靠性以及开发确保从边界的体系结构来减轻风险。







点击阅读原文进入CCAD数据库

长按识别,添加小客服企业微信~



·END·


星标⭐我们不迷路!

想要文章及时到,文末“在看”少不了!


点击搜索你感兴趣的内容吧



往期推荐



数据呈现丨如何选择数据分析可视化工具?Excel, Tableau还是Power BI?

软件应用丨附实战代码:告别OS模块,体验Python文件操作新姿势!

资讯丨抢先看!第二十届中国经济学年会议程公布

机器学习丨一文看懂贝叶斯定理及应用

启研报告 | 从材料到制造,哪一地区拥有我国最大新能源汽车产业集群?

机器学习丨七个关键因素:如何选择出最佳机器学习算法?

数字治理丨在“十四五”规划建议中的体现





数据Seminar




这里是大数据、分析技术与学术研究的三叉路口



文丨数据派THU

推荐丨青酱


    欢迎扫描👇二维码添加关注    

点击下方“阅读全文”了解更多

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存