Abstract

深度神经网络(DNNs)在增量学习(IL)过程中经常遭受“灾难性遗忘”——当训练目标适应于新添加的一组类时,原始类的性能会突然下降。 现有的IL方法倾向于产生一个偏向于旧类或新类的模型,除非借助旧数据的范例。 为了解决这个问题,我们提出了一种称为深度模型整合(Deep Model Consolidation, DMC)的类增量学习范式,即使在原始训练数据不可用的情况下,它也能很好地工作。 其思想是首先为新类训练一个单独的模型,然后通过一个新的双精馏训练目标将两个单独的模型结合起来,这两个模型是根据两组不同的类(旧类和新类)的数据训练的。 利用公开可用的未标记辅助数据对现有的两个模型进行了整合。 这克服了由于无法获得原始训练数据而造成的潜在困难。 与最先进的技术相比,DMC在单头IL设置下的CIFAR-100图像分类和PASCAL VOC 2007目标检测基准测试中表现出了更好的性能

大概的思路。 利用两个模型进行蒸馏,需要公开的数据辅助,单头!!

1. Introduction

尽管最近计算机视觉领域的深度学习在大范围的任务上取得了成功[7,18,24,30],但是对于增量学习(IL)来说,经典的深度模型训练范式是不合适的。 大多数深度神经网络只有在给定完整的数据集和训练前已知所有类时才能进行训练。 然而,现实世界是动态的,随着时间的推移会出现新的兴趣类别。 无论何时遇到新类,从头开始重新培训模型都是非常昂贵的,因为需要大量的数据存储和计算成本。 直接使用随机梯度下降(SGD)优化仅对新类数据对现有模型进行细化也不是一种更好的方法,因为这可能导致臭名昭著的灾难性遗忘[14,37]问题,这可能导致旧任务的性能严重下降。

我们考虑一个现实的,虽然严格和具有挑战性的,班级增量学习的设置,其中系统必须满足以下约束:

1)在学习新类时,旧类不再被访问,这可能是由于各种各样的原因,例如,遗留数据可能未入帐的,专有的,大到商店,或太困难时使用训练模型的新任务;

2)系统在任何时候都应该为目前观测到的类提供一个具有竞争力的多类分类器,即支持单头分类,不需要测试数据的任何先验信息;

3)学习新课程后,模型尺寸应保持相对不变。

已经有几次尝试为DNNs启用IL,但没有一个能满足所有这些限制。 尽管最近一些依赖于存储部分旧数据的作品[3,6,15,19,34,42]取得了令人印象深刻的进展,但这一方向可以说是内存效率不高的,而且可能违反了一些实际限制,如版权或隐私问题。不存储任何过去数据的现有方法的性能还不令人满意。 其中一些方法依赖于不发达的增量生成模型[20,48],而另一些方法则利用一定的正则化技术对旧模型进行微调,以防止遗忘[1,5,22,28,49,52]。我们认为这些基于正则化的方法的无效主要是由于在微调步骤中旧类和新类之间的信息不对称。 新类具有来自有用标记数据的显式和强监控信号,而旧类的信息则以带噪声正则项的形式隐式给出。 此外,如果我们对模型进行过度正则化,模型将无法适应新的任务,这在IL上下文中称为不妥协[5]。 因此,这些方法对最终模型中的旧类或新类都有固有的偏见,考虑到在实际增量学习中我们没有针对旧类的验证数据集,因此很难找到最佳点。

++图1所示。概述了提出的增量学习算法。
给出了一个基于已有类的预训练模型和新类的标记数据,首先训练了一个新的模型来识别新类的实例;
然后,我们使用新的深度模型整合(DMC)模块将旧模型和新模型结合起来,该模块利用外部未标记的辅助数据。
最后的模型对旧类的遗忘程度较低,对新类的识别精度较高。++

如图1所示, 我们提出了一种新的类增量学习范式,称为深度模型整合(deep model consolidation, DMC),它首先使用标记数据为新类训练一个单独的模型,然后通过一个新的双蒸馏训练目标,使用公开可用的未标记辅助数据将新旧模型结合起来。 DMC消除了训练过程中由于信息不对称或过度正则化而产生的固有偏差,因为提出的双蒸馏目标允许最终的学生模型同时向两个教师模型(旧模型和新模型)学习。 DMC通过利用一些未标记的辅助数据,克服了由于无法访问遗留数据而带来的困难,在这些辅助数据中挖掘出丰富的可转移表示来促进IL。 此外,使用辅助数据而不是新课程的培训数据,可以确保学生模型公平地吸收来自两个教师模型的知识。

利用未标记的公开的数据来进行蒸馏,是不是同样会导致knowledge表示不够的情况。

其实就是利用公开数据集来进行蒸馏,这样做也是可以的嘛?但是你训练的时候用的就是公开数据集呀,还有就是网上找的图片,并没有你数据集中的类的话,怎么办呢?这种方法是不是就是一种扩充数据集的方法,只是嘴上说着我们没有过去的数据集,那么要求就是如果我是医疗数据集或者红外数据集,那么这个方法岂不就废掉了,因为这类数据集本来就少,而且涉及了隐私的问题。

