Raki的读paper小记:LOOKING BACK ON LEARNED EXPERIENCES FOR CLASS/TASK INCREMENTAL LEARNING

Abstract & Introduction & Related Work

  • 研究任务
  • 已有方法和相关工作
    1. Incremental Learning (IL) methods,目标在于从无限数据流中训练一个单个深度神经网络
    2. 对使用扩展网络结构的参数隔离方法进行研究
    3. 考虑一个固定大小的模型参数集,修剪学习一个新的任务
    4. 在推理过程中不需要知道任务标签,就可以保留以前的类的知识
    5. 基于经验的回放方法,它存储了过去的实际数据样本
    6. Model Growing
    7. Memory Replay
    8. Regularization-based
    9. Parameter Isolation
  • 面临挑战
    1. 没有很好的性能表现
    2. sota方法使用基于经验的回放方法,尽管这种方法很成功,但它们有一个主要的局限性,即在增加类的数量时,内存预算是固定的,导致性能严重下降
  • 创新思路
    1. 我们揭示了一个随叫随到的转移集,在数据流中出现新任务时提供过去的经验
    2. 我们提出了一种无数据增量学习(DF-IL),不仅可以重放模型所学到的过去的经验,而且还可以以数据的方式来执行,不需要一个平行的网络来生成过去的范式,要求学习者网络在学习新类别之前记住它所学到的知识
    3. 回忆过去的样本(而不是储存)
  • 实验结论

传统的深度神经网络都是离线训练的,然而在真实世界里,当在线训练时,模型可能会逐渐遇到新的类别,在适应新的信息的时候会忘记之前获得的知识,模型在学习新任务时,会覆盖先前任务的决定性参数

PROPOSED METHOD

当一个新增任务出现,记忆恢复范式江北调用来生成转移集 { S } \{ \mathcal{S}\} {S},包含学习网络 L \mathcal{L} L 之前学到的合成图片,在提出的恢复引擎中,首先对于之前模型学到的每一个类输出一个集合 { V } \{ \mathcal{V}\} {V},然后使用一个限制 F \mathcal{F} F,使用一个动态推荐向量根据潜在分布进行调整,来形成一个提炼集合 { V } ∗ \{ \mathcal{V}\}^* {V}

然后,一个随机的噪声输入被初始化,以精炼输出 { V } ∗ \{ \mathcal{V}\}^* {V} 为条件进行优化,这个步骤对每一个学习到的类都要进行多次,以形成转移集 S \mathcal{S} S

最后学习网络在组合数据集D上重新训练,使用CE和KD作为损失函数
在这里插入图片描述

DATA-FREE INCREMENTAL LEARNING

在我们的工作中,无数据增量学习术语表示不需要记忆缓冲器来进行增量学习,DNN模型的复杂度是固定的,而且我们合成一个转移集S作为网络过去的经验,以无数据的方式,为了实现这个想法,运行以下步骤

当DF-IL网络收到新增任务数据
在这里插入图片描述
L是所有属于任务T的l个类别的样本总数
在这里插入图片描述
然后调用算法2来生成转移集S,通过记忆恢复的过程
在这里插入图片描述
K是学习网络L已经学到的k个类别的合成样本总数
在这里插入图片描述
然后将S丢到学习网络里面去,结果网络对于所有样本的输出将被储存,然后形成一个组合数据集D,对于任务序列中的每一个任务T
在这里插入图片描述
最后,学习者网络L的参数被更新,以最小化成本函数,使来自新增加的类I的每个数据样本被正确分类,作为分类损失,对于S中的样本,当前网络的对数将被重现,与上一步存储的对数一样接近,作为KD项的知识蒸馏损失

使用交叉熵作为分类损失
在这里插入图片描述
知识蒸馏,最小化欧拉距离(L2范数的平方)
在这里插入图片描述

MEMORY RECOVERY PARADIGM

第一阶段

记忆恢复范式是通过学习网络 L \mathcal{L} L 发明用来合成之前学习到的经验,我们将过去的样本进行合成,使学习者网络坚信它们是属于潜在数据分布中的实际样本

