本博客包括了最近阅读的持续学习相关论文,会持续更新。

一. 基于动态架构

1. Progressive Neural Networks (2016)

论文原地址 具体分析地址 代码地址

1.1 核心思路

提出了关键性的思想:渐进式网络结构,认为是最早的动态的架构模型,其想为每一个新任务训练时拥有更高的准确率以及更快地收敛速度,为每一个任务新增了一个网络,并且将之前训练过的网络的每一层输入到新的网络中,以达到高效使用过去任务信息的目的。

1.2 实验设置

1.2.1 对比的方法

  • Fine-tune

1.2.2 对比的数据集

  • MNIST
  • Some Reinforce learning dataset

1.3 方法适用性以及缺点分析

本文中模型随着任务线性增加,在训练过程中所带来的计算以及存储压力越来越大。


2. Learning without Forgetting(2016 ECCV)

论文原地址 具体分析地址 代码地址

2.1 核心思路

将模型分为贡献参数以及任务特定参数,其中任务特定参数随着任务的增加而增加。在训练过程中,利用新任务样本去计算旧任务损失,配合新任务损失防止参数遗忘。

2.2 实验设置

2.2.1 对比的方法

  • Fine-tune
  • LFL
  • Joint Training

2.2.2 对比的数据集

  • ImageNet
  • CUB
  • Places365

2.3 方法适用性以及缺点分析

在方法中可以发现共享参数占据了所有的特征提取层,这就导致每个任务之间的干扰性特别强,无法很好处理可塑性-稳定性平衡。


3. LifeLong Learning With Dynamically Expandable Networks (ICML 2018)

论文原地址 具体分析地址 代码地址

3.1 核心思路

提出了3个关键性的组建:选择性训练+动态的模型扩展+网络神经元的拆分。
选择性训练: 选择性训练在稀疏的神经网络中找到每个任务的训练路径,并识别为新任务的可训练参数。
动态的模型扩展: 在训练参数不够的情况下,为每一层添加固定数量的神经元,之后再利用正则化对参数进行稀疏。
网络神经元拆分: 对于前后任务参数偏移过大的情况,将对应的参数拆分成两份形成新的网络。

3.2 实验设置

3.2.1 对比的方法

  • EWC
  • Progressive
  • L2

3.2.2 对比的数据集

  • MNIST
  • Cifar100
  • AWA

3.3 方法适用性以及缺点分析

本文方法虽然使用隔离不同任务参数的办法以及额外新增参数的方法,但在工作中选择这些小部分参数时需要进行模型的遍历,同时在避免遗忘的控制中需要依次对每一个神经元都进行判断,从新连线,这在卷积神经网络中将变得特别复杂和麻烦,并且带来很大的计算量。


4. Learn to Grow: A Continual Structure Learning Framework for Overcoming Catastrophic Forgetting(ICML 2019)

论文原地址 具体分析地址 代码地址

4.1 核心思路

一个新任务到来时,模型共有三种选择:“reuse”, “adaptation"以及"new”。之后利用神经网络结构搜索模块,对每一层网络结构都进行搜索匹配上述的三种选择。

4.2 实验设置

4.2.1 对比的方法

  • EWC
  • Progressive

4.2.2 对比的数据集

  • MNIST
  • VDD

4.3 方法适用性以及缺点分析

本文方法主要针对于模型进行搜索,虽然使用梯度搜索方式(DARTS)节省了很多的计算量,但仍是一个非常耗时的工作,而且根据DARTS的工作,需要提前部署一个超网络(大型网络),这也带来了很大的计算空间。


5. Incremental Learning Through Deep Adaptation(PAMI 2020)

论文原地址 具体分析地址 代码地址

5.1 核心思路

利用已经存在的卷积层结构以及不断学习的投影参数生成新任务所需的卷积层参数,并且利用额外的超参数 α \alpha α来确保每个任务对应不同的网络参数。

