Rapid Learning or Feature Reuse? Towards Understanding the Effectiveness of MAML

https://arxiv.org/pdf/1909.09157

https://github.com/learnables/learn2learn

Rapid Learning or Feature Reuse? Towards Understanding the Effectiveness of MAML,2020,ICLR

总结:文章提出的ANIL算法是2021ICLR另一篇BOIL文章的前传,强烈推荐将MAML、ANIL和BOIL三篇文章放到一起看,感觉还是很奇妙的,值得深入研究。文章从“ Is MAML’s efficacy predominantly due to rapid learning or feature reuse?”问题出发,通过实验证明了feature reuse是MAML成功的主要因素,并据此提出了ANIL(Almost No Inner Loop)和NIL(No Inner Loop)两种新算法。文章实验很丰富,结果也很漂亮。

1. 简介

1.1 摘要

An important research direction in machine learning has centered around developing meta-learning algorithms to tackle few-shot learning. An especially successful algorithm has been Model Agnostic Meta-Learning (MAML), a method that con-sists of two optimization loops, with the outer loop finding a meta-initialization, from which the inner loop can efficiently learn new tasks. Despite MAML’s popularity, a fundamental open question remains —— is the effectiveness of MAML due to the meta-initialization being primed for rapid learning (large, efficient changesin the representations) or due to feature reuse, with the meta-initialization already containing high quality features? We investigate this question, via ablation studies and analysis of the latent representations, finding that feature reuse is the dominant factor. This leads to the ANIL (Almost No Inner Loop) algorithm, a simplification of MAML where were move the inner loop for all but the (task-specific) head of the underlying neural network. ANIL matches MAML’s performance on benchmark few-shot image classification and RL and offers computational improvements over MAML. We further study the precise contributions of the head and body of the network, showing that performance on the test tasks is entirely determined by the quality of the learned features, and we can remove even the head of the network(the NIL algorithm). We conclude with a discussion of the rapid learning vs feature reuse question for meta-learning algorithms more broadly.

用于解决小样本问题的元学习算法是机器学习的一个重要研究方向之一,其中一种非常成功的算法就是MAML。它通过两个优化循环:外循环学习一个有效的meta-initialization,内循环可以快速适应新任务。尽管MAML得到了广泛应用,但是还存在一个开放性问题待解决:MAML的成功取决于meta-initialization带来的rapid learning还是feature reuse(远处是参数已经能够学习到高质量特征)。为了调查这个问题,我们进行了消融实验,并分析了样本潜在表示,发现feature reuse是MAML成功的主要因素。基于此,我们提出了ANIL(Almost No Inner Loop)算法,它是MAML的一种简化版本。ANIL移除了内循环中对所有参数的更新,只保留了神经网络的head(即分类器)部分。在标准数据集的小样本图像分类任务上,ANIL取得了和MAML相当的表现,但是计算代价更低。我们进一步研究了head和body部分对模型整体性能更精细的贡献,发现在模型在测试任务上的表现完全取决于学习到的特征的质量,我们甚至还可以去掉网络的head部分(即NIL算法)。最后,我们更广泛地讨论了元学习算法中rapid learning和feature reuse的作用。

1.2 本文工作

背景: 用于小样本场景的元学习方法得到了很多关注,MAML就是一种非常成功的元学习算法。MAML通过外循环学习一个优良的meta-initialization参数,内循环可以快速学习适应新任务。

动机: MAML虽然得到了广泛研究并且人们提出了很多变体,但是大多都是针对如何提高MAML性能的。**存在一个开放问题:MAML的成功来自于内循环的rapid learning还是外循环的feature reuse?**如上图1所示。

本文工作: 作者通过大量实验证明了MAML的成功主要来自于feature reuse,即执行内循环前模型的初始参数已经可以学习到高质量的样本特征。即使内循环不对模型body部分(即特征提取器)参数进行更新,模型在新任务上也能有较好的性能。在此基础上作者提出了ANIL和NIL模型。

2. 方法&实验

2.1 MAML

这部分可以参考我另一篇论文笔记:BOIL: Towards Representation Change for Few-shot 中对于MAML的介绍。BOIL是对本文工作的延伸,是一种和ANIL刚好相反的算法。

2.2 Rapid Learning VS Feature Reuse

这部分主要探讨:“ Is MAML’s efficacy predominantly due to rapid learning or feature reuse? ”。先定义两个概念:

  • head: 模型的最后一层,即分类层,比如softmax层,根据样本表示计算分类得分
  • body: 模型最后一层前面所有层,可以理解成特征提取器,用来计算样本表示

