论文阅读:Learning to Compare: Relation Network for Few-Shot Learning

论文:Learning to Compare: Relation Network for Few-Shot Learning
地址:https://arxiv.org/abs/1711.06025v2
代码:https://github.com/floodsung/LearningToCompare_FSL
来源:CVPR 2018

摘要

提出了 relation network,通过计算查询样本与每类样本表示的相关分数来进行分类。

问题

传统的监督学习需要大量的数据,因此数据标注花费成本较高。此外对于某系稀有的类别很难获取数据(比如稀有动物)。但是人们可以根据很少的样本就可以识别。根据人类识别的方式提出了少样本学习或这零样本学习。
少样本学习的目的:是通过少量带有标签的数据识别出新类。对于一个或几个样本,微调的方法也具有挑战性。数据增强、正则化在如此少的数据上也不能解决过拟合问题。目前少样本学习主要是将训练阶段分为辅助的元学习阶段,可以学习到迁移知识,包含好的初始化条件、embedding、和优化策略。然后通过微调来来实现少样本学习。

方法

问题的定义

有三部分的数据:training set,support set 和 testing set。support set和 testing set具有相同的类别标签,trainng set具有自己的类别标签(与support set和 testing set的类别标签不重复)。如果对于support set中C类分别有K个数据,我们就成为C-way K-shot问题。

我们在training set上采用元学习的方式,进行训练。在每一次迭代中,随机抽取C类,每类K个带标签的数据。组成sample set S = { ( x i , y i ) } i = 1 m ( m = K × C ) S = \{(x_i,y_i)\}^m_{i=1} (m=K \times C) S={(xi,yi)}i=1m(m=K×C)。然后在C类中剩余的数据抽取n个数据为query set Q = { ( x i , y i ) } j = 1 n Q=\{(x_i,y_i)\}^n_{j=1} Q={(xi,yi)}j=1n。sample/query set的目的就是为了模仿 support/test set。在training set中训练好的模型可以进一步在suport set中微调。
论文阅读:Learning to Compare: Relation Network for Few-Shot Learning_第1张图片

模型

论文阅读:Learning to Compare: Relation Network for Few-Shot Learning_第2张图片
模型主要包含两部分:embedding 模块 f φ f_\varphi fφ和relation 模块 g ϕ g_\phi gϕ
下面以5-way 1-shot为例介绍一下公式。 x i x_i xi为sample set中的一个数据, x j x_j xj为 query set中的一个数据,通过embedding模块 f φ f_\varphi fφ分别得到特征图,然后将两个特征图在统一深度上concat( C ( ⋅ , ⋅ ) C(\cdot, \cdot) C(,))。最后通过relation模块 g ϕ g_\phi gϕ计算 x i x_i xi x j x_j xj的相关性 r i , j ∈ [ 0 , 1 ] r_{i,j}\in [0,1] ri,j[0,1],成为相关分数(relation score)。
在这里插入图片描述

目标函数
使用MSE来优化模型。两个数据是同一类的化 r i , j r_{i,j} ri,j应该为1,否则为0.
论文阅读:Learning to Compare: Relation Network for Few-Shot Learning_第3张图片

网络结构
embedding 模块用了4个卷积块,relation 模块用了两个卷积块和2层全连接层。
论文阅读:Learning to Compare: Relation Network for Few-Shot Learning_第4张图片
论文阅读:Learning to Compare: Relation Network for Few-Shot Learning_第5张图片

实验

分别在omiglot和nimiImagenet数据集上做了few-shot的实验,在Awa和CUB数据集上做了zero-shot的实验。
论文阅读:Learning to Compare: Relation Network for Few-Shot Learning_第6张图片
论文阅读:Learning to Compare: Relation Network for Few-Shot Learning_第7张图片

为什么RN有效?

之前的少样本相关工作通常使用固定的预先训练好的距离度量方式,比如欧式距离、cosin距离或者马氏距离。这里的距离度量方式是采用的可以学习的方式。通过可以学习的深度embedding和深度非线性度量可以很容易实现end-to-end的模式。
采用学习的度量方式好于固定的度量方式。
论文阅读:Learning to Compare: Relation Network for Few-Shot Learning_第8张图片

你可能感兴趣的:(pytorch,few-shot,论文,cv,深度学习)