• notes of paper: Learning to Compare: Relation Network for Few-Shot Learning


    words:

    conceptually  adv  概念地

    training end-to-end from scratch  从头开始训练

    meta-learning  元学习

    unified  adj  统一的

    scalability  n  可扩展性

    emerging  作adj时  新出现的

    stripy  adj  有条纹的

    resurgence  n  (中断之后)再度兴起

    fine-tune  微调

    alleviate  vt  减轻

    regime  n  管理制度,组织方法

    contemporary  adj  同时代的,同期的

    decompose  vt & vi  分解

    exemplar  n  典范,样例

    insufficient  adj  不足的

    promising  adj  很有前途的,前景很好的

    inference  n  推理

    metric  n  原意是“度量标准”,可以译为“优值”

    inductive  adj  归纳的

    outperform  vt  做得比......更好,胜过

    encompass  vt  包括

    compelling  adj  令人信服的;引人入胜的

    across the board  adv  全体都包括在内

    alternatives  n  此处译为“其他的”

    iterative  adj  反复的,迭代的

    iterate through  遍历(iterate 本身译为“重复”)

    discriminative  adj  判别的;有判别力的;歧视性的

    surge  n & vi  急剧上升;激增

    in the sense that  在这个意义上,从这方面来说(可以翻译为“即”)

    extract  vt  提取,获得

    configuration  n  布局;配置

    low-latency  低延时的

    leverage  n  杠杆作用(此处应该译为“借助”)

    unrolling  v  铺开,展开

    appealing  adj  吸引人的

    adequacy  n  足够

    entail  vt  招致,带来

    in terms of  在......方面

    be represented in  用......方法表示

    prototypical network  原型网络

    siamese network  孪生网络

    span  vt  跨越

    align  v  与......联合;使对准

    manually  adv  手工地

    disjoint  adj  分离的;不相交的

    in principle  原则上;大体上

    exploit  vt  (充分)发挥,(充分)利用

    mimic  vt  模仿

    split  作n时  分支,划分

    feed through  馈通,贯穿

    be fed into  被送入

    concatenate  vt  把(一系列事件、事情等)联系起来

    concatenation  n  一连串相关联的事情

    scalar  n  标量

    somewhat  adv  稍微,有点

    conceptually  adv  在概念上

    ground-truth  n  参考标准;(机器学习中)数据正确的标签

    analogous  adj  相似的

    in that  因为

    datum  n  数据;资料

    straightforward  作adj时  简单的;坦率的

    modality  n  形式

    heterogeneous  adj  不同的

    subnet  n  子网络;分支网络

    anneal  vt  使退火

    baseline  n  基线,基准

    statistician  n  统计学家,统计员

    deviation  n  偏离,偏差

    despite that  此处应译为“因为”

    significantly  adv  显著地;数量相当大地;有意义地

    confidence interval  n  置信区间

    overlap  n & v  重叠;相交

    conduct  vt  实施;执行

    violate  vt  违背

    comprise  vt  由......组成

    benchmark  n  基准,参照

    hubness problem  枢纽点问题(即高维空间中,某些点会成为大多数点的最近邻点。)

    cross-modal  adj  跨通道的;交叉式的

    inductive  adj  归纳的

    at the cost of  以......为代价

    harmonic  adj  调和的

    specify  vt  指定;详述

    Mahalanobis distance  马氏距离

    approximator  n  逼近器

    solely  adv  唯一地;仅仅

    element-wise  adv  元素级地

    separability  n  可分离性

    efficacy  n  功效;效力

    the extent to which ...  ......的程度 (有多大)

    jointly  adv  共同地

    symmetry  n  对称

    empirically  adv  经验主义地

    numerically  adv  数字上地

    trivial  adj  平凡的;琐碎的

    subsequent  adj  后来的;随后的

    cyan  n  青色

    magenta  n  品红色(紫色和红色的混合色)

    in terms of   根据;就......而言

    penultimate  adj  倒数第二的

    tune  vt  调整

    在这篇文章中,作者提出了 Relation Network (RN) 的概念。

    作者指出目前一些比较成功的深度网络存在的一些弊端:需要提供大量有标签的数据而且需要很多次的迭代来更新参数。

    目前已有的 few-shot learning 存在的问题:要么需要复杂的推理机制,要么需要复杂的RNN架构,要么需要对目标问题进行 fine-tune 。

    这篇论文采用的核心方法是:train an effective metric for one-shot learning 。对 few-shot learning 而言,要学得一个能比较图片之间关联度的优值;对 zero-shot learning 而言,要学得一个能比较图片和与之相关的类别的描述之间关联度的优值。

    作者提出一个双分支结构的 RN ,通过比较 query image 和 few-shot labeled sample image,来实现 few-shot recognition。

    整体架构由一个 embedding module 和一个 relation module 组成。前者用于产生 query image 和 training image,后者用于对 query image 和 training image 进行比较。

    对前人工作的借鉴体现在:embedding module 和 relation module 都是 meta-learned end-to-end 的,创新点在于:没有使用 RNN (使网络结构更加简单),也没有使用 fine-tuning (使训练更快) 。

    MAML方法通过 meta-learn 来找到一个合适的初始权重,为后续的 fine-tuning 做准备。这种方法的弊端是需要 fine-tuning ,作者通过 feed-forward 的方式避免了 fine-tuning 。

    基于 RNN Memory 的方法进行 few-shot learning 有一个很大的弊端:memory 必须保证在存储很长的历史信息的同时,不会发生遗忘。作者采用的方法是通过 feed forward CNN 来实现 learning-to-learn approach 。

    原型网络和孪生网络通过学习 embeddings 来转换数据,使得类别能够通过 fixed nearest-neighbour 或 linear classifier 识别出来。作者在此基础上,定义了一个 relation classifier CNN ,识别的手段变成了一个 learnable metric (而非 fixed metric) 或是 non-linear classifier (而非 linear classifier) 。

    在 few-shot learning 中存在3个数据集:一个 training set,一个 support set,和一个 testing set。

    C-way K-shot:如果 support set 中包含 C 个不同的类,而且每个类中包含 K 个有标签的样本时,此时的 few-shot 问题称为 C-way K-shot 问题。(e.g. K = 1 时称为 one-shot ,K = 5 时称为 five-shot ,K = 0 时称为 zero-shot 。)

    作者指出,如果仅仅使用 support set ,原则上也可以训练出一个分类器,只是它的性能并不好。因此作者先在训练集上进行 meta-learning 以获取 transferrable knowledge ,再使用 support set 进行 few-shot learning ,这样得到的分类器效果会更好。

    在每一轮迭代时,随机从训练集中挑出 C 个类,每个类 K 个样本,来构成 sample set S = {(xi, yi)} ;然后从剩下的部分中也挑出 C 个类,来构成 query set Q = {(xj, yj)} 。sample / query set 的目的是用来对 support / test set 进行 simulate 。

    xi(来自 sample set S)和 xj(来自 query set Q)通过 embedding module f_phi 产生两个 feature map f_phi(xi) 和 f_phi(xj) ,然后由 operator C(· , ·) 结合起来,构成 C(f_phi(xi) , f_phi(xj)) 。

    经过 operator C(· , ·) 结合之后的 feature map(即 C(f_phi(xi) , f_phi(xj)) )被送入 relation module g_phi ,并产生一个(0,1)之间的相关系数,以此来表征 xi 和 xj 之间相似度的大小。

    在 C-way one-shot 问题中,总共会产生 C 个相关系数( query input 只有一个 xj ,sample input 共 C 类,每类只有 1 个,因此总共会产生 C 对 feature map)。

    5-way 1-shot 的架构如下:

    作者将该 few-shot learning 问题视为回归相关系数的问题而非分类问题,因此损失函数采用的是 MSE 而非 CrossEntropy 。

    大多数 few-shot learning model 的 embedding model 都使用了 4 个卷积块,为了比对的公平性,作者也采取了同样的架构设计,如下图所示:

    每一个 Convolutional Block 都包含了 64 个 3x3 的卷积核、一个 batch normalisation 层和一个 ReLU 层。embedding module(箭头从下往上数的前4个 Convolutional Block)中的前两个 block 还各自包含一个 2x2 的 max-pooling 层,后两个 block 则没有。这样做的目的是希望得到的 feature map 能够继续参与其他的卷积运算(这里指的是 relation module 中的卷积运算),因为如果 embedding module 中的 pooling 层太多,feature map 的尺寸会迅速减小,这样在 relation module 中可供利用的信息就会很少,不利于相关系数的计算。

    relation module 由两个 convolutional block 和两个 fully-connected layer 组成,在两个 convolutional block 后面还各自连接了两个 2x2 的 max-pooling 层。沿着箭头的方向,第一个 fully-connected layer 是 8 维的且激活函数是 ReLU,第二个 fully-connected layer 是 1 维的且激活函数是 Sigmoid(采用 Sigmoid 是为了产生(0,1)之间的相关系数)。

    所有的与 few-shot learning 有关的实验采用的都是 Adam 方法,初始学习率设置为 0.001,每 100,000 轮衰减为原来的一半。

    作者将自己的工作和其他 state of the art 工作进行了对比,这些工作包括:

    neural statistician

    Matching Nets with and without fine-tuning

    MANN

    Siamese Nets with Memory

    Convolutional Siamese Nets

    MAML

    Meta Nets

    Prototypical Nets

    Meta-Learner LSTM

    作者对数据集进行了增强:对 Omniglot 数据集,将原始图片分别旋转 90 度,180 度和 270 度得到增强后的数据集,从原始的数据集中挑出 1200 个类,和与之对应的增强后的数据一起,用作训练;将剩下的 423 个类和与之对应的增强后的数据一起,用作测试。所有的图片都被 resize 成 28x28 。

    在实际训练时,5-way 1-shot 总共有 20 个 query image,5-way 5-shot 也有 20 个 query image,20-way 1-shot 有 11 个 query image,20-way 5-shot 有 10 个 query image 。

    因此 5-way 1-shot 在每一轮训练中都有 20x5 = 100 个 image 。

    在 Omniglot 数据集上:作者在比较训练结果时,是将1000次随机测试的结果进行平均。作者指出,5-way 5-shot 比最好结果低 0.1% 是因为那些训练结果要么机制复杂,要么使用了 fine-tune ,而作者并没有采用这些方法。

    在 miniImageNet 数据集上,作者分别选了 64,16,20 个类分别用于 training,validation 和 testing 。其中,16 个 validation class 仅仅用来监测泛化性能。作者依据现有的 few-shot learning 工作,分别做了 5-way 1-shot 和 5-shot 的分类测试。

    作者在列举为什么 Relation Network 可以 work 时,指出了前面一些 few-shot work 采用的方法:learning a fixed metric or fixed features and shallow learned metric 。与这些方法不同的是,Relation Network 可以认为是同时 learning a deep embedding and learning a deep non-linear metric (similarity function)。

    总结:

    作者提出了 Relation Network 的方法来解决 few-shot 和 zero-shot learning 的问题。Relation Netwoek 通过学习 an embedding and a deep non-linear distance metric 来比较 query 和 sample items 。

    补充: 

    关于 Zero-Shot Learning 一篇很好的入门文章:https://blog.csdn.net/tianguiyuyu/article/details/81948700

  • 相关阅读:
    阿里巴巴-工作自传(不断更新)
    Docker(42)- 镜像原理之联合文件系统
    Java 基础语法(2)- 基础数据类型
    Java 基础语法(1)- 注释、标识符、关键字
    IDEA 编译器在变量上面报 Content of collection are updated, but never queried
    Docker(41)- Portainer 可视化面板安装
    Docker(40)- docker 实战三之安装 ES+Kibana
    Docker(39)- docker 实战二之安装 Tomcat
    Docker(38)- docker 实战一之安装 Nginx
    Docker(37)- docker attach 命令详解
  • 原文地址:https://www.cnblogs.com/tbgatgb/p/10907183.html
Copyright © 2020-2023  润新知