思维导图
基本概念:
(1) meta-learning
meta-learning即元学习,也可以称为“learning to learn”。常见的深度学习模型,目的是学习一个用于预测的数学模型。而元学习面向的不是学习的结果,而是学习的过程。其学习的不是一个直接用于预测的数学模型,而是学习“如何更快更好地学习一个数学模型”。
举一个现实生活的例子。我们教小朋友读英语时,可以直接让他们模仿apple、banana的发音。但是他们很快又会遇到新的单词,例如strawberry,这是小朋友就需要重新听你的发音,才能正确地读出这个新单词。我们换一种方式,这一次我们不教每个单词的发音,而是教音标的发音。从此小朋友再遇见新单词,他们只要根据音标,就可以正确地读出这个单词。学习音标的过程,正是一个元学习的过程。
在深度学习中,已经被提出的元学习模型有很多,大致上可以分类为learning good weight initializations,meta-models that generate the parameters of other models 以及learning transferable optimizers。其中MAML属于第一类。MAML学习一个好的初始化权重,从而在新任务上实现fast adaptation,即在小规模的训练样本上迅速收敛并完成fine-tune。
(2) model-agnostic
model-agnostic即模型无关。MAML与其说是一个深度学习模型,倒不如说是一个框架,提供一个meta-learner用于训练base-learner。这里的meta-learner即MAML的精髓所在,用于learning to learn;而base-learner则是在目标数据集上被训练,并实际用于预测任务的真正的数学模型。绝大多数深度学习模型都可以作为base-learner无缝嵌入MAML中,而MAML甚至可以用于强化学习中,这就是MAML中model-agnostic的含义。
(3) N-way K-shot
N-way K-shot是few-shot learning中常见的实验设置。few-shot learning指利用很少的被标记数据训练数学模型的过程,这也正是MAML擅长解决的问题之一。N-way指训练数据中有N个类别,K-shot指每个类别下有K个被标记数据。
1、介绍
首先这篇论文提出了一种元基线 (Meta-Baseline)方法,通过在所有基类(base classes)上预先训练分类器,并在基于最近质心的少样本(few-shot)分类算法上进行元学习,实验结果大大优于目前最先进的方法(sota)。
小样本学习(Fei-Fei等人,2006年;Vinyals等人,2016年)就被提出,当时因为直接学习大量的参数与很少的样本是非常具有挑战性的,而且很有可能导致过拟合,一个实际的解决是应用迁移学习。我们可以先在有足够样本的公共类(基类)上训练深度模型,然后将模型转移到仅基于少数几个例子的新类上学习。
元学习框架的小样本学习遵循学会学习的关键思想。具体来说,它从属于基类的训练样本中提取少量的学习任务,并优化模型以在这些任务上表现良好。一个任务通常采用N-way和K-shot的形式,其中包含N个类,每个类中具有K支持样本(训练集)和Q查询样本(验证集)。(N-way指训练数据中有N个类别,K-shot指每个类别下有K个被标记数据。)
首先该文提出了一个分类器-基线(Classififier-Baseline),在基类上预先训练一个分类器来学习视觉表示,然后删除最后一个依赖于类的全连接(FC)层。具体做法:给定一个具有少量样本的新类,我们计算给定样本的平均特征,并利用特征空间中的余弦距离,用最近质心对查询样本(验证集)进行分类 即余弦最近质心。 这一过程也可以看作是估计新类的最后FC权重,但不需要为新类训练参数。(就这一个分类器-基线的方法就优于许多的sota)
后来作者提出用元学习改善分类器-基线,于是提出Meta-Beaseline。 在Meta-Baseline中,我们使用预先训练的分类器-基线初始化模型,并使用余弦最近轮廓度量执行元学习,这是Clssififier-Baseline中的评估度量 。(一种基于度量的元学习)
实验表明,我们观察Meta-baseline可以进一步提高分类器-基线(Clssififier-Baseline)的性能,如图1a所示,
此外还观察到训练过程中测试性能下降,在元学习背景下评估了两种泛化类型:
- 基类泛化;是指基类中不可见数据对小样本分类任务的泛化,它遵循泛化的共同定义,但我们将其重命名为 澄清;
- 新类泛化;表示从新类中的数据中对小样本分类任务的泛化,这进一步表明了从基础类到新类的可转移性。
虽然Meta-Base