因此,他们是network acquaintance(?什么鬼东西),可能不是自然的数据。值得注意的是,我们只使用学习者模型L的学习参数,因为它们可以被解释为模型的存储器,其中训练的本质已经被保存和编码

在建议的范式中,我们首先使用两步法对网络输出空间进行建模,然后通过网络对建模的输出进行反向传播来生成合成样本,其中每一个都是在其余部分中描述。整个过程显示在算法2中

Modeling the Network Output Space

在第一阶段,我们建模学习网络的输出空间,假设
在这里插入图片描述
当第j类,第i个任务的观察被丢到网络中去,是模型的真实输出

要在没有实际的前一个输出的情况下重现这种输出,我们考虑一个两步的方法
在这里插入图片描述
研究发现,从狄利克雷分布中对输出向量进行采样,其中成分在[0, 1]范围内,其总和为1,是对学习者网络的输出空间进行建模的一种简单方法,尽管结果很有趣,但这种方法缺乏对类外相似性的保护,因此产生的离群向量并不遵循网络的基本分布

因此,当我们为一个特定的目标查询内存时,虚假内存就会发生。在这种情况下,记忆恢复的结果是一些在过去的经验中并不真正存在的目标的混合,导致学习者在再训练阶段感到困惑。在我们novel的记忆恢复过程中,我们将监督作为第二步,以检测这种离群值,从而在生成一个基于目标的转移集方面增强检索的记忆

为了做到这一点,我们对生成的向量 F ( V , γ ) \mathcal{F}(\mathcal{V}, \gamma) F(V,γ) 施加约束来监督,其中前一步生成的任意向量 V \mathcal{V} V, 只有在与其动态推荐者 γ \gamma γ 的距离低于预定的阈值的时候才是一个好的候选

这个推荐向量应该以较低的成本宣布,同时也代表了类的相似性,考虑到这些问题,我们暗示了一个动态混淆矩阵CM,它是在训练每个任务时增量构建的

一个任意的混淆矩阵是一个通常用来描述分类模型性能的表格,直观地说,当一个模型错误地将一些样本分类到c类时,意味着c类与目标类高度相关

另一方面,当一个模型总是正确地将类和目标类中的c类,这意味着c类与目标类具有高度的可区分性
这是DNN模型输出的确切预期结果,在数学上,我们检查生成的的向量 V i \mathcal{V^i} Vi,对于任意类别 i i i ,与所构建的动态混淆矩阵 C M i CM^i CMi的第 i i i 行的距离小于预定的阈值 η \eta η,这样就可以得到经过检查的输出向量 V ∗ i \mathcal{V^{*i}} Vi

Back propagate Through the Network

第二阶段

在网络生成的输出 { V ∗ } \{\mathcal{V}^*\} {V}的情况下,合成转移集S,对于一个任意生成的向量V,我们从一个从[0, 1]范围内的均匀分布中采样的随机噪声图像x开始,并更新它,直到生成的模型输出V之间的交叉熵(CE)损失

学习者网络 L ( x , θ T , τ ) L(x, θ_T, τ) L(x,θT,τ)所预测的模型输出最小化
在这里插入图片描述

EXPERIMENTS

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CONCLUSION

我们为增量学习(IL)提出了一种新的策略来解决内存问题,当类的数量变得很大时,这个问题就很关键。特别是,我们以无数据的方式在类-IL和任务-IL设置中执行IL。这一策略是通过内存恢复范式实现的,没有额外的设备。它只依赖于被称为学习者的单一DNN,以检索网络过去的知识作为转移集来回顾学习的经验。我们的方法与最近的著名作品相比在两个数据集CIFAR-10和Tiny-ImageNet上取得了突出的成果

Remark

首先最大的感受就是,ICLR的paper是真的难读啊,理论性比ACL强太多了,看了下句忘上句…不过这也说明看ICLR的paper让我进步比ACL更大,越痛苦就学到越多的东西,整体来说方法很novel,也很work,有很多值得学习的地方,还需要反复阅读习得其精髓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值