关键是,我们不需要辅助数据共享类标签或生成目标数据的分布。 惟一的要求是它们是通用的、多样化的,并且通常与目标数据相关。 使用这种未标记的数据不需要额外的数据集构建和维护成本,因为它们可以在需要时轻松地从web上爬行,并在新类的IL完成后丢弃。 此外,请注意,在DMC中,两个教师模型的对称作用对于推广我们的方法有一个宝贵的额外好处; 它可以直接应用于组合任意两个预先训练的模型,这些模型可以从Internet上下载,以便于部署 (即。,只需要部署一个模型而不是两个),而不需要访问原始的培训数据

总而言之,我们的主要贡献包括:

•一种新的增量学习范式,利用外部未标记的数据,可以以微不足道的成本获得。对于IL来说,这是一个很有启发性的观点,它通过寻找一些不需要存储的廉价替代品,克服了对旧数据的渴求。

•一个新的培训目标函数,将两个深度模型合并成一个紧凑的模型,以促进对称的知识转移。这两个模型可以有不同的体系结构,并且可以根据不同的类集的数据进行训练。

•扩展所提议范例的方法,以增量地培训现代单阶段对象检测器,现有方法不适用于此方法。

•大量的实验表明,与现有方法相比,我们的方法在IL设置下的大规模图像分类和目标检测基准上有显著的性能改进。

2. Related work

McCloskey等人[37]首先在连接主义模型中发现了灾难性遗忘效应,即当用新数据重新训练神经网络时,对旧数据的记忆被覆盖。最近,研究人员一直在积极研究减轻这种影响的方法。正则化方法。正则化方法对权重更新施加额外的约束,以便在学习新概念的同时保留以前的记忆。 Goodfellow等人[14]发现,对于多层感知器,[50]的缺失有时可以减少遗忘。 一条工作线限制了对旧任务很重要的网络参数,使其保持接近旧值,同时在旧任务的邻域中寻找新任务的解决方案。EWC[22]及其变体[5,46]利用Fisher信息矩阵估计权重的重要性; MAS[1]使用网络输出的梯度; SI[52]在优化轨迹上使用路径积分。 RWalk[5]结合了EWC[22]和SI[52]。 这些方法在学习过程中,新旧任务的信息不对称; 此外,随着时间的推移,随着学习任务的增多,网络可能会变得越来越僵硬,以适应新的任务。

Li和Hoiem[28]提出了另一个方向,即学习不遗忘(Learning without遗忘,LwF)方法,该方法利用具有知识蒸馏损失的新类图像对网络进行细化,以鼓励每幅图像的旧类输出概率接近原始网络输出。然而,新旧阶级之间的信息不对称仍然存在。 新数据的图像样本可能严重偏离旧数据的真实分布,进一步加剧了信息不对称。 我们将两个教师模型分配到一个学生网络中,以保证新老类模型到最终类模型的对称信息流。

IMM[27]首先用正则化方法对网络进行细化,然后通过矩匹配将得到的模型与原始模型进行混合。 虽然在概念上相似,但我们的工作与IMM[27]的不同之处在于: 1)在为新类训练新模型时,我们没有使用旧类模型的正则化微调,从而避免了对旧类固有的偏倚和对新任务的次优解; 2)我们不假设所有任务的最终后验分布都是高斯分布,这对于DNNs来说是一个很强的假设

dropout是可以减少灾难性遗忘的

Dynamic network methods.

动态网络的方法。动态网络方法[35,36,47,51]为每个任务指定网络的一部分或通过神经元的独特前馈通路。在测试时,它们要求指定任务标签,以切换到正确的网络状态,这在任务标签不可用的il类中是不适用的

Rehearsal and pseudo-rehearsal methods

在预演方法[3,6,19,34,39,42]中,过去的信息被周期性地重播到模型中,以加强它已经学习过的记忆,这是通过将早期会话的数据与当前会话数据[44]交织来实现的。 然而,存储过去的数据并不是有效的资源,而且可能会违反一些实际的约束,如版权或隐私问题。 伪排演方法试图通过使用生成模型生成与当前样本相结合的伪参数[44]来缓解这一问题。 然而,这需要以类增量的方式训练生成模型,这是一个更难解决的问题。 现有的这些方法不会产生竞争性的结果[20,48],除非有真实的范例[15]支持。

Incremental learning of object detectors

Shmelkov等人将LwF应用于目标检测任务。但是,它们的框架只能应用于外部计算提案的对象检测器,例如Fast R-CNN[13]。 实验表明,该方法适用于更高效的single-shot目标检测体系结构,如RetinaNet[30]。

Exploiting external data

在计算机视觉中,利用外部数据来提高目标任务性能的思想已经在许多上下文中得到了探索。 归纳迁移学习[10]的目标是在标记的领域外实例中迁移和重用知识。 半监督学习[4,55]试图利用领域实例中未标记的有用性。 我们的工作与自学[41]有着相似的精神,我们使用未标记的辅助数据,但不要求辅助数据具有与目标数据相同的类标签或生成分布。 与典型的半监督或转移学习设置相比,这种未标记的数据更容易获得。

3. Method