5.2 实验设置

5.2.1 对比的方法

  • EWC

5.2.2 对比的数据集

  • MNIST
  • VDD
  • Caltech-256
  • CIFAR-10
  • Daimler
  • GTSR
  • Omniglot
  • Plankton imagery data
  • Human Sketch dataset
  • SVHN

5.3 方法适用性以及缺点分析

本文基于原本的网络投射出新的任务参数信息,并通过超参数选择这些新网络。但是这就要求第一个任务必须包括足够多的信息,拥有非常多的数据样本才能保证网路在之后工作时的性能。


6. Reparameterizing Convolutions for Incremental Multi-Task Learning without Task Interference(2020 ECCV)

论文原地址 具体分析地址 代码地址

6.1 核心思路

本文考虑将对每一个卷积层中的参数分解为共享参数以及任务特定参数。其中共享参数在训练开始前确定后将不允许改变,其由预训练参数经过特征值分解后得到。而对于任务特定参数来说,其为一系列1x1的卷机块组成,目标是将大量的共享参数投射到自己的任务空间,以进行更好的学习。

6.2 实验设置

6.2.1 对比的方法

  • Series RA
  • Parallel RA
  • ASTMT

6.2.2 对比的数据集

  • PASCAL
  • NYUD

6.3 方法适用性以及缺点分析

和第5个方法类似,通过使用投影的功能生成新的任务参数。虽然本文通过使用了预训练模型和SVD分解为共享的参数找到一个好的初始化,但在不同任务的训练时,可学习的网络参数不多,从而无法达到很好的准确率。


7. Conditional Channel Gated Networks for Task-Aware Continual Learning

论文原地址 具体分析地址 代码地址

7.1 核心思路

在每一个卷积层中设置了“门”函数,其会为每个任务选择不同的filter,从而实现参数隔离。并且,作者还从任务增量的场景延伸到类增量的场景,通过设定任务分类模块,保证模型能根据没有任务标签的测试集准确预测其属于哪一个任务。

7.2 实验设置

7.2.1 对比的方法

  • Cifar10
  • ImageNet
  • CIfar100
  • Aircraft
  • DPed
  • Textures
  • GTSRB
  • Omniglot
  • SVHN
  • UCF101
  • VGG-Flowers
  • COCO

7.2.2 对比的数据集

  • DAN
  • LwF
  • CCG
  • LTG
  • SEU
  • HAT
  • Res-Adapter

8. E 2 ^2 2-AEN: End-to-End Incremental Learning with Adaptively Expandable Network(2022)

论文原地址 具体分析地址 代码地址

8.1 核心思路

在每个CNN层添加额外的参数的时候设置了“门”这一概念,这样可以保证每个任务自己选择自己需要的网络部分从而剔除多余的参数。新增加的网络有三个串行的CNN块组成,以从多个维度提取信息并且进行减少输出的大小,而"门"网络则是根据输出大小进行一系列全连接的结果进行判断。为了保证网络能应用到边缘设备,在网络设计中添加了正则化损失保证参数稀疏。

8.2 实验设置

8.2.1 对比的方法

  • MNIST
  • SVHN
  • CIfar10

8.2.2 对比的数据集

  • EWC
  • LwF
  • HAT

