持续学习+元学习+无监督学习文章调研(四)

文章

Task Agnostic Continual Learning via Meta Learning, arXiv 1906.05201

本文的关注点是在任务边界不明确情况下的持续学习(Task Agnostic Continual Learning),并将关注的重点放在了快速回忆(fast remembering,实际上我觉得教recallling更好,作者果然是中国人),即衡量神经网络恢复过往任务的表现,而非不经过任何适应就直接进行测试。

任务定义

本文中的持续学习任务有两个显著的特点:

  1. 任务边界和任务身份不清晰(Task Agnostic)
  2. 任务可能相互冲突(需要适应)

前者比较容易理解,对于后者,作者特别提到了在实际情况中,对于一个我们需要学习的目标为 f ^ ( x t ; θ ) \hat{f}(x_t;\theta) f^(xt;θ)的任务t,其实际标签 y t y_t yt很有可能同时取决于当时的环境情况,即 y t = f ( x t , c t ) y_t=f(x_t,c_t) yt=f(xt,ct)(比如在实际中,可能先做猫狗分类,再做猪狗分类和猪猫分类,在同样的输出空间中不同任务下一个输入可能被分配不同的类id),在这种情况下,实际上很可能并不存在一个通用的神经网络能够解决我们所学习过的所有任务,所以在没有任务context的情况下无法做到避免灾难性遗忘。

框架定义:What&How框架

作者提出的模型What & How Framework分为两部分(再加上实际用于推理的网络,应该是三部分才对),一个是根据Context信息来推测当前context的推理网络 F w h a t : D t c x t → c t \mathcal{F}^{what}:\mathcal{D}^{cxt}_t\rightarrow c_t Fwhat:Dtcxtct,另一个则根据当前context推测应该选择哪一个推理网络 F H o w : c t → f ^ c t \mathcal{F}^{How}:c_t\rightarrow \hat{f}_{c_t} FHow:ctf^ct。在实际操作中,经常使用了前k个样本作为 D c x t \mathcal{D}^{cxt} Dcxt,适用于相对稳定或平滑变化的环境。(我的直观想法是用类似RNN的时序模型,不同环境的性质也值得讨论)
模型结构
作者使用这个框架概括了包括MAML,CAVIA在内的元学习模型对于新任务的适应过程。然而传统的这些方法,在进行What和How的学习时实际上需要多个任务的信息来进行训练,这在持续学习中难以进行。(这里的意思似乎是作者想在元学习阶段就使用持续学习,属于持续元学习,然而元学习的目标又是持续学习,属于元持续学习)

实现与实验结果

作者在不同的框架下,使用BGD(或其它任何可以改造为不需要明确任务边界的,包括EWC)的持续学习方法,作用于What和How网络中的参数(元参数)。作用于不同的(被套入了上面的框架的)元学习方法上,最后得到了不同方法,比如MetaBGD,就是把对MAML的 θ i n i t \theta_{init} θinit的更新使用BGD来进行,其余的不赘述。实验在正选曲线拟合、标签打乱的mnist和Omniglot数据集上进行,无任务标签信息。
标签打乱MNIST
将Omniglot按照字母表拆分成多个不同的分类任务进行实验,试了十个字母表,这里的BGD(MH)实际上还是使用了任务信息(MH指多头)。
Omniglot

评价

本文既对元学习进行了持续学习,也将元学习的目标设置为了持续学习,导致表达和理解起来稍微复杂了一点,实际上Task Agnostic指的是持续元学习任务,而任务冲突指的是元持续学习任务。在对比上,似乎缺乏和IID元学习得到的元持续学习和条件处理网络的对比,即不持续元学习得到的元持续学习模型的对比,也缺乏持续元学习得到的非持续学习模型的结果(实际上表现比较好的MetaBGD似乎并没有在内圈训练持续学习……)。

Few-shot Continual Learning: a Brain-inspired Approach, Arxiv 2104.09034

