0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DeepMind最新研究通过函数正则化解决灾难性遗忘

DPVg_AI_era 来源:lq 2019-06-29 07:53 次阅读

当遇到序列任务时,神经网络会遭受灾难性遗忘。DeepMind研究人员通过在函数空间中引入贝叶斯推理,使用诱导点稀疏GP方法和优化排练数据点来克服这个问题。今天和大家分享这篇Reddit高赞论文。

这篇由DeepMind研究团队出品的论文名字叫“Functional Regularisation for Continual Learning”(持续学习的功能正规化)。研究人员引入了一个基于函数空间贝叶斯推理的持续学习框架,而不是深度神经网络的参数。该方法被称为用于持续学习的函数正则化,通过在底层任务特定功能上构造和记忆一个近似的后验信念,避免忘记先前的任务。

为了实现这一点,他们依赖于通过将神经网络的最后一层的权重视为随机和高斯分布而获得的高斯过程。然后,训练算法依次遇到任务,并利用诱导点稀疏高斯过程方法构造任务特定函数的后验信念。在每个步骤中,首先学习新任务,然后构建总结(summary),其包括(i)引入输入和(ii)在这些输入处的函数值上的后验分布。然后,这个总结通过Kullback-Leibler正则化术语规范学习未来任务,从而避免了对早期任务的灾难性遗忘。他们在分类数据集中演示了自己的算法,例如Split-MNIST,Permuted-MNIST和Omniglot。

通过函数正则化解决灾难性遗忘

近年来,人们对持续学习(也称为终身学习)的兴趣再度兴起,这是指以在线方式从可能与不断增加的任务相关的数据中学习的系统。持续学习系统必须适应所有早期任务的良好表现,而无需对以前的数据进行大量的重新训练。

持续学习的两个主要挑战是:

(i)避免灾难性遗忘,比如记住如何解决早期任务;

(ii)任务数量的可扩展性。

其他可能的设计包括向前和向后转移,比如更快地学习后面的任务和回顾性地改进前面的任务。值得注意的是,持续学习与元学习(meta-learning)或多任务学习有很大的不同。在后一种方法中,所有任务都是同时学习的,例如,训练是通过对小批量任务进行二次抽样,这意味着没有遗忘的风险。

与许多最近关于持续学习的著作相似,他们关注的是理想化的情况,即一系列有监督的学习任务,具有已知的任务边界,呈现给一个深度神经网络的持续学习系统。一个主要的挑战是有效地规范化学习,使深度神经网络避免灾难性的遗忘,即避免导致早期任务的预测性能差的网络参数配置。在不同的技术中,他们考虑了两种不同的方法来管理灾难性遗忘。

一方面,这些方法限制或规范网络的参数,使其与以前的任务中学习的参数没有明显的偏差。 这包括将持续学习构建为顺序近似贝叶斯推理的方法,包括EWC和VCL。这种方法由于表征漂移(representation drift)而具有脆弱性(brittleness)。也就是说,随着参数适应新任务,其他参数被约束/正规化的值变得过时。

另一方面,他们有预演/回放缓冲方法,它使用过去观察的记忆存储来记住以前的任务。它们不会受到脆弱性的影响,但是它们不表示未知函数的不确定性(它们只存储输入-输出),并且如果任务复杂且需要许多观察来正确地表示,那么它们的可扩展性会降低。优化存储在重放缓冲区中的最佳观察结果也是一个未解决的问题。

在论文中,研究人员发展了一种新的持续学习方法,解决了这两个类别的缺点。它是基于近似贝叶斯推理,但基于函数空间而不是神经网络参数,因此不存在上述的脆弱性。这种方法通过记住对底层特定任务功能的近似后验信念,避免忘记先前的任务。

为了实现这一点,他们考虑了高斯过程(GPs),并利用诱导点稀疏GP方法总结了使用少量诱导点的函数的后验分布。这些诱导点及其后验分布通过变分推理框架内的KullbackLeibler正则化项,来规范未来任务的持续学习,避免了对早期任务的灾难性遗忘。因此,他们的方法与基于重播的方法相似,但有两个重要的优势。