持续学习相关文章汇总相关推荐

  1. Android学习相关文章汇总(持续更新,文章均来自网络,转侵删)

    本文主要是记录在使用Android踩坑时的一些有用的文章.以及Android进阶文章等相关链接的记录,并且附带一些简单的备注等.主要用来备忘.方便日后查看.会持续更新 1. AS相关问题 项目第一次g ...

  2. 英语学习相关文章摘录

    英语学习相关文章摘录 最近突然决定要好好学习下自己的英语,所以搜集下相关文章,摘录一些准备实践的观点: 我的英语学习经验 有人可能觉得学英语听地道的美式.英式英语是最佳的.但是我觉得非常有必要接触不同 ...

  3. python学习——相关软件汇总

    python学习--相关软件汇总 Part 1:准备工作 安装所需软件. 文本编辑器 VScode.pycharm 工具包 anaconda 交互式运行 python3.x 一.需要安装: 1.文本编 ...

  4. 微信或QQ分享IOS应用时显示“未验证”问题相关文章汇总

    微信或QQ分享IOS应用时显示"未验证"问题相关文章汇总 1.IOS官方说明与解决方案 2.QQ互联官方关于此问题的通知 3.QQ互联官方提供的解决方案 4.QQ互联对Univer ...

  5. 我爱机器学习网深度学习类别文章汇总

    机器学习领域的几种主要学习方式 解密最接近人脑的智能学习机器--深度学习及并行化实现 5 deep learning startups to follow in 2015 How to run the ...

  6. Silverlight 2 相关文章汇总

    概述 对自己写的Silverlight 2的相关文章做一下汇总,便于大家直接查找.另外,大家如果有关于Silverlight 2方面的问题,也可以在这里提出,我将尽力为大家解答. 一步一步学习Silv ...

  7. 国内 Mono 相关文章汇总

    一则新闻<软件服务提供商Xamarin融资1200万美元>,更详细的内容可以看Xamarin的官方博客Xamarin raises $12M to help you make better ...

  8. 【汇总】涉及iOSiPhone开发相关文章汇总

    此文章汇总本博客中有涉及iPhone开发的相关文章,不定时更新中... 1.NSUserDefaults快速存储数据: http://www.cnblogs.com/ios-wmm/archive/2 ...

  9. Spring相关文章汇总篇【Spring,SpringBoot,SpringCloud等】

      因为Spring框架包含的组件比较多,写的博客内容也比较多,虽然有分专栏但是依然不方便查找,所以专门用一篇文章来记录相关文章,会不定期更新. 一.Spring 1.基础内容 Spring介绍 Sp ...

最新文章

  1. 【Python进阶】你真的明白NumPy中的ndarray吗?
  2. Java IO 之 InputStream源码
  3. Css3新属性:calc()
  4. 网站安全之XSS漏洞攻击以及防范措施
  5. iOS 开发之动画篇 - 从 UIView 动画说起
  6. 万岳在线教育系统源码v1.1.4 支持录播回看/网课购买/学习测试
  7. Eclipse离线集成svn插件
  8. 等差素数列 蓝桥杯 python
  9. 关于Unable to read additional data from server sessionid 0x0问题的解决。
  10. UnitySDK新接入记录
  11. 斐迅路由器刷华硕固件
  12. 淘宝 触屏主页面 菜单
  13. 【JavaScript学习】JavaScript 常用工具类封装
  14. 统计学原理----算术平均数和调和平均数
  15. [2022]最新·GS游享环境-天龙八部服务器环境安装V2版本+视频教程
  16. 游戏美术都受到了什么绘画风格的影响
  17. 23中北大学计算机/软件考研必知
  18. 软考笔记——5.2网络安全技术
  19. JavaScript之jQuery番外篇【打地鼠游戏的制作讲解】
  20. Compile failed; see the compiler error output for details. 解决

热门文章

  1. 【技巧分享】时序逻辑和组合逻辑的区别和使用
  2. 思维导图,带你走进《西游记》人物的世界
  3. 平淡生活:祝我生日快乐
  4. Delphi 文件处理(4)
  5. core2 duo I3 I5 I7什么意思
  6. N型热电偶检测温度c语言程序,常用热电偶转换C语言程序源码.doc
  7. 2个程序员1周拿下4万块小程序项目的技术要点
  8. zoom 实习生错失 100万$ 的故事,以及稀有前端面经流出……
  9. java2的7次方怎么表示_2的十万次幂怎么求?用Java做
  10. 原创 | 独立开发者:到底做什么样的产品才最赚钱?