增量学习【4】

Class-incremental learning: survey and performance evaluation on image classifification

对于未来的学习系统来说,增量学习是可取的,因为它允许:在新数据到达时消除从头重新训练的需要,从而实现有效的资源使用;通过防止或限制所需存储的数据量来减少内存使用——在施加隐私限制时也很重要;学习更接近人类的学习。增量学习的主要挑战是灾难性遗忘,这是指在学习了一个新的任务后,先前学习到的任务的表现急剧下降。近年来,深度神经网络的增量学习出现了爆炸式的增长。最初的工作集中在任务增量学习上,即在推理时提供一个任务id。最近,我们看到了一种向类增量学习的转变,学习者必须在推理时区分之前任务中看到的所有类,而不求助于任务id。

灾难性遗忘的原因

  • 1)Weight Drift:在学习新任务时,与旧任务相关的网络权重被更新,以使新任务的损失最小化。因此,以前任务的表现会受到影响–往往是极大的影响。
  • 2)Activation Drift:与权重漂移密切相关,改变权重会导致激活的变化,从而导致网络输出的变化。专注于激活而不是权重,可以减少限制性,因为这允许权重的变化,只要它们导致的层激活变化最小。
  • 3)Inter-task Confusion:在类增量学习中,目标是对所有任务中的所有类别进行区分。然而,由于各类从来没有被联合训练过,网络权重不可能最优地区分所有的类。这对网络中的所有层都适用。
  • 4)Task-Recency Bias:分开学习的任务可能会有不相容的分类器输出。通常情况下,最主要的任务偏向于较新的任务类别。在混淆矩阵中可以清楚地观察到这种效果,它说明了将输入错误地分类为属于最近的任务的趋势。

关于增量学习的应用场景(不限于类增量)

Memory Restrictions

对存储容量有受物理限制的系统不能采用联合训练策略,因为它们根本无法存储所有看到的数据。这样的系统只能为它们执行的任务存储有限的例子,因此,学习必须是渐进式的。这种情况在机器人技术中特别常见,机器人在不同的时间或地点面临不同的任务,但仍应能执行所有先前学到的任务。

Data Security/Privacy Restrictions

对于从不应该永久存储数据的系统,增量学习可以提供一个解决方案。政府立法可以限制客户在中央位置的数据存储(例如,在移动设备上的软件)。隐私考虑在健康应用中也很常见,法律禁止长期存储病人的数据(给了引用,应该是真的),因此增量学习很关键。

Sustainable ICT

训练深度学习算法的成本可能是高昂的。例子包括GPT-2 需要在32个TPUv3芯片上进行1周的训练。为每一个新的数据更新而重新训练这些系统的碳足迹是相当大的,而且在未来几年可能还会增加。增量学习提供的算法在计算上更有效率,只需要在更新系统时处理新的数据。

关于class-IL和task-IL的区分

在这里插入图片描述

关于class-IL的公式表述

在这里插入图片描述

关于交叉熵的计算:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D9UnWIyE-1683272747497)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230418213950467.png)]

虽然综合考虑新旧类别是有道理的,但是上面的式子会把之前的错误也重复计入,因此作者提出只考虑这次新加入的类别预测的损失:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jk2LSbyS-1683272747498)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230418214136857.png)]

作者在结果中证明了,没有使用样本时,新的等式导致显著减少灾难性遗忘。有趣的是,使用新的等式进行微调带来了一个比使用上一个等式进行微调的更强的基线.

这边讲了一下他挑选class-IL模型的依据:

  • 1)Task-Agnostic in Evaluation:增量学习者能够从所有先前学习的任务中预测类别,而不需要在推理时求助于提供可能类别子集的额外信息。
  • 2)Offline:各训练阶段中的数据是独立的,在进入下一个任务之前可以进行多次处理当前阶段的数据。
  • 3)Fixed Network Architecture:对所有任务使用固定的架构,不对新任务的架构增加大量的参数。
  • 4)Tabula Rasa:增量学习器从头开始训练,不需要在大型标记数据集上进行预训练。这一特性消除了在预训练过程中看到的类别分布所带来的潜在偏差,以及从这一知识中衍生出来的任何利用。
  • 5)Mature:可以被应用于复杂的图像分类任务上。