持续学习(Continual Learning,CL)和小样本学习(Few-shot Learning)在实际研究中经常一起出现,同时解决两个问题的系统也将拥有许多优势。一些研究也开始将他们放在一起研究,但往往只针对了其中的某个方面进行优化,主要使用其中一方的技巧,并且忽视了这两个任务彼此的干扰。

任务定义

为了将小样本模型迁移到持续学习阶段,作者将整个任务分为两个阶段。即元训练阶段(Meta Training,MT)和小样本持续学习阶段(Few-shot Continual Learning,FSCL)。在MT阶段中,学习算法(比如MAML)按照各自的方法从元训练集 S S S中学习,而在FSCL阶段中,模型将面对一系列的N-way K-shot分类任务,每一个任务t的数据集 D t = ( x i t , y i t ) i = 1 N × K D_t={(x^t_i,y^t_i)}^{N\times K}_{i=1} Dt=(xit,yit)i=1N×K,所有的 D t D_t Dt构成了FSCL阶段的Query Set D T D_T DT,即 D T = ∩ t = 1 T D t D_T= \cap^T_{t=1} D_t DT=t=1TDt。为了避免数据泄露, S ∩ D T = ∅ S\cap D_T=\emptyset SDT=

持续学习和小样本泛化能力的相互干扰

在mini-ImageNet的实验中,Memory Replay(MR)方法可以避免灾难性遗忘,但是却难以阻止小样本任务能力的持续下降。
相互干扰
在FSCL阶段,提取的特征逐渐崩坏(图中a和b),在图c中iteration45K后为FSCL阶段,在这一阶段Fishr特征的急剧崩溃也说明了信息被遗忘了,(d)中的混淆矩阵也说明了效果的不佳。(PS:目前看来这似乎就是一种特别灾难性遗忘,而因为在Few-shot Learning情况下,传统的MR和权重保护等方法的效果不佳?)
小样本学习能力的崩坏

解决方案:正则化和快慢网络(元学习)

本文从人脑的学习方式出发,提出了一个两部的巩固方案(Two Step Consolidation,TSC)用于整合新的小样本信息并提高泛化能力。第一步,通过激烈的当前输入标记突触活动,然后一个突出标记捕获(synaptic tagging and capture,STC)活动根据突触累计的标记来控制神经元的稳定性。第二部,回放微弱的信号,用于泛化习得的经验。整个网络分为慢权重 θ s \theta_s θs和快权重 θ f \theta_f θf,每一个的参数分为embedding部分 θ e \theta^e θe和output部分 θ o \theta^o θo

标记突触的活跃程度是为了避免对活跃突触的信息过多修改,用于embedding的部分(output部分和embedding部先一起训练,并不做惩罚,之后使用训练好的embedding再做额外训练),用 a t , i e , l a^{e,l}_{t,i} at,ie,l表示 l l l层的突触 i i i在任务 t t t上的活跃程度,用梯度来表示:
活跃程度
累积的活跃程度表示为:
累积活跃程度
通过每层归一化,缩放和 s i g m o i d sigmoid sigmoid激活,从慢权重的活跃程度,控制了快权重的更新:
更新惩罚
最后训练出来的快网络的参数,通过一个小的step加到快网络上。完整流程如下(感觉像是在持续学习的序列任务中对inner-loop更新增加了权重保护正则化的Reptile方法):
完整流程

实验结果

实验结果如下,所有模型在MT阶段都使用MAML预训练, A 3 0 A_30 A30 A 5 0 A_50 A50表示的是平均准确率,“/”左右为top-1和top-5准确率。Reg表示只使用STC而不采用快慢权重。FSW表示的是快慢权重(Fast Slow Weights)。
实验结果
可以看出,由于小样本学习任务和持续学习任务的干扰,大多数持续学习模型的表现较差,而使用本文的方法效果甚至可以超过直接拿所有样本进行训练(但是JT本身没有采用如FSW一样的类似元学习的做法,所以其实不算太令人惊讶)。表格中的四个数据集,MT和FSCL的数据之间的领域差异越来越大。
消融实验的结果,证明了快慢权重的有效性,以及对特征提取部分修改的有效性(k=0对应了固定特征部分)。
消融实验

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值