DER论文详解DER: Dynamically Expandable Representation for Class Incremental Learning, CVPR 2021
论文地址:[2103.16788] DER: Dynamically Expandable Representation for Class Incremental Learning (arxiv.org)
代码地址:https://github.com/Rhyssiyan/DER-ClassIL.pytorch.
本文上海科技大学和中国科学院大学共同发表。发表在CVPR2021. 本文是通过增加模型权值来适应增量任务。也运用了memory,相当于基于rehersal和模型的方法的结合。本文主要的改进在于模型层面。
目录
一、贡献点
二、方法
2.1 特征提取
2.2 分类器
2.3 loss
三、实验
四、评价
一、贡献点
1.本文提出了一个two-stages的训练方法,stability-plasticity之间需要进行trade-off
,提出了DER(dynamically expandable representation),对feature进行expand
在每个增量任务时候,都将上一个阶段提取出的特征进行固定,并且运用新的特征提取器再对特征进行提取。
这就使得模型在保持旧任务知识的同时可以获得适用于新增量任务的新知识。
用了这种方法减少存储占用:channel-level mask-based pruning strategy.
2.通过辅助loss使得网络获取更加具有判别性的特征。
3.性能与同类型方法相比达到SOTA,见图1
通过此图可以看出,本文重要的是在模型权重数量和模型准确率之间寻找一个平衡。同样权重增加的情况下,本文的Average Precison达到最佳。
同样的权重数量下,average accuracy越大越好.
增量学习方法的分类
本文在related work里面将增量学习方法总结为了三种:
- regularization-based,例如EWC,将Laplace近似用于避免权重落入局部极小值
- distillation-based,(也可以被认为是Rehersal based)例如iCaRL,EE2L, UCIR, PODNet, TPCIL (PODNet,TPCIL较新,是ICCV2020的文章) 例如:PodNet: PODNet: Pooled Outputs Distillation for Small-Tasks Incremental Learning论文详解ECCV2020
- Structure-based: 也是本文采用的方法,通过模型结构增加,来实现增量任务的提升。
二、方法
本文采用的结构也是增量学习近些年广泛采用的结构,即特征提取模块与分类器模块相互分离。
2.1 特征提取
数据集{Dt}, 样本(xt, yt),yt为标签, Yt为标签的集合。
两个stage:
representation learning stage: 针对任务t的特征提取模型为фt()
设置auxiliary loss用于使得特征提取模块获得更加diverse and discriminative features
classifier learning stage:定义为H()
将已有数据与memory之中的数据合并进行学习。
公式表示,新任务的特征提取网络ф()相当于旧任务的特征提取网络фt-1()和新训练的特征提取网络F合并,
- 输入样本为x,提取出的特征为u
- ф()表示特征提取网络
- фt-1()表示task t到来之前的特征提取网络
- task t到来之后,新学习的特征提取网络Ft(x)与上一个特征提取网络фt-1()共同提取的特征作为фt
2.2 分类器
分类器阶段的公式为:
很容易理解,将上阶段提取出的特征输出作为分类器的输入
看图可以看出每新来一个task,就新训练一个特征提取网络F,然后并入上一个特征提取网络中作为新的特征提取网络。
其中,mask layer相当于对特征进行采样,从而降低特征维度。
2.3 loss
训练loss:
训练loss即交叉熵,其中D^hat即训练样本与memory中样本的并集。
除此自外,作者引入了auxiliary loss,
根据图2可得,此Loss为针对new-feature的判别器的loss
三、实验
ER代表Expandable representation
Aux表示auxiliary loss
作者在cifar100上进行实验,Ours(w/o)表示没有pruning(即channel-wise mask),channel-wise mask相当于对channel加一个mask,从而减少feature的尺寸,降低存储和运算消耗。
四、评价
本文图1中的性能较好,与其他同类方法对比相当于基于模型的方法,用模型增加和新权重对增量中的new task进行适应。
但是实际上对增量的运用有两个开销的增加,一个是新增权重即model size的增加,另一个是Memory size的增加,文中并没有提及memory size对实验的影响。按照本文的方法,memory的尺寸是越来越多的,但是比较的同类方法的memory size可能是固定的,这种比较可能并不公平。
DER论文详解DER: Dynamically Expandable Representation for Class Incremental Learning, CVPR 2021相关推荐
- 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...
原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...
- GeniePath:Graph Neural Networks with Adaptive Receptive Paths 论文详解 AAAI2019
文章目录 1 相关介绍 1.1 感受野的定义 贡献 2 图卷积网络GCN GCN.GraphSAGE.GAT Discussions 3 GeniePath 3.1 Permutation Invar ...
- 图注意力网络GAT - 《Graph Attention Networks》论文详解
目录 前言 正文 图注意力机制层(Graph Attentional Layer) 层的输入 注意力系数 归一化注意力系数 通过邻居节点更新自身节点 层的输出 GAT相比于先前研究的优势 附作者简介 ...
- Fast R-CNN论文详解
Fast R-CNN论文详解 作者:ture_dream &创新点 规避R-CNN中冗余的特征提取操作,只对整张图像全区域进行一次特征提取: 用RoI pooling层取代最后一层max po ...
- 限时9.9元 | 快速领取数学建模竞赛备战必备技巧与论文详解!
全世界只有3.14 % 的人关注了 青少年数学之旅 大家晚上好,随着美赛时间的公布以及大大小小的数学建模竞赛的进行,小天经常可以收到来自很多小伙伴们提出的问题,"竞赛中如何去考虑选题?&qu ...
- transfromer-XL论文详解
transfromer-XL论文详解 – 潘登同学的NLP笔记 文章目录 transfromer-XL论文详解 -- 潘登同学的NLP笔记 Vanilla Transformer Segment-Le ...
- KernelGAN论文详解分享
KernelGAN- Blind Super-Resolution Kernel Estimation using an Internal-GAN论文详解 论文地址:https://arxiv.org ...
- ShuffleNetv2论文详解
ShuffleNet v2 论文详解 近期在研究轻量级 backbone 网络,我们所熟悉和工业界能部署的网络有 MobileNet V2.ShuffleNet V2.RepVGG 等,本篇博客是对 ...
- 【论文精读3】MVSNet系列论文详解-P-MVSNet
P-MVSNet全名为"P-MVSNet: Learning Patch-wise Matching Confidence Aggregation for Multi-View Stereo ...
- Spark RDD 论文详解(三)Spark 编程接口
前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技 ...
最新文章
- python导入数据画多列直方图_在python datafram中使用两列(值、计数)绘制直方图...
- 2021-04-17 安装Ubuntu18.0.4 的深度学习训练服务器
- [BZOJ1833][ZJOI2010]Count数字计数(DP)
- Golden Gate 与 Oracle DataGuard的区别
- macOS NSTableView
- 常用的C#正则表达式!
- linux kill命令信号,Linux kill 命令详解
- eclipse导入项目pom文件报错_eclipse导入maven管理的项目时,pom.xml第一行报错。错误如图1。而且dubbo的xml也不识别。...
- MySQL执行计划extra中的using index 和 using where using index 的区别
- 【kafka】 kafka如何设置指定分区进行发送和消费
- 阿里云centos远程连接mysql
- python数组拼接concat_Python xarray.concat然后xarray.to_netcdf生成巨大的新文件大小
- 设计模式---访问者模式(C++实现)
- mysql查询bween_MySQL常用查询语句(23个)
- A. Death Note
- 清理tomcat服务器日志文件,Tomcat日志配置与清理
- 面试求职-你们想知道的腾讯面经
- 谷露猎头系统3.0新功能:Mapping模块,助你轻松画出动态组织架构图
- 《缠中说禅108课》37:背驰的再分辨
- 烦人的弹窗Placing the unmodified “important.txt“ in the zip file with the agent jar in the same