性质1将类增量学习与任务增量学习相区分,而性质2~5是为了保证在我们挑选的方法能公平比较实验。最后,我们还考虑一个可选的特性:

  • 6)Exemplar-Free:不需要存储以前任务的图像数据。这是隐私保护的一个重要特征。

这边也给出灾难性遗忘应对措施的分类

Regularization approaches

基于正则化的解决方案,旨在最小化学习新任务对权重的影响,这些权重对以前的任务很重要;

Weight regularization

第一类方法的重点是防止被确定为与先前任务相关的权重发生漂移。它们通过在学习每个任务后估计网络中每个参数的先验重要性(假定它们是独立的)来做到这一点。当对新任务进行训练时,每个参数的重要性被用来惩罚它们的变化。也就是说,除了交叉熵分类损失之外,还引入了一个额外的损失:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QY9he2Pf-1683272747499)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230418223252967.png)]

  • EWC图片13.jpg
  • 下面三个都是通过积分的方式
  • PathInt
  • MAS
  • RWalk
Data regularization

主要为了防止激活漂移,基于知识蒸馏。(前面补充了知识蒸馏)。

  • 无遗忘网络LwF使用了这样的损失:

在这里插入图片描述

L d i s ( x ; θ t ) = ∑ k = 1 N t − 1 π k t − 1 log ⁡ π k t ( x ) π k ( x ) = exp ⁡ ( o k ( x ) / T ) ∑ l = 1 N t − 1 exp ⁡ ( p l ( x ) / T ) L_{dis}(x;\theta^t)=\sum_{k=1}^{N^{t-1}}\pi_{k}^{t-1}\log\pi_k^t(x) \\ \pi_k(x)=\frac{\exp(o_k(x)/T)}{\sum_{l=1}^{N^{t-1}}\exp{(p_l(x)/T)}} Ldis(x;θt)=k=1Nt1πkt1logπkt(x)πk(x)=l=1Nt1exp(pl(x)/T)exp(ok(x)/T)
其中 π k ( x ) π_k(x) πk(x)为网络的温度标度对数,o(x)为网络在softmax前的输出,T为温度缩放参数。用 π t − 1 π ^{t − 1 } πt1表示网络在训练完任务 t − 1 t-1 t1后的预测。温度缩放(具体推导没看),用以帮助解决正确类的概率过高的问题。

  • LFL通过冻结最后一层并惩罚分类器层之前的激活的差异来保留以前的知识。然而,当领域转移过大时,该方法的这可能会出现更大的问题,所以其他方法引入了一些修改来进行改进。基于编码器的终身学习通过优化一个不完整的自编码器扩展了LwF,该编码器将特征投射到一个维度较少的流形上。每个任务学习一个自编码器,这使得增长是线性的,尽管自动编码器与总模型大小相比很小。