为了验证rapid learning和feature reuse究竟谁占据主导地位,作者设计了两组实验:

  1. 元测试阶段冻结模型参数,去掉内循环中的adaptation操作,观察模型表现
  2. 利用表示向量相似度工具,直接分析内循环中样本表示向量有多大变化

一、冻结参数

为了研究内循环adaptation的影响,元测试阶段,我们逐层冻结特征提取器的参数,然后对比模型的表现。实验结果如下表1:

可以发现,冻结特征提取器参数对模型性能并没有产生影响。这表明:meta-initialization下的特征提取器已经能够从样本中提取足够多信息用于分类,在测试任务中不需要进行额外优化。

二、表示间相似度

这部分,作者分析了内循环的adaptation期间样本特征究竟有没有发生很大的变化。

上图展示了卷积操作前后样本表示之间的相似度,可以发现在CCA和CKA这两种度量标准下,模型的卷积操作并没有给节点表示带来很大改变,相似度没有低于0.9。

上述两个实验都指向同一个结论:即feature reuse在MAML中占据主导地位,而rapid learning可有可无。

三、早期学习过程

上面的实验是在完整完成meta-train后,在元测试阶段进行的。下面分别在MAML迭代训练10000,20000,30000次后,检测内循环中adaptation对模型性能的影响。实验结果如下图所示:

可以看到,在早期学习过程中,内循环的adaptation操作对模型性能的影响也不明显。

2.3 ANIL

2.3.1 算法

前面一系列实验证明MAML中,内循环的adaptation操作对模型性能的影响很小,因此作者提出了一种新的算法ANIL(Almost No Inner Loop)。MAML和ANIL之间的对比如下图4所示:

对比MAML算法,ANIL算法在训练和测试阶段的内循环中,不更新模型body部分参数,只更新head部分分类器参数。假设模型参数为θ=(θ1,...,θl)\theta=(\theta_1,...,\theta_l),在ANIL算法中梯度更新方式如下:

θm(b)=(θ1,,(θl)m1(b)α(θl)m1(b)LSb(fθm1(b)))\theta_{m}^{(b)}=\left(\theta_{1}, \ldots,\left(\theta_{l}\right)_{m-1}^{(b)}-\alpha \nabla_{\left(\theta_{l}\right)_{m-1}^{(b)}} \mathcal{L}_{S_{b}}\left(f_{\theta_{m-1}^{(b)}}\right)\right)

2.3.2 实验

一、模型时间复杂度

由于ANIL更新参数更少,因此训练和预测速度更快。实验表明,和MAML相比,ANIL训练阶段速度平均提升1.7倍,预测阶段速度平均提升4.1倍。

二、模型性能

下表对比了ANIL和MAML的准确度,可以发现两者相差无几,进一步证明了内循环body部分adaptation操作没有必要。

三、MAML和ANIL

为了进一步研究两个模型学习过程中行为相似度,下图展示了两个模型训练过程中损失和准确度的变化曲线:

可以看到两条曲线趋势基本完全一致。下表展示了不同模型之间学习到的表示之间的相似度:

三组数据基本一致。通过上面两个实验可以看出,两个算法的性能、学习过程、学习结果都高度相似,进一步证明了内循环的adaptation操作没有作用。

2.4 Head VS Body

这部分主要探讨模型head和body两部分的贡献。这部分的动机来源于问题:“ Howimportant is the head at test time, when good features have already been learned? ”。既然前面说内循环中对body的优化没有用,那么head是否有必要存在?能不能直接将模型head部分去掉?为此作者提出了一个新的算法NIL(No Inner Loop)。

2.4.1 元测试阶段的Head

通过元训练得到ANIL模型后,在测试阶段去掉模型的head,直接用模型学习到的表示进行分类,实验结果如下表4:

可以看到对比MAML和ANIL,NIL的性能并没有发生明显变化。

2.4.2 不同训练策略下的NIL

这部分的实验,元训练阶段采用不同训练策略,元测试阶段使用NIL方法,它们的性能对比如下表5:

可以看到,用MAML和ANIL训练模型时性能最好。Multitask训练时由于没有task specific head导致模型性能最差,甚至低于随机特征。最后一行,用NIL训练模型时性能低于第一、二行用MAML训练模型,因此可以得出结论:训练时的head对模型能否学习有效的特征是很重要的。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2022 Yin Peng
  • 引擎: Hexo   |  主题:修改自 Ayer
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信