Overcoming catastrophic forgetting in neural networks(克服神经网络中的灾难性遗忘)

原文:

https://www.pnas.org/content/pnas/early/2017/03/13/1611835114.full.pdf

翻译:

https://www.dengfanxin.cn/?p=368

 
 

摘要:

以顺序方式学习任务的能力对于人工智能的发展至关重要。直到现在,神经网络还没有能力做到这一点,人们普遍认为,灾难性遗忘是连接模型(connectionist models,即神经网络)的一个不可避免的特征。我们表明,有可能克服这种限制,训练能够保持长期未经历的任务专业知识的网络。我们的方法通过选择性地减慢对于这些任务重要的权重的学习来记住旧任务。我们通过一组基于手写数字数据集的分类任务以及依次学习几个Atari 2600游戏来证明我们的方法具有可扩展性和有效性。

 
 

摘取自翻译:

在实现通用智能时,神经网络需要持续学习的能力。

 
 

持续学习:学习连贯的任务而不会忘记如何执行之前训练过的任务的能力。

 
 

灾难性遗忘(catastrophic forgetting):在一个顺序无标注的、可能随机切换的、同种任务可能长时间不复现的
任务序列中,AI对当前任务B进行学习时,对先前任务A的知识会突然地丢失的现象。通常发生在对任务A很重要的神经网络的权重正好满足任务B的目标时。

 
 

当前解决办法是:训练时可同时获得多个任务的数据(与SHL-MDNN在一个batch中包括所有任务的数据这一做法类似),即使得权重对所有任务进行联合优化(多任务学习范式-深度学习技术)。但这中方法不适用于大规模任务

 
 

与人工神经网络形式鲜明对比的是人类和其他动物似乎能够以连续的方式学习[11]。最近的证据提示哺乳动物的大脑可能会通过大脑皮层回路来保护先前获得的知识,从而避免灾难性遗忘[11-14]。当小鼠需要一个新技能的时候,一定比例的突触就会增强,表现为单一神经元的树突棘数量的增加[13]。至关重要的是,即使进行了后续的其他任务的学习,这些增加了的树突棘能够得到保持,以便几个月后相关能力仍然得到保留。当这些树突棘被选择性"擦除"后,相关的技能就会被遗忘[11,12]。这表明对这些增强的突触的保护对于任务能力的保留至关重要。这些实验发现与诸如瀑布模型[15, 16]这样的神经生物学模型提示我们大脑皮层中的持续学习依赖于任务相关突触的巩固,知识能够长久地编码得益于让一部分突触降低可塑性从而在相当长的时间范围内变得稳定。

本次工作将展示任务相关突触巩固为人工智能的持续学习问题提供了独特的解决方案。我们为人工智能神经网络开发了一种类似于突触巩固的算法,称之为可塑权重巩固(elastic weight consolidation,EWC)。这个算法会针对那些对特定任务特别重要的特定权重降低学习率。也会展示EWC如何应用在监督学习和强化学习问题中,在不会遗忘旧任务的情况下,按次序地训练多个任务,并与之前的深度学习技术进行对比。

 
 

灾难性遗忘(catastrophic forgetting)的更多相关文章

  1. Overcoming Forgetting in Federated Learning on Non-IID Data

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. NeurIPS 2019 Workshop on Federated Learning ...

  2. 论文笔记之:Progressive Neural Network Google DeepMind

    Progressive Neural Network  Google DeepMind 摘要:学习去解决任务的复杂序列 --- 结合 transfer (迁移),并且避免 catastrophic f ...

  3. ICML 2018 | 从强化学习到生成模型:40篇值得一读的论文

    https://blog.csdn.net/y80gDg1/article/details/81463731 感谢阅读腾讯AI Lab微信号第34篇文章.当地时间 7 月 10-15 日,第 35 届 ...

  4. A Bayesian Approach to Deep Neural Network Adaptation with Applications to Robust Automatic Speech Recognition

    基于贝叶斯的深度神经网络自适应及其在鲁棒自动语音识别中的应用     直接贝叶斯DNN自适应 使用高斯先验对DNN进行MAP自适应 为何贝叶斯在模型自适应中很有用? 因为自适应问题可以视为后验估计问题 ...

  5. 深度自适应增量学习(Incremental Learning Through Deep Adaptation)

    深度自适应增量学习(Incremental Learning Through Deep Adaptation) 2018-05-25 18:56:00 木呆呆瓶子 阅读数 10564  收藏 更多 分 ...

  6. 论文翻译:2021_MetricGAN+: An Improved Version of MetricGAN for Speech Enhancement

    论文地址:MetricGAN+:用于语音增强的 MetricGAN 的改进版本 论文代码:https://github.com/JasonSWFu/MetricGAN 引用格式:Fu S W, Yu ...

  7. 【一周聚焦】 联邦学习 arxiv 2.16-3.10

    这是一个新开的每周六定期更新栏目,将本周arxiv上新出的联邦学习等感兴趣方向的文章进行总结.与之前精读文章不同,本栏目只会简要总结其研究内容.解决方法与效果.这篇作为栏目首发,可能不止本周内容(毕竟 ...

  8. Markdown 尝试

    目录 简介 参数模型 vs. 非参数模型 创新点 at the modeling level at the training procedure 模型结构 attention kernel Full ...

  9. 论文笔记系列-iCaRL: Incremental Classifier and Representation Learning

    导言 传统的神经网络都是基于固定的数据集进行训练学习的,一旦有新的,不同分布的数据进来,一般而言需要重新训练整个网络,这样费时费力,而且在实际应用场景中也不适用,所以增量学习应运而生. 增量学习主要旨 ...

随机推荐

  1. django 配置media 存放调用 图片、图标等文件

    一.需求分析: 一般在网站开发中,有很多类似于用户头像.用户上传的文件,这些经常要改变的媒体文件,需要有一个地方存放,于是就需要media目录,起到跟static类似的功能. 二.在settings. ...

  2. socketv 验证客户端链接的合法性,socketserver

    补充: send()与sendall() 在python socket编程中,有两个发送TCP的函数,send()与sendall(),区别如下: socket.send(string[, flags ...

  3. Day17--Python--面向对象--成员

    成员 class Person: def __init__(self, name, num, gender,birthday): # 成员变量(实例变量) self.name = name self. ...

  4. (set)MG loves gold hdu6019

    MG loves gold Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...

  5. win命令大全

    Windows系统:开始--运行--命令大全 Nslookup-------IP地址侦测器                       explorer-------打开资源管理器 logoff--- ...

  6. PV、UV、UIP、VV、CPC、CPM、RPM、CTR解释

    PV.UV.UIP.VV.CPC.CPM.RPM.CTR 具体解释 PV:Page View,页面访问量,也就是曝光量. UV:Unique Visitor,独立访客数,同一个访问多次访问也只算1个访 ...

  7. Linux如何查看机器的配置信息

    Linux如何查看机器的配置信息 1.查看内存信息 cat /proc/meminfo [root@web ~]# cat /proc/meminfo MemTotal: kB MemFree: kB ...

  8. AtomicInteger类的理解与使用

    AtomicInteger类的理解与使用 首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Sample1 { private stati ...

  9. go 命令

    go build go build,是我们非常常用的命令,它可以启动编译,把我们的包和相关的依赖编译成一个可执行的文件. go help build 帮助命令 go build go build . ...

  10. Linux记录-配置无密码登录

    1.互信的机器都执行 ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> /home/hdfs/.ssh/authorized_keys chmod 60 ...