Recent developments in regularization
  • 使用教师网络的注意力来指导学生网络。LwM将这种技术应用于类增量学习。其主要思想是,在训练新任务时,以前任务训练的网络所使用的注意力不应改变。有助于决定某个类别标签的特征预计将保持不变,这是由注意力蒸馏损失强制执行的:在这里插入图片描述

    • GradCAM计算相对于目标类c的梯度,以生成一个粗糙的定位图,指示有利于预测的图像区域。这里我们不能使用目标类标签,因为在训练之前的模型 θ t − 1 \theta^{t-1} θt1时,这个标签并不存在。GradCAM计算相对于目标类c的梯度,以生成一个粗糙的定位图,指示有利于预测的图像区域。相反,作者建议使用前一类预测的最高概率来计算注意力图: c = arg ⁡ max ⁡ h ( x ; θ t − 1 ) c=\arg \max h(x;\theta^{t-1}) c=argmaxh(x;θt1)
  • DMC是基于在培训时,前类和新类之间存在不对称的观察:新类有明确和强烈的监督,而对旧类的监督较弱,并通过知识蒸馏的方式进行沟通。他们使用了double distillation在这里插入图片描述

    • 这里o o t − 1 ( u ) o^{t-1}(u) ot1(u)指在之前任务上训练的网络的分对数, o t ( u ) o^{t}(u) ot(u)指在新类上训练的。由于该算法不能访问以前任务的数据,他们建议使用**辅助数据 u u u,**它可以是来自类似领域的任何未标记数据。
  • Global Distillation (GD) 也提出了引入辅助型数据进行蒸馏。他们首先对教师进行当前任务的培训,并使用外部数据和范例来校准教师的信心。然后他们从老师那里提取一个新的模型,之前的模型和他们的集合(加上当前任务和范例的交叉熵损失)。教师和之前的任务同时用于当前的任务数据和外部数据集数据,而集成只与外部数据一起使用。最后,他们通过根据数据量加权损失来进行微调,同时避免任务近期偏差。外部数据集抽样方法是基于模型的预测。

  • Lifelong learning via progressive distillation and retrospection 当前的任务数据也不是直接培训的,而是首先用来培训专家教师。该方法还提取了一个旧模型,其中保留了一小部分以前的任务数据,以保持旧任务的性能,类似于LwF,但使用存储的范例而不是新数据。

  • 基于对iCaRL的分析,Revisiting distillation and incremental classififier learning 声称使用最近的范例均值分类器是有偏的,并提出使用动态阈值移动算法,通过保持最新的比例向量来修复用蒸馏损失训练的分类器偏差

  • less-forget constraint也是LwF的变式,他们没有正则化网络预测,而是提出对先前网络和当前网络的L2归一化的对数分数的余弦相似度进行正则化:在这里插入图片描述

Rehearsal approaches

基于范例的解决方案,存储有限的范例,以防止忘记以前的任务;

这种存储,指的是:保留少量的范例[1]、[27]、[28](范例排练),或生成合成图像[29]、[47]或特征[31]、[48](伪排练)。通过重播来自以前任务的存储或生成的数据,排练方法旨在防止忘记以前的任务。

Memory types

在模型已经适应了新的任务后,样本记忆必须在训练任务结束时进行扩展

如果内存在所有任务(固定内存)中都具有固定的最大大小,则必须首先删除一些范例,以为新的范例腾出空间。这就确保了内存容量保持不变,并且容量也保持不变。学习的任务和课程越多,每个课程对排练的代表性就越少。

在学习了一定数量的任务后,内存可以扩展以更好地适应新的分布。然而,以前移除的样品将会丢失,因此决定何时扩展是一个重要的问题。如果允许内存增长(增长内存),那么只需要添加当前任务中的新样本。这强制类在所有任务的排练期间都有一个稳定的表示,但代价是内存的线性增加,这可能不适用于某些应用程序。

在这两种情况下,每个类的样本数量被强制执行为相同的,以确保所有类的相同表示。

Sampling strategies

选择样本添加到内存中的最简单的方法是从可用的数据中随机抽样(随机抽样),这已经被证明是非常有效的,而不需要太多的计算成本。

  • iCaRL提出基于其对应的特征空间表示(集群herding)来选择样本。提取所有样本的表示,并计算每个类的平均值。该方法会为每个类迭代地选择范例。在每一步中,选择一个范例,以便当添加到其类的范例时,得到的范例均值最接近真实的类均值。添加范例的顺序很重要,并且在需要删除一些样本时也需要加以考虑。虽然这种迭代选择过程通常优于随机选择过程,但它增加了计算成本
  • RWalk提出了另外两种采样策略:
    • entropy。第一个计算softmax输出的熵,并选择具有较高熵(熵)的样本(证明这个batch包含的类别多,比较有代表性)这将强制选择在所有类中具有更多分布分数的样本
    • distance。类似地,第二个方法根据样本与决策边界(距离)的距离来选择样本,假设特征空间和决策边界变化不太大
  • 对于优先内存,重要性较低的范例是先删除的范例
