Abstract
In this work, we employ ideas from metric learning based on deep neural features and from recent advances that augment neural networks with external memories. Our framework learns a network that maps a small labelled support set and an unlabelled example to its label, obviating the need for fine-tuning to adapt to new class types.
工作的创新点
The novelty of our work is twofold: at the modeling level, and at the training procedure.
We propose Matching Nets (MN), a neural network which uses recent advances in attention and memory that enable rapid learning.
Secondly, our training procedure is based on a simple machine learning principle: test and train conditions must match.
2 Model
模型的灵感来源
We draw inspiration from models such as sequence to sequence (seq2seq) with attention [2], memory networks [29] and pointer networks [27]。
下文来源于 当小样本遇上机器学习 fewshot learning
这篇文章的工作被李飞飞高徒karpath点赞过,成为之后相关研究中经常被对比的参照。该文章也是在不改变网络模型的前提下能对未知类别生成标签,其主要创新体现在建模过程和训练过程上。对于建模过程的创新,文章提出了基于memory和attantion的matching nets,使得可以快速学习。对于训练过程的创新,文章基于传统机器学习的一个原则,即训练和测试是要在同样条件下进行的,提出在训练的时候不断地让网络只看每一类的少量样本,这将和测试的过程是一致的。
具体地,它尝试获得一个从支持集S(support set, 由k个样本及其标签组成)到分类器y^的一个映射,该映射是一个网络:P(y^|x^,S),它基于当前的S,对每个未见过的测试样本x^给出其标签y^,该标签让P达到最大值。这个模型可以表示为如公式1),其中a是一个attetion。
, (公式1)
即一个新样本的输出(即在S上类别的分布)是S上的类attation线性组合,也就是对于离x^最远的xi,其在某度量下的attation是0, 那么其值就是和x^相似的xi所对应标签的权重融合。
上述的attention具体是,对训练样本xi和测试样本x^分别进行embedding,然后求内积(cosine),这就是文章提出的"matching",然后输入到一个softmax中,公式如公式2),其中c是cosine距离。其中两个embedding的模型是share的,比如用CNN。这个a是和度量学习(metric learning)相关的,对于待分类的样本x, 让其和那些标签为y的样本对齐,和其它的不对齐,这种loss其实就是和NCA,triplet loss和margin nearest neighbor相关的。
(公式2)
进一步,支持集样本embedding模型g能继续优化,并且支持集样本应该可以用来修改测试样本的embedding模型f。这个可以通过如下两个方面来解决:即1)基于双向LSTM学习训练集的embedding,使得每个训练样本的embedding是其它训练样本的函数;2)基于attention-LSTM来对测试样本embedding,使得每个测试样本的embeding是训练集embedding的函数。文章称其为FCE(fully-conditional embedding)。
关于g 的优化。上述虽然是在整个支持集样本上做分类,但用来做cosine距离计算的embedding 的获得是互相独立的,因此文章把对支持集样本的embedding改为g(xi, S), 这当比如xj十分接近xi时改变g函数是有用的。文章用了双向LSTM,即把S看成一个序列(文章并没有提到这个序列的顺序是怎么生成的,也许是随机的),然后对每个xi进行编码。具体公式如下,其中g'(xi)是原始只依赖自己的embedding,xi通过BiLSTM进行信息互通。
, , (公式3)
关于f的优化。支持集样本可以用来修改测试样本的embedding模型。这个可以通过一个固定步数的LSTM和对支持集的attention模型来解决, 即如下公式,其中f'(x)是只依赖测试样本自己的特征,作为LSTM的输入(每步不变),K是LSTM的步数,g(S)是支持集的embedding。由此,模型会忽略支持集S中的一些样本。
(公式4)
这两个embedding函数f和g是对特征空间进行了优化,从而让精度提升。
关于训练策略。文章对imagenet进行的采样,制作了3种适合做one/few shot的数据集,其中miniImageNet,它包含100类,每类600张图片,其中80个类用来训练,20类用来测试, 称为后续相关研究经常被采用的数据集。以5-way 5-shot为例。训练时,在80类中随机采样5个类,然后把这5类中的数据分成支持集S和测试B,训练matching net模型来使得在S条件下的B的预测结果误差最小。测试时,在20个未被训练过的类中抽取5类,每类5张图,作为测试支持集S’。如图7,MatchNet方法相对原始的Inception模型能正确识别模型从未见过的轮胎和自行车。
图7
--------------------- 本文来自 mao_feng 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/mao_feng/article/details/78939864?utm_source=copy