让我们首先正式定义类增量学习设置。给定标记数据流 X1,X2,...X^1,X^2,...X1,X2,...在这里Xy=x1y,...,xynyX^y={x^y_1,...,x^y_{y_n}}Xy=x1y​,...,xyn​y​表示类y的样本y∈N+y \in \mathbb{N}^{+}y∈N+,我们一次只学习一个类或者一组类。
在每一次的训练中,我们只有训练数据集Dnew={Xs+1,...Xt}D_{new}=\{X^{s+1},...X^t\}Dnew​={Xs+1,...Xt}他们的类别是s+1,…,t,同时之前学习到的数据集不可以在访问。X1,...,Xs{X^1,...,X^s}X1,...,Xs。但是我们现在拥有的模型是用之前的s个类的数据训练的模型fold(x;θold)f_{old}(x;\theta_{old})fold​(x;θold​)。我们现在的目的是训练t-class分类器f(x;θ)f(x;\theta)f(x;θ)没有灾难性的遗忘旧类或重大表现不佳的新类。我们假设所有的模型都是深度神经网络,x和θ分别表示网络的输入和网络的参数。

如算法1所示,
我们执行IL在两个步骤:第一步是训练(t - s)-class分类器使用训练数据D_new,这个新模型我们称之为fnew(x;θnew)f_{new}(x;\theta_{new})fnew​(x;θnew​),第二部就是巩固旧模型和新模型。

新类的学习步骤是一个规则的监督学习问题,可以通过标准的反向传播来解决。 模型整合步骤是我们工作的主要贡献,我们提出了一种称为深度模型整合(DMC)的图像分类方法,并进一步扩展到另一个经典的计算机视觉任务,对象检测

3.1. DMC for image classification

我们首先使用具有标准softmax交叉熵损失的可用训练数据D_new在新类上训练一个新的CNN模型f_new。一旦新模型得到训练,我们就有两个CNN模型专门对旧类或新类进行分类。然后,合并的目标是有一个单一的紧凑模型,它可以同时执行旧模型和新模型的任务。理想情况下,我们有以下目标