Task balancing

在训练新任务时进行排练时,新类与前一个类相比的权重是由损失的两部分之间的权衡以及每个训练步骤中每个类的样本数量来定义的。(那个乳腺癌识别的class-IL的好像就是这样)

这意味着批次显然被新的样本过度代表,并依赖于交叉熵损失和其他防止遗忘的损失之间的权衡。

Combining rehearsal and data regularization

IL2M证明蒸馏术语在使用样本时实际上会损害性能。我们将在我们的结果中证实这一点,然而,我们将表明,在某些情况下,权重正则化和范例排练的组合可能是有益的。

Bias-correction approaches

直接解决任务近期偏差问题的问题,一种发生在class-IL方法中的现象,指的是对最近学习的任务的偏见。往往在训练结束时,网络在最后一个任务中看到了许多课程的例子,但没有在早期任务中很少(或在排练中很少),这就会导致任务近期偏差。现在致力于解决这个问题!

inter-task confusion任务间混淆

  • iCaRL为了防止任务倾向偏差,他们在推理时不使用分类器。相反,他们计算特征表示中的样本的类均值,然后应用最接近的样本均值进行分类。由于这个过程独立于最后一层的权重和偏差,该方法被证明不太容易出现任务-近期偏差。

  • EEIL提出加入一个附加的阶段:balanced training。在这个阶段中,来自所有类的相同数量的范例用于有限数量的迭代。为了避免忘记新的类,它们只针对当前任务中的类在分类层上引入了蒸馏损失。其代价可能是对已存储的范例进行过拟合。(很合理吧训练了好多次的。“只针对当前任务中的类”并不是说其他没用了哦整个网络还是一起连着的,但是最终的结果选取的部分只关注新加入的类)

  • BIC(偏差矫正)。加入另一个层,用于矫正网络的任务偏差。一个训练会话分为两个阶段:

    • 第一阶段会使用交叉熵和蒸馏损失去训练新的任务,并从训练数据中分出一小部分作为第二阶段的验证集。它们提出学习在分对数 o k o_k ok之上进行一个线性变换来补偿任务倾向偏差。这一线性变化可以被写作:
      在这里插入图片描述

    • 在第二阶段,冻结除了 α t \alpha_t αt β t \beta_t βt之外的参数,然后结合转换后的对数 q k q_k qk上的一个标准softmax进行优化。最后只对 β \beta β进行权重衰减(不对 α \alpha α进行)

  • LUCIR使用cosine标准化层来代替标准的softmax层 σ \sigma σ在这里插入图片描述

  • Learning a unifified classififier incrementally via rebalancing 针对于inter-task confusion问题,为了防止新类占据与以前任务中的类相似的位置,它们应用了边际排名损失。这种损失使电流的嵌入远离了K个最相似的类的嵌入,根据:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zi8kzIZj-1683272747511)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419125309335.png)]

  • IL2M为了防止任务间混淆,和BiC类似,提出了矫正网络预测。然而BiC通过加入一个另外的层去矫正,而IL2M通过保存过的来自先前任务的类的预测的确定性统计进行矫正。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XdlZ82Pl-1683272747513)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419130643818.png)]

一些方法之间的联系

我太喜欢这个综述了,太好用了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x5iJ4Poh-1683272747514)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419112806841.png)]

关于几个灾难性遗忘的解决方法的验证:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zGLGmN3V-1683272747515)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419133104181.png)]