首先,诱导点的近似后验分布捕获了未知函数的不确定性,并总结了给定所有观测值的全后验分布。其次,诱导点可以使用来自GP文献的专门标准进行优化,实现比随机选择观测更好的性能。

为了使他们的函数正则化方法能够处理高维和复杂的数据集,他们使用具有神经网络参数化特征的线性核。这样的GPs可以理解为贝叶斯神经网络,其中只有最后一层的权重以贝叶斯方式处理,而早期层的权重是优化的。这种观点允许在权重空间中进行更有效和准确的计算训练程序,然后将近似转换为函数空间,在函数空间中构造诱导点,然后用于规范未来任务的学习。他们在分类中展示了自己的方法,并证明它在Permuted-MNIST,Split-MNIST和Omniglot上具有最先进的性能。

实验简介

研究人员考虑了三个持续学习分类问题中的实验:Split-MNIST,PermutedMNIST和Sequenn Omniglot。他们比较了其方法的两种变体,称为功能正则化持续学习(FRCL)。

表1:Permuted-MNIST和Split-MNIST的结果。对于在这项工作中进行的实验,他们显示了10次随机重复的平均值和标准差。在适用的情况下,他们还会在括号中报告每个任务的诱导点/重放缓冲区大小的数量。

表2:Sequential Omniglo的结果。所示为超过5个随机任务排列的平均值和标准偏差。请注意,由于不现实的假设,“每个任务的单一模型”和“渐进网络”方法不能直接比较。他们将其包括在内,因为它们为其余的持续学习方法提供了性能的上限。

他们将自己的方法与文献中的其他方法进行比较,引用公布的结果,并使用与简单的重放-缓冲方法相对应的附加基线(BASELINE)进行持续学习。对于所有实现的方法,即FRCL-RND,FRCL-TR和BASELINE,他们不在共享特征向量参数θ上放置任何额外的正则化器(例如“2惩罚”或批量规范化等)。

鉴于Permuted-MNIST和Omniglot是多类分类问题,其中每个第k个任务涉及对Ck类的分类,他们需要推广模型和变分方法来处理每个任务的多个GP函数。正如他们在补充中详述的那样,这样做很简单。FRCL方法已使用GPflow实现。

图1:左栏中的面板显示随机诱导点(BASELINE&FRCL-RND;见顶部图像)和相应的最终/优化诱导点(FRCL-TR);请参阅Permuted-MNIST基准测试的第一项任务。诱导点的数量限制为10个,每行对应于不同的运行。右栏中的面板提供随机诱导点的tsne可视化,最终/优化的那些将一起显示所有剩余的训练输入。为了获得这种可视化,他们将tsne应用于训练输入的完整神经网络特征向量矩阵ΦX1。

讨论与未来研究

研究人员引入了一种用于监督连续学习的函数正则化方法,该方法将诱导点GP推理与深度神经网络相结合。该方法构造特定于任务的后验信念或总结,包括对函数值的诱导输入和分布,这些函数值捕获了与任务相关的未知函数的不确定性。随后,任务特定的总结使他们能够规范持续学习并避免灾难性的遗忘。

关于使用GPs进行在线学习的相关工作,请注意先前的算法是以在线方式学习单个任务,其中来自该任务的数据依次到达。相比之下,论文提出了一种处理一系列不同任务的连续学习方法。

未来研究的方向是强制执行固定的内存缓冲区,在这种情况下,需要将所有先前看到的任务的总结压缩为单个总结。最后,在论文中,他们将该方法应用于具有已知任务边界的监督分类任务,将其扩展到处理未知任务边界,并考虑在其他领域的应用,如强化学习。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98743
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61308
  • DeepMind
    +关注

    关注

    0

    文章

    126

    浏览量

    10709