f(x;Θ)[j]={fold(x;Θold)[j],1≤j≤sfnew(x;Θnew)[j],s<j≤t,∀x∈If(x ; \Theta)[j]=\left\{\begin{array}{ll}{f_{\text {old}}\left(x ; \Theta_{\text {old}}\right)[j],} & {1 \leq j \leq s} \\ {f_{\text {new}}\left(x ; \Theta_{\text {new}}\right)[j],} & {s<j \leq t}\end{array}, \forall x \in \mathcal{I}\right.f(x;Θ)[j]={fold​(x;Θold​)[j],fnew​(x;Θnew​)[j],​1≤j≤ss<j≤t​,∀x∈I

其中j为与第j类相关的分类得分指标,I\mathcal{I}I为绘制第1类、···、t类样本的联合分布。我们想要合并模型的输出近似于旧模型和新模型的网络输出的组合。 为此,在合并模型的联合训练中,采用新旧模型的网络响应作为监督信号

知识蒸馏(KD)[17]是一种将知识从一个网络转移到另一个网络的常用技术。 KD最初提出将知识从一个繁琐的网络转移到一个执行相同任务的轻量级网络,并没有引入新的类。 我们推广了KD的基本思想,提出了一种双蒸馏损失的方法来实现类增量学习。 在这里,我们将logits定义为最终softmax层的输入。

我记得所有的蒸馏基本都是利用logits把。也就是softmax之前的值。

我们为每一个训练图像运行一个f_new和f_old网络的前向传播,然后收集两个模型的logits,其中y^old=[y^1,⋯,y^s]\hat{\boldsymbol{y}}_{\text {old}}=\left[\hat{y}^{1}, \cdots, \hat{y}^{s}\right]y^​old​=[y^​1,⋯,y^​s]、y^new=[y^s+1,⋯,y^t]\hat{\boldsymbol{y}}_{n e w}=\left[\hat{y}^{s+1}, \cdots, \hat{y}^{t}\right]y^​new​=[y^​s+1,⋯,y^​t],这里的上标表示的是类标签在神经元中的表示。然后,根据距离度量,最小化合并模型生成的logits与现有两个专家模型生成的logits。在实验中,我们发现L2损失[2]比二元交叉熵损失或初始KD损失[17]更有效。

由于缺少遗留数据,我们无法使用旧数据合并这两个模型。 因此必须使用一些辅助数据。 如果我们假设所有的自然图像都位于一个理想的低维流形上,那么我们可以通过从一个类似域中随时可用的未标记数据取样来近似目标数据的分布。 注意,辅助数据不需要持久存储; 用后即弃。

具体来说,巩固的培训目标是

min⁡Θ1∣U∣∑xi∈Uldd(yi,y^old,i,y^new,i)\min _{\Theta} \frac{1}{|\mathcal{U}|} \sum_{x_{i} \in \mathcal{U}} l_{d d}\left(\boldsymbol{y}_{i}, \hat{\boldsymbol{y}}_{o l d, i}, \hat{\boldsymbol{y}}_{n e w, i}\right)minΘ​∣U∣1​∑xi​∈U​ldd​(yi​,y^​old,i​,y^​new,i​)

其中双蒸馏损失ldd定义为

ldd(y,y^old,y^new)=1t(∥yold−y^old∥2+∥ynew−y^new∥2)l_{d d}\left(\boldsymbol{y}, \hat{\boldsymbol{y}}_{o l d}, \hat{\boldsymbol{y}}_{n e w}\right)=\frac{1}{t}\left(\left\|\boldsymbol{y}_{o l d}-\hat{\boldsymbol{y}}_{o l d}\right\|^{2}+\left\|\boldsymbol{y}_{n e w}-\hat{\boldsymbol{y}}_{n e w}\right\|^{2}\right)ldd​(y,y^​old​,y^​new​)=t1​(∥yold​−y^​old​∥2+∥ynew​−y^​new​∥2)

可简写为:

ldd(y,y^)=1t∑j=1t(y^j−yj)2l_{d d}(\boldsymbol{y}, \hat{\boldsymbol{y}})=\frac{1}{t} \sum_{j=1}^{t}\left(\hat{y}^{j}-y^{j}\right)^{2}ldd​(y,y^​)=t1​∑j=1t​(y^​j−yj)2
在这里

y^=[y^old;y^new]\hat{\boldsymbol{y}}=\left[\hat{\boldsymbol{y}}_{o l d} ; \hat{\boldsymbol{y}}_{n e w}\right]y^​=[y^​old​;y^​new​]

在这里[.;.][.;.][.;.]指的是向量的融合,yjy^jyj是整合模型的第j个类的logits,U表示的是没有打标签的辅助训练数据。

为了避免内在倾向于old或者new的类别,θ的是初始化不应该来自Θ_old or Θ_new,在模型的巩固阶段,我们应该避免使用D_new.

问题在于不适用的话,对新类的表示也许是不够的,那么问题就来了,也许旧类可以学习得不错,但是对于新类其实就学习得不那么好了。那么我为什么不用新旧类相结合来训练嘞。就是使用一定数量的过去的样本,而不是存储很多。

3.2. DMC for object detection

对于现代单级目标探测器,我们扩展了3.1节给出的IL方法,它几乎和两级探测器一样精确,但运行速度比后者快得多。 单级目标探测器将输入图像分割成一个固定分辨率的二维网格(网格的分辨率可以是多级的), 其中分辨率越高,表示网格中每个单元对应的图像区域(接受域)越小。有一组固定大小和长宽比的边界框模板,称为锚框,它们与网格中的每个空间单元相关联。锚框作为后续预测的参考。 分类子网和包围盒回归子网分别预测类标签和包围盒相对于锚盒的位置偏移量,并在所有特征金字塔级别[29]上共享。

为了将DMC应用于对象检测器的增量训练,必须同时合并分类子网和边界盒回归子网。 与图像分类任务类似,每当我们为新对象类提供训练数据D_new时,我们都会实例化一个新的检测器。 当新的检测器经过适当的培训后,我们使用两个专家模型的输出来监督最终模型的培训

Anchor boxes selection

在单级对象检测器中,必须使用大量的锚盒才能实现良好的性能。 例如,在RetinaNet[30]中,∼100k锚定盒用于分辨率为800×600的图像。 在固结阶段,前后向通道的时间复杂度随输入图像分辨率的增加呈线性增长。 因此,在训练中选择数量较少的锚盒可以显著加快前向和后向传球的速度。 对一些锚盒进行随机抽样的朴素方法没有考虑到正锚盒与负锚盒的比例极不平衡,与背景相对应的负锚盒承载的知识蒸馏信息很少。

为了有效地提取DMC阶段两个教师检测器的知识,我们提出了一种新的选择框的方法,对一小组锚框有选择地执行约束。 对于从辅助数据中采样的每个图像,我们首先根据对象性评分对锚框进行排序。 锚框的客观分值定义为旧类和新类之间的最大预测分类概率。 直观地说,一个框的高对象性得分意味着包含一个前景对象的可能性更高。 用旧模型预测旧类的分类概率,用新模型预测新类的分类概率。 我们使用具有最高的对象性得分的锚框子集,而忽略其他部分。

锚框子集是用来干啥的呢?

子网分类的DMC

与第3.1节中的图像分类案例类似, 对于每个选定的锚箱,我们计算分对数之间的双重蒸馏损失产生的分类整合模型的子网y和两个现有的专家模型生成的分对数ˆy。 DMC的分类子网Lcls(y,y^)L_{cls}(y,\hat{\boldsymbol{y}} )Lcls​(y,y^​)展示在等式4.

DMC for bounding box regression subnet

边界框回归子网的输出是空间偏移量t = (tx,ty,th,tw)的元组,它指定了一个尺度不变的平移和相对于锚框的log空间高度/宽度偏移。 对于通过锚盒选择方法选择的每个锚盒,我们需要将其回归目标设置为旧模型或新模型的输出。 如果预测类概率最高的类是旧类之一,我们选择旧模型的输出作为回归目标,否则选择新模型的输出。

这样,我们鼓励合并模型的预测边界框更接近最可能对象类别的预测边界框。 平滑L1损失[13]用于测量参数固定边界盒位置的接近性。 边界盒回归子网的DMC损失项为:

Lloc(t,t^)=∑k=x,y,h,wsmooth⁡L1(tk−t^k)L_{l o c}(\boldsymbol{t}, \hat{\boldsymbol{t}})=\sum_{k=x, y, h, w} \operatorname{smooth}_{L_{1}}\left(t_{k}-\hat{t}_{k}\right)Lloc​(t,t^)=∑k=x,y,h,w​smoothL1​​(tk​−t^k​)
在这里

t^={t^old,max⁡1≤j≤sy^j>max⁡s<j≤ty^jt^new,otherwise \hat{t}=\left\{\begin{array}{ll}{\hat{t}_{o l d},} & {\max _{1 \leq j \leq s} \hat{y}^{j}>\max _{s<j \leq t} \hat{y}^{j}} \\ {\hat{t}_{n e w},} & {\text { otherwise }}\end{array}\right.t^={t^old​,t^new​,​max1≤j≤s​y^​j>maxs<j≤t​y^​j otherwise ​

smooth⁡L1(x)={0.5x2,∣x∣<1∣x∣,otherwise \operatorname{smooth}_{L_{1}}(x)=\left\{\begin{array}{ll}{0.5 x^{2},} & {|x|<1} \\ {|x|,} & {\text { otherwise }}\end{array}\right.smoothL1​​(x)={0.5x2,∣x∣,​∣x∣<1 otherwise ​

Overall training objective

目标检测的总体DMC目标函数定义为

min⁡Θ1∣U∣∑xi∈ULcls(yi,y^i)+λLloc(ti,t^i)\min _{\Theta} \frac{1}{|\mathcal{U}|} \sum_{x_{i} \in \mathcal{U}} L_{c l s}\left(\boldsymbol{y}_{i}, \hat{\boldsymbol{y}}_{i}\right)+\lambda L_{l o c}\left(\boldsymbol{t}_{i}, \hat{\boldsymbol{t}}_{i}\right)minΘ​∣U∣1​∑xi​∈U​Lcls​(yi​,y^​i​)+λLloc​(ti​,t^i​)
λ是hyper-parameter平衡两个方面损失

4. Experiments

4.1. Evaluation Protocols

增量学习有两种评估协议。 在一个设置中,网络对每个任务都有不同的分类层(多个头),每个头可以区分只在该任务中学习的类; 它依赖于oracle在测试时决定任务,这将导致错误的高测试精度[5,33]。 在本文中,我们采用一种实用又具有挑战性的环境中,即“单头”评估,输出空间包括所有t类学会了到目前为止,和模型必须学会解决类不同任务之间的混淆,当任务身份不可以在测试时间。

必须让模型知道怎么解决不同任务之间的混肴

4.2. Incremental learning of image classifiers
4.2.1 Experimental setup

我们使用iCaRL[42]中使用的CIFAR-100数据对我们的方法进行评估,每次学习100个类,每组g = 5、10、20或50个类。评价指标是测试集上标准的前一级多类分类精度。 对于每一项实验,我们用不同的类别顺序运行基准5次,然后报告结果的平均值和标准差。 在模型巩固阶段,我们使用ImageNet32×32 dataset[8]作为辅助数据来源。 这些图像是ImageNet ILSVRC[11,45]训练集图像的下采样版本。我们排除了CIFAR-100类的图像,得到1,082,340张图像。 在iCaRL[42]之后,我们使用一个32层的ResNet[16]进行所有的实验,并随机初始化模型权值

4.2.2实验结果与讨论

我们将我们的方法与最先进的无范例增量学习方法ewc++[5,22]、LwF[28]、SI[52]、MAS[1]、RWalk[5]以及一些g = 5,10,20,50的基线进行了比较。Finetuning指的是我们直接用新类的标记图像微调训练在旧类上的模型,而没有对灾难性遗忘进行任何特殊处理

固定表示表示在学习了第一组类之后,除了分类层(最后一个完全连接的层)之外,我们冻结网络权重的方法, 在学习了相应的类后,对分类权向量进行冻结,并利用新数据对新类的分类权向量进行微调。 由于冻结基网络的有限自由度和不可压缩的特征表示,这种方法通常不适合新类。 Oracle表示通过联合训练得到的上界结果,其中包含目前所学课程的全部训练数据。

结果如图2所示。在所有设置中,我们的方法始终比所有方法的性能好得多。我们使用[5]的官方代码1来得到ewc++[5,22]、SI[52]、MAS[1]和RWalk[5]的结果。 我们发现,由于旧类和新类之间的信息不对称,它们对控制正则化强度的超参数非常敏感, 因此,我们分别使用每个设置的heldout验证集来调优超参数,并为每种情况报告最佳结果。 LwF[28]的结果来自iCaRL[42],在所有设置中均为次优。

图3说明了随着时间的推移,随着我们学习越来越多的类,第一组类的准确性如何变化。 虽然之前的方法[1,5,22,28,52]在第一个任务上都存在灾难性遗忘,但DMC的遗忘曲线斜率要平缓得多。 虽然由于每次运行的类顺序是随机的,所以标准偏差看起来很高,但是相对标准偏差(RSD)对于所有方法来说都处于一个合理的范围。

我们在图4中可视化了一些方法的混淆矩阵。 Finetuning忘记了旧的课程,只根据最后一个学习小组来做预习。 固定表示强烈倾向于预测第一组学习的类,并在此基础上对其特征表示进行优化。 以前性能最好的方法LwF做得更好,但是在最近学习的类中仍然有更多的非零项,这充分证明了旧类和新类之间的信息不对称。 相反,所提出的DMC显示出一种更均匀的混淆矩阵模式,因此对它在学习过程中早期或晚期所使用的类的内在偏见明显较少

辅助数据分布的影响

图5。更改iCIFAR-100基准测试整合阶段使用的辅助数据集。注意,使用MNIST会导致失败(∼2% acc.),因此我们省略了这些情节

图5为我们以手写数字(MNIST[26])、门牌号数字(SVHN[38])、纹理(DTD[9])、场景(Places365[54])为辅助数据来源,对辅助数据分布影响的实证研究。
从直观上看,辅助数据越是多样化,越是接近目标数据,我们就能取得更好的性能。 实验表明,使用像MNIST和SVHN这样的过于特殊的数据集不能产生有竞争力的结果,但是使用像DTD和Places365这样的通用的、容易访问的数据集已经可以超过以前的最先进的方法。 在应用场景中,可以使用目标数据的先验知识从相关领域获得所需的辅助数据,从而提高性能。

辅助数据量的影响

图6。对于不同巩固阶段使用的辅助数据量,iCIFAR-100的平均增量精度为每组10、20、50个类。虚线水平线代表了以前最先进的性能,即。,LwF

图6为固结阶段辅助数据量的影响,我们对ImageNet32×32[8]中k = 0、···、9的2k×103张图像随机次采样。我们报告了IL的所有步骤的分类精度的平均值(在[3]中,第一组的准确性不在这个平均值中考虑)。 总的来说,我们的方法在很大程度上对辅助数据的减少具有较强的鲁棒性。 我们可以在g = 10,20,50的情况下,仅使用8,000、16,000和32,000张未标记的图像(小于全部辅助数据的3%),就可以超过先前的技术水平。 注意,当我们使用较少的辅助数据时,合并模型收敛所需的训练时间也更少。

也就是说数据量的多少,数据量的分布其实都会影响到模型的精度,那么为什么我们不直接保存数据呢?因为我们可能受到了隐私等问题,没法接收过去的数据。这在医疗领域很常见,但是在其他的领域是相对宽松的呀,所以考虑使用一部分过去的数据也不为过吧。

4.3 对象检测器的增量学习
4.3.1 Experimental setup

在[49]之后,我们评估了DMC在IL设置下对PASCAL VOC 2007[12]进行增量对象检测:数据集中有20个对象类别,包括10 + 10类和19 + 1类。评价指标为测试集上的标准平均精度(mAP)。我们使用Microsoft COCO[31]数据集上的训练图像作为模型巩固阶段的辅助数据来源。在COCO数据集中的80个对象类别中,我们使用了包含60个非pascal类别的对象的98,495张图像

这句话我的理解为把重复的类别都给删除掉了

我们所有的实验都是使用RetinaNet[30]进行的,但是所提出的方法适用于其他单级探测器[25,32,43,53],只做了少量的修改。 在10+10实验中,我们使用ResNet-50[16]作为10类模型和最终合并的20类模型的主干网络.在19+1实验中,我们使用ResNet-50作为19类模型的主干网络,最终合并为20类模型,使用ResNet-34作为1类新模型。在所有实验中,骨干网络都是在ImageNet数据集[16]上进行预训练的。

4.3.2实验结果与讨论

我们比较了我们的方法与基线方法和最先进的IL方法的对象检测Shmelkovet al.[49]。 在基线方法中,两次推理表示,我们分别使用两个专家模型直接对每个测试图像进行推理,然后取所有类中分类概率最高的类对预测进行聚合,并使用关联模型的边界框预测。 Shmelkov等人提出的[49]方法只与使用预先计算的类无关对象建议的对象检测器兼容。,FastR-CNN [13]), 因此,我们采用新的锚盒选择方案来确定在何处应用分类蒸馏和边界盒回归蒸馏,用adaptive Shmelkov等人的[49]表示.

Learning 10 + 10 classes.

结果如表1所示。 与两次推理相比,我们的方法具有更高的时间和空间效率,因为两次推理对于IL会话的数量的伸缩性很差,因为我们需要存储所有单独的模型,并在测试时使用每个模型运行推理。 我们的方法在两次推理方法上的精度提高可能令人惊讶,但我们相信这可以归因于在无标记辅助数据的帮助下,归纳学习得到了更好的表示,这也被许多半监督学习算法所利用。 与自适应Shmelkov等人的[49]方法相比,我们的方法在检测所有类时表现出显著的性能改进。

Learning 19 + 1 classes.

结果如表7所示。我们观察到一个类似于10 + 10实验的mAP分布。 adapteshmelkov等人在旧类上的准确性下降。 此外,它不能实现良好的AP在“tvmonitor”类。 该模型对19个旧类进行了严格的正则化,在训练数据不足的情况下,可能难以学习单个新类。 我们的DMC实现了最先进的学习所有类的mAP,只有一半的模型复杂性和推理时间的推理两次。 我们还增加了一个类的实验,每个VOC类别都是作为新类。 每个类的行为都非常类似于上面描述的“tvmonitor”案例。该mAP从64.88%(新等级“飞机”)到71.47%(新等级“人”)不等,均值为68.47%,标准差为1.75%。具体结果见补充材料

辅助数据分布的影响

第4.3.1节中描述的辅助数据选择策略可能包括包含来自目标类别的对象的图像。 为了观察数据分布的效果,我们还实验了一个更严格的数据,其中我们排除了所有MS COCO图像,其中包含任何20 PASCAL类别的对象实例,用DMC- exclude - sive aux表示。表1和表7中的数据。 这个设置可以看作是我们的方法在辅助数据分配方面的下界。 我们看到,即使在这样一个严格的设置中,我们的方法也优于以前的最先进的[49]。 该研究也表明,我们的方法可以从类似领域的辅助数据中获益

Effect of the amount of auxiliary data

为了了解辅助数据量如何影响最终性能,我们使用10+10类设置执行了另一个实验。 我们随机抽取全部辅助数据的1/2、1/4和1/8进行整理。 如表3所示,只有1/8的完整数据,即在123k图像中,DMC仍然可以超过目前最先进的图像,这也说明了DMC在检测任务上的鲁棒性和效率。

表3。在合并阶段改变辅助数据的数量。显示VOC 2007测试图(%),其中类1-10为老类,类11-20为新类。

使用不同的基础网络合并模型

如第4.3.1节所述,在19+1类实验中,我们最初为两个专家模型使用了不同的基础网络架构。如表4所示,我们还比较了在19类模型和1类模型中同时使用ResNet-50主干的情况。 我们观察到,ResNet-50主干不如ResNet-34主干有效,这可能是由于更深层次的模型对新班级的训练数据过度拟合,导致在模型巩固阶段没有产生有意义的精馏目标。然而,由于我们的方法是独立于体系结构的,它提供了使用任何最适合当前培训数据的网络体系结构的灵活性。

Conclusions

在本文中,我们提出了一种新的类增量学习范式,称为DMC,它能够以新的双蒸馏训练目标学习新的对象类。 DMC不需要存储任何遗留数据;它利用现成的未标记的辅助数据来合并两个独立训练的模型。 在大规模图像分类和目标检测基准上,DMC比现有的基于非样本的增量学习方法有显著优势。 DMC独立于网络体系结构,适用于多种任务。

未来值得探索的方向包括:从理论上描述未标记辅助数据与目标数据之间的“相似性”如何影响IL性能; 2)继续使用DMC研究旧数据样本(见附录),在样本选择方案和演练策略方面; 3)推广DMC,一次合并多个模型; 4)将DMC扩展到其他需要合并深层模型的应用中,例如,使用相同或部分重叠的类集训练的模型集合。

Appendix Overview

在本补充文件中,我们提供了额外的详细实验结果,并分析了提出的方法,深入模型巩固(DMC),为类增量学习

A.添加范例的初步实验

由于DMC的可伸缩性和对版权和隐私问题的免疫力,它在应用场景中是真实的,但是我们在学习新类时还在允许我们以固定预算存储旧数据中的一些示例的场景中测试了我们的方法。假设我们一次渐进地学习一组g类,总内存预算K = 2000,与iCaRL[42]相同,

当我们学习第一组课程时,我们通过从每个类中随机抽取⌊Kg⌋\left\lfloor\frac{K}{g}\right\rfloor⌊gK​⌋个训练图像来填充样本集,在第i个增量学习阶段,每次我们学习更多的g类Dnew=[Xgi,⋯,Xg(i+1)−1]\mathcal{D}_{n e w}=\left[X^{g i}, \cdots, X^{g(i+1)-1}\right]Dnew​=[Xgi,⋯,Xg(i+1)−1]我们通过⌊Kgi⌋\left\lfloor\frac{K}{g i}\right\rfloor⌊giK​⌋个新类的随机采样训练图像来扩充样本集,并使用这些样本对合并模型进行微调,以1×10−3的小学习率为15个epochs.微调完了之后,我们减少每一个类的exemplar数量为⌊Kg(i+1)⌋\left\lfloor\frac{K}{g(i+1)}\right\rfloor⌊g(i+1)K​⌋,我们把这个DMC的变种叫做DMC+

我们验证了DMC+在iCIFAR-100基准上的有效性,表5将结果总结为增量训练所有步骤的分类准确率的平均值(与[3]一样,在这个平均值中不考虑第一组的准确率) 我们可以在所有设置中获得与iCaRL相当的性能。 注意,我们还尝试了羊群算法来选择iCaRL中的范例,但是没有发现任何显著的改进。

B.详细的DMC对象检测实验结果

在目标检测器增量学习的DMC实验中,我们使用了RetinaNet[30]逐步学习了19+1类。 在论文的主体部分,我们给出了在新课程中增加“tvmonitor”类的结果。 在这里,我们将每个VOC类别都作为新类别,增加一个类实验的结果如表7所示, 其中,旧模型表示在旧19个类上训练的19类检测器,新模型表示在新类上训练的1类检测器,DMC表示能够检测全部20个类的最终合并模型。 报道了PASCAL VOC 2007[12]全系列测试的平均精度

实施及培训详情

我们使用PyTorch[40]库实现了DMC。

训练细节用于图像分类实验。在iCaRL[42]之后,我们使用一个32层的ResNet[16]进行所有实验,并随机初始化模型权值。 在培训单个专家模型时,我们使用具有200个时代动量的SGD优化器。 在整合阶段,我们对网络进行了50个时代的培训。 所有实验的学习进度是相同的,即,它以0.1开始,在所有纪元的7/10和9/10处减少0.1。 在所有的实验中,我们使用128个尺寸的小批量训练网络,重量衰减因子为1×10^-4,动量为0.9。 我们将简单的数据增强应用于训练:每边填充4个像素,从填充后的图像或其水平翻转中随机抽取32×32个裁剪。

为目标检测实验提供训练细节。

我们调整每个图像的大小,使较小的一面有640像素,保持长宽比不变。我们对每个模型进行100个epochs的训练,并在两台NVIDIA Tesla M40 gpu上同时使用Adam [21] optimizer,学习速度为1×10^-3,批量大小为12。 随机水平翻转用于数据增强。在测试时采用阈值为0.5的标准非最大抑制(NMS)进行后处理,以消除重复的预测。对于每个图像,我们选择64个锚框进行DMC训练。根据经验,我们发现选择更多的锚盒(128,256等)并不能提供进一步的性能提升。所有实验λ被设置为1.0

用于基线方法的超参数。

本文主要报道了ewc++[5]、SI[52]、MAS[1]和RWalk[5]在iCIFAR-100基准上的测试结果。 表6总结了hyperparamterˆλ控制正规化的力量用在每一个实验中,他们选择了基于一组伸出验证

Class-incremental Learning via Deep Model Consolidation 翻译相关推荐

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

    翻译论文:Incremental Learning Through Deep Adaptation 代码:https://github.com/rosenfeldamir/incremental_le ...

  2. Cognitively-Inspired Model for Incremental Learning Using a Few Examples(附翻译)

    Cognitively-Inspired Model for Incremental Learning Using a Few Examples 2021年1月27日,来自留校儿童的心酸科研,冲鸭 文 ...

  3. 【论文总结】Incremental Learning of Object Detectors without Catastrophic Forgetting(附翻译)

    Incremental Learning of Object Detectors without Catastrophic Forgetting 无灾难性遗忘的增量学习目标检测器 论文地址:https ...

  4. Google推荐系统Wide Deep Learning for Recommender Systems论文翻译解读

    Wide & Deep Learning for Recommender Systems 推荐系统中的Wide & Deep Learning 摘要 Generalized linea ...

  5. 论文翻译七:Adversarial Transfer Learning for Deep Learning Based Automatic Modulation Classification

    30天挑战翻译100篇论文 坚持不懈,努力改变,在翻译中学习,在学习中改变,在改变中成长- Adversarial Transfer Learning for Deep Learning Based ...

  6. Mimicking the Oracle: An Initial Phase Decorrelation Approach for Class Incremental Learning 翻译

    Mimicking the Oracle: An Initial Phase Decorrelation Approach for Class Incremental Learning (CVPR20 ...

  7. PRN(20200816):A Hierarchical Deep Convolutional Neural Network for Incremental Learning [Tree-CNN]

    Roy D , Panda P , Roy K . Tree-CNN: A Hierarchical Deep Convolutional Neural Network for Incremental ...

  8. Joint Learning of Deep Retrieval Model and Product Quantization based Embedding Index

    Joint Learning of Deep Retrieval Model and Product Quantization based Embedding Index 嵌入索引能够实现快速近似近邻 ...

  9. 综述翻译:多任务学习-An Overview of Multi-Task Learning in Deep Neural Networks

    An Overview of Multi-Task Learning in Deep Neural Networks 文章目录 An Overview of Multi-Task Learning i ...

  10. Deep Learning-论文翻译以及笔记

    论文题目:Deep Learning 论文来源:Deep Learning_2015_Nature 翻译人:莫陌莫墨 Deep Learning Yann LeCun∗ Yoshua Bengio∗ ...

最新文章

  1. 函数指针到文本反汇编
  2. 超可爱,抖音爆款实时视频漫画变身特效技术
  3. linux下ntp服务器搭建方法
  4. yii之behaviors
  5. 计算机科学与技术科研论文,计算机科学与技术学院2007年度科研论文一览表
  6. 联想笔记本重装系统教程
  7. jsp加载常量的探讨
  8. spring集成testng
  9. Netflix Ribbon 负载均衡 概述 与 基本使用
  10. python实现一个简单的tftp客户端
  11. ArcGIS计算河宽
  12. 九月手机无新事:头部品牌没创新,二三线品牌静悄悄
  13. phyton做年历和月历
  14. Hanoi塔问题图文详解
  15. 红米k60和k50至尊版参数对比 Redmi k60和k50至尊版哪个好
  16. 如何使用 Web Workers 和 jsQR 在 Web 浏览器中扫描二维码
  17. 【Linux】linux内核原子操作的实现
  18. imagepreview使用案例_展示组件 ImagePreview 图片预览 - 闪电教程JSRUN
  19. 【编程入门】开源记事本(安卓版)
  20. 记住CAD绘图快捷键,让你快速当大师

热门文章

  1. 17年App Store最新官方审核指南
  2. [git]warning: LF will be replaced by CRLF in 解决办法
  3. IOS开发教程第一季之02UI进阶day4合并IOS学习015--Segue小专题、沙盒存储小专题、归档/解档、TabBarController、App主流UI框架结构
  4. 大学生川菜网页制作教程 学生HTML静态美食菜品网页设计作业成品 简单网页制作代码 学生美食网页作品免费设计
  5. ttl传输中过期可能是什么原因_ttl传输中过期怎么解决
  6. python蓝牙连接测试_基于python实现蓝牙通信代码实例
  7. DSP TMS320C5509A 控制DDS AD9854芯片进行AM-MSK调制
  8. 深圳的住房公积金的那些事儿~(缴纳标准,用处用法)
  9. PowerShell 实现批量下载文件
  10. 第二类斯特林数 - Push Botton Lock(POJ 3088)