单纯去看有无范例的话,很明显加入范例后这个效果狠狠提升了性能更加均匀

baseline实验验证

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3N4BI2kE-1683272747516)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419133746494.png)]

FT是只使用交叉熵损失的基线方法。

FT+不会更新与以前类的输出对应的权重,这避免了由于这些类没有样本而导致的缓慢遗忘(就是作者一开始提出的两种交叉熵,这里看来的确有提升)。

FT-E (fixed) 和 FT-E (grow) 是使用了有限记忆来拓展内存。FT-E (fixed) 的结果明显比其他FT基线更有益,并使基线与使用相同内存的方法更具有可比性。

FZ:在学习第一个任务后,我们冻结除最后一个层(对应于分类层或网络头)外的所有层。

FZ+:与FT类似,我们也可以简单地修改,不更新直接负责前面类输出的权重。这个的鲁棒性比较好。(尤其是相对于加入内存的那些FZ-E)

多模型性能比较(均使用the Continual Hyperparameter Framework来调节超参数)
正则化方法比较

LwF, DMC, LwM:apply data regularization

EWC, PathInt, MAS:weight regularization methods

除了RWalk之外,这些方法最初都没有使用范例

DMC使用一个基于辅助数据集的大内存(来自ImageNet-32的300个类),我们在使用上述额外内存时提供task-IL和class-IL结果,并且不存储来自学习类的范例。该方法以一定的性能为代价提供了隐私保护特性。然而,我们发现,在这些实验中,通过从一个额外的数据集蒸馏获得的增益相当小。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PbBOrJYy-1683272747517)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419131911602.png)]

在比较无范例的方法时,LwF得到了最好的结果(多个task整体来看)。无范例方法目前无法与范例排练方法竞争,鉴于它们的操作环境限制更严格,我们提倡将它们单独进行比较。

在其他的正则化方法中,数据正则化(LwM)获得了优于权重正则化(EWC和MAS)的结果。

当将LwF与范例结合时,我们确认了[25]中的结果,表明添加的正则化并没有改善结果,使用范例进行微调的基线方法表现得更好(在加入fixed memory情况下,FT表现全比LwF好,在growing memory中,FT大部分比LwF好)。然而,使用LwM进行数据正则化确实比基线表现得更好(No exemplars中无论是class-IL还是task-IL,FT都比不过LwF)。

当使用固定的范例记忆时,所有的方法在每个任务后都会得到改进。然而,对于不断增长的记忆,并非所有情况都是如此。与固定记忆相比,在学习第一个任务时可用的样本数量减少了,这对结果有一定的影响。在这种情况下,LwF优于EWC、PathInt和MAS,甚至在fixed memory情况下的性能比RWalk更好。LwF比基于权重的正则化方法获得了更好的结果,这可能解释了为什么蒸馏一直是大多数rehearsal方法所采用的。使用额外的数据从以前的任务中蒸馏知识到新的网络中,可以极大地提高结果。

这边发现加了memory后新能更好,所以后面在内存使用方法比较中加入了LwF-E和EWC-E。

偏置矫正方法比较
内存使用方法比较
  • 关于内存空间

在这里插入图片描述

使用额外的数据从以前的任务中提取知识到新的网络中,可以极大地提高结果。在growing memory中,为每个类别分配的memory整体上越大越好,但也不尽然(LUCIR)

  • 关于采样策略

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4uu4rEm-1683272747519)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419144804242.png)]

    对于较长的任务序列,集群(herding)是一种比随机抽样更稳健的样本抽样方法,但对于短序列,herding并不优于其他方法

  • 关于启动场景和域偏移
    在这里插入图片描述
    在这里插入图片描述

在几种情况下,权重正则化显著优于基线LwF-E(见图8和9),表明IL社区需要重新考虑LwF数据正则化(现在以它为主),而不是权重正则化。