原文标题:Reddit热议!DeepMind最新研究解决灾难性遗忘难题

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    *** 灾难性故障,求救,经验分享

    我用***不久,出现 灾难性故障的次数很多(操作失败),有人说是盗版,有人说是误操作,有人说是电脑内存小。请问有没有人出现过同样的问题,又有如何的应对方法,分享一下你的经验,250元的考证,要是出现了这个问题,学子们又得浪费父母的250RMB了,跪求解决!
    发表于 05-03 14:36

    ***灾难性故障

    打开不了,显示出Exception EOleException in moudle ***.exe at0036E780.灾难性故障
    发表于 10-15 12:10

    有没人在使用AD过程中出现灾难性故障啊,怎么解决的?

    有没人在使用AD过程中出现灾难性故障啊,怎么解决的。我最近使用的AD软件总是出现
    发表于 11-20 09:11

    未来的AI 深挖谷歌 DeepMind 和它背后的技术

    的机器学习非常感兴趣,但它对使用这些技术的安全也有客观的看法。为了避免机器灾难DeepMind开发了一个开源测试平台,以确定在存在不良行为时,算法是否具有终止开关。这个开源测试平台称为
    发表于 08-26 12:04

    如何创建正则的表达式?

    正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用,经常用于表单校验,高级搜索等。
    发表于 10-27 15:49

    AD画图出现“灾难性故障 (异常来自 HRESULT:0x8000FFFF (E_UNEXPECTED))”

    在AD画原理图中将原理图库中的元件拖入原理图时出现“灾难性故障 (异常来自 HRESULT:0x8000FFFF (E_UNEXPECTED))”
    发表于 01-22 17:11

    PCB灾难性故障

    未知情况,我把所有封装都选好了往PCB导的时候出现的这个问题,不知道为什么
    发表于 03-10 15:31

    DeepMind通过机器学习技术有助于改善乳腺癌

    DeepMind成立DeepMind Health致力于开发有助于解决社会棘手难题的技术,而其最新研究计划主题为乳腺癌,DeepMind将会通过
    发表于 12-12 09:20 789次阅读

    DeepMind破解灾难性遗忘密码,让AI更像人

    这是一个大问题。因为,先进的算法可以说是在分析了无数的例子之后才学会被要求做的事情。例如,一个面部识别AI系统需要分析成千上万张人脸的图片,这些图片很可能是人工标注过的,这样它才能在人脸出现在视频流中的时候检测到。
    的头像 发表于 09-02 09:04 3173次阅读

    DeepMind彻底解决人工智能灾难性遗忘问题

    人工智能系统在设计上就倾向于在每次开始新的学习之前,忘记先前学到的所有东西,这被称为灾难性遗忘
    的头像 发表于 09-03 11:11 3129次阅读

    Batch的大小、灾难性遗忘将如何影响学习速率

    灾难性遗忘(Catastrophic Forgetting)”,这也是在较小batch中限制学习率的原因。
    的头像 发表于 11-14 08:58 3200次阅读

    实现人工智能战略性遗忘的三个方法

    神经网络的逻辑与此不同,如果一个神经网络被训练学习英语,那么其会通过调用参数解决英语问题。如果你想教它学习西班牙语,那么神经网络对于西班牙语的认知就会覆盖掉之前为英语学习所储备的知识,有效清空所有内容并从零开始。我们将其称为“灾难性遗忘
    的头像 发表于 03-05 17:44 3307次阅读

    详解机器学习和深度学习常见的正则

    说到正则化大家应该都不陌生,这个在机器学习和深度学习中都是非常常见的,常用的正则化有L1正则化和L2正则化。提到正则化大家就会想到是它会将权
    的头像 发表于 01-29 17:52 1983次阅读
    详解机器学习和深度学习常见的<b class='flag-5'>正则</b>化

    基于AdaBoost框架的弹性正则化多核学习算法

    正则化多核学习中,稀疏的核函数权值会导致有用信息丢失和泛化性能退化,而通过非稀疏模型选取所有核函数则会产生较多的冗余信息并对噪声敏感。针对上述问题,基于 Adaboost框架提出一种
    发表于 06-03 11:37 1次下载

    基于先验指导的对抗样本初始化方法提升FAT效果

    这种现象最先由Wong等人发现,随后他们又发现使用FGSM生成对抗样本时使用随机初始化可以延缓灾难性遗忘发生的时间,但是随着训练的进行,灾难性遗忘还是无法避免。
    的头像 发表于 12-19 09:42 475次阅读