class-IL中明确处理新任务倾向偏差的方法,可以获得更好的性能(见图8、9、10、13):我们发现BiC在几个实验中(特别是在ImageNet)上获得了最先进的水平。IL2M在大多数数据集上获得了一致的良好性能。此外,iCaRL和EEIL在多个数据集上获得了良好的性能,但在其他数据集上未能优于基线FT-E。像LUCIR这样的方法需要一个良好的初始表示——例如,在具有更大的第一个任务或更小的域转移的场景中,LUCIR可以是最先进的。

域漂移影响

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6KgP37az-1683272747524)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419142541582.png)]

目前的方法主要是在具有小域漂移(Smaller domain shift)的数据集上显示结果(通常是来自单个数据集的随机类排序)。当考虑到大的域位移Larger domain shift时,没有一种方法显著优于基线FT-E(见图10)。对于task-IL,已经考虑了大型域转移场景,但我们的结果表明,它们需要新的技术来在类il设置中获得令人满意的结果。

On “interspersed” domains

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1V0SEdJK-1683272747525)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419150211059.png)]

没仔细看

网络结构比较

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-catXWKt4-1683272747527)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230419150303778.png)]

广泛的网络架构上比较class-IL方法的人,这表明当前的class-IL可以在各种网络上工作。结果表明,大多数都是敏感的架构和排名的变化取决于所使用的网络。很明显,使用带有跳过连接的网络有利于某些方法,而它们的缺失则有利于其他方法。

在大规模场景上比较

(见图13)

Related Work(但不是很想看)

在这一节中,我们大致回顾了相关的工作,主要集中在前一节中没有讨论的工作。

Existing Surveys

灾难性遗忘的问题已经被发现了很多年。早在80年代,McCloskey和Cohen就表明,用反向传播训练的算法遭受了灾难性的遗忘。Radcliff在用反向传播训练的更大范围的任务上证实了这一发现。French对减轻灾难性遗忘的早期方法做了很好的回顾。这篇综述还讨论了大脑是如何防止灾难性遗忘的,并为神经网络设计提出了可能的解决方案。随着2011年左右深度学习的重新兴起,灾难性遗忘的问题迅速获得了新的关注。这导致了增量学习、持续学习和终身学习方面的工作激增。

这股新的研究热潮也导致了最近对这个问题的调查。Parisi等人提供了一个关于终身学习的广泛综述。这篇综述特别有价值,因为它深入讨论了生物系统如何解决终身学习的问题。他们彻底讨论了生物学上的解决方案,如结构可塑性、记忆回放、课程和转移学习。另一篇综述关注机器人学的持续学习,并特别致力于统一机器人学和非机器人学应用的持续学习的评估方法,目的是提高持续学习的跨领域进展。然而,这些综述并没有对该领域的现有方法进行实验性能评估。

最近的一些调查确实包括对方法的评估。Pfulb和Gepperth提出了一个任务增量学习方法的训练和评估范式,仅限于两个任务。De Lange等人对任务增量学习进行了广泛的调查和实验评估,包括在任务增量学习的背景下对模型容量、权重衰减和放弃正则化的分析。此外,他们提出了一个框架,用于不断确定学习者的稳定性-可塑性权衡–我们也将其应用于我们的评估。现有的调查集中在任务增量学习上,就我们所知,还没有对类增量学习方法进行分类和广泛评估的综述。

Mask-based Methods

这类参数隔离方法通过对每个参数或每个层的表现形式应用mask来减少或完全消除灾难性的遗忘,通过对每个参数或每个层的表征应用mask。然而,通过学习网络结构中每个任务的有用路径,不可能同时评估所有学习的任务。这就迫使人们用不同的mask进行多次前向传播,这使得这种方法对任务有关的评估很有效,但对任务无关的设置却不实用。Piggyback在训练骨干网的同时学习网络权重的mask。PackNet学习权重,然后修剪它们以生成mask。HAT在层激活上应用注意力mask,以惩罚那些对特定任务重要的修改。DAN结合现有的过滤器来学习新任务的过滤器。最后,PathNet通过使用进化策略的权重学习选择性的路由。

Dynamic Architectures

另一种参数隔离方法,称为架构增长,动态地增加网络的容量,以减少灾难性的遗忘。这些方法依赖于促进一个更鲁棒的模型,能够保持以前的任务知识,同时扩展该模型以学习新任务。这使得其中一些方法在不知道任务ID的情况下不切实际,或者给网络增加了太多的参数,这使得它们对于大量的任务是不可行的。EG为每个新任务重复模型,以完全消除遗忘。PNN扩展了每一层,并在每个任务的重复之间增加了横向连接。旧的权重是固定的,允许在学习新任务时访问该信息。然而,复杂性随着任务数量的增加而增加。为了解决这个问题,P&C建议只复制网络一次,以保持参数的数量固定,并使用EWC来减轻遗忘。在[63]中,相似的类被分组,分层扩展,代价是昂贵的训练程序和僵化的结构。ACL将一个动态的架构与示范相融合,明确地将共享的和特定任务的特征与对抗性损失相分离。这允许学习对遗忘更为稳健的共享特征。

最后,随机路径选择(RPS)通过结合蒸馏和基于排练的重放,以定制的架构提供更好的性能。与前面提到的一些方法相反,RPS在推理时不需要任务ID。然而,为了学习每个任务的不同路径,所提出的架构要比其他类增量学习方法大得多。由于这种方法需要使用他们特殊的RPSNet架构,而且容量不能与本调查中比较的其他方法相比,我们在附录B中提供了结果,以分析不同的路径数量和所需的内存。

Online Incremental Learning

在增量学习领域,在线方法是基于流式框架的,学习者被允许对每个例子只观察一次,而不是在训练阶段中对一组例子进行迭代。

Lopez-Paz为这一设置建立了定义和评估方法,并描述了GEM,它使用每个任务的示范记忆来约束梯度,使以前任务的近似损失不会增加。A-GEM在效率上改进了GEM,它基于以前的类示例的平均梯度进行约束。然而,[66]的作者表明,简单地在记忆的示范上进行训练,类似于强化学习中的成熟技术,胜过以前的结果。GSS在GEM和A-GEM程序的基础上进行基于梯度的示例选择,允许在不知道任务边界的情况下进行训练。MIR通过选择在每个训练步骤后会有较大损失增加的示范,对示范记忆进行训练。在[70]中,内存被用来存储来自变分自编码器的离散潜在嵌入,允许生成以前的任务数据用于训练。MER将经验重放与元学习方法Reptile的修改相结合,以选择最小化遗忘的重放样本。

Variational Continual Learning

变分持续学习是基于贝叶斯推理框架的。VCL提议合并神经网络的在线和蒙特卡洛变异推理,产生变分持续学习。它具有通用性,适用于判别性和生成性深度模型。VGL介绍了变分生成重放,这是深度生成重放(DGR)的变分推理泛化,是对VCL的补充。UCL提出了基于标准贝叶斯在线学习框架的不确定性规则化持续学习。它对高斯均值场近似情况下的变分下限的Kullback-Leibler(KL)发散项给出了新的解释。FBCL提出使用自然梯度和斯坦因梯度来更好地估计参数的后验分布,并使用近似的后验来构造核心集。IUVCL提出了一种新的最佳实践方法,用于平均场变异贝叶斯神经网络。CLAW通过在整个网络上应用注意机制扩展了VCL,该机制允许架构适应过程的自动化,在每个任务后指定参数是否固定。UCB为每个权重定义了不确定性,以控制贝叶斯神经网络参数的变化,确定哪些是应该保持固定或改变的权重。他们通过使用修剪策略和每个任务的二进制mask进一步扩展他们的方法,以保留以前任务的表现。这些方法通常只考虑对任务增量学习的评估。BGD以封闭形式更新后验,不需要任务-ID。

Pseudo-Rehearsal Methods

为了避免存储示例和示例排练中固有的隐私问题,一些方法学习从以前的任务中生成示例。DGR使用一个无条件的GAN生成这些合成样本。需要一个辅助的分类器来给每个生成的样本分配GT。MeRGAN中提出了一个改进版本,其中使用了标签条件的GAN和重放对齐。DGM结合了条件GAN和使用神经屏蔽的突触可塑性的优点。引入了一个动态网络扩展机制,以确保足够的模型容量。Lifelong GAN将没有灾难性遗忘的图像生成从标签条件的GAN扩展到图像条件的GAN。作为示范排练的替代方法,一些方法进行特征重放,这需要一个固定的骨干网络来提供良好的表征。

Incremental Learning beyond Image Classification

Shmelkov等人建议逐步学习目标检测器。他们使用Fast-RCNN作为网络,并提议对边界盒回归和分类输出进行蒸馏损失。此外,他们选择提炼背景分数最低的区域建议,从而过滤掉大多数背景建议。Hao等人用知识蒸馏法扩展了Faster-RCNN。同样,Michieli等人提出在输出对数和中间特征上都进行蒸馏,以实现增量语义分割。最近,Cermelli等人通过重新审视基于蒸馏的方法和传统的交叉熵损失为背景建模。具体来说,以前的类被看作是当前任务的背景,而当前的类被看作是蒸馏的背景。增量语义分割也已被应用于遥感和医疗数据。

灾难性遗忘主要在前馈神经网络中被研究。直到最近,人们才研究了灾难性遗忘对递归LSTM网络的影响。在这项工作中,他们观察到灾难性遗忘在递归网络中甚至比前馈网络更明显。这是因为递归网络会放大权值的微小变化。为了解决灾难性遗忘的问题,[91]中提出了RNN的扩展层技术。在[93]中,Net2Net技术与梯度外显记忆相结合。此外,他们提出了一个用于训练和评估学习顺序问题的模型的任务基准。最后,在[94]中研究了防止对字幕任务的遗忘。

介绍EWC的论文也考虑了训练深度强化学习(DRL)代理在其生命周期内玩多个Atari游戏。强化学习是深度学习的一个应用领域,其中任务规范通常隐含在待优化的奖励函数的定义中,因此是实验室实践往往不能完全反映真实世界的另一个例子,因为代理的目标必须随着周围环境的变化而发展。增量任务的获得在强化学习界有着悠久的传统,最近的经验和重放持续学习(CLEAR)方法将可塑性的政策性学习与来自重放经验的非政策性学习相结合,以鼓励对过去获得的任务的稳定性。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
增量学习是一种在机器学习中的技术,可以通过逐步增加新的数据来不断改进和更新模型。在深度学习领域,增量学习技术也被广泛应用。引用中提到了增量学习的两个优点。首先,通过增量学习,我们可以避免将大量数据加载到内存中,从而提高系统的效率。其次,增量学习可以帮助我们减少训练时间,只需要基于预训练的参数执行几次增量学习迭代就可以显著减少学习时间并节省计算资源。 在Matlab中,也有一些关于增量学习的代码示例。引用中提到了一种用于端到端增量学习的Matlab代码,可以用来训练深度学习模型。该代码可以帮助我们逐步增加新的训练样本,并在每次迭代中更新模型以提高整体性能。此外,引用中也提到了可以通过调用训练函数来进一步增强已经训练好的网络,并通过训练日志来验证增量学习的效果。 因此,如果你想在Matlab中进行增量学习,你可以参考这些代码和方法来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [matlab20行代码-EndToEndIncrementalLearning:端到端增量学习](https://download.csdn.net/download/weixin_38589316/18986094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [如何在MATLAB中进行神经网络的增量学习?](https://blog.csdn.net/zhenlingcn/article/details/112479161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值