【论文阅读】Multi-level Semantic Feature Augmentation for One-shot Learning

在这里插入图片描述

用于单样本学习的多层语义特征增强
引用:Chen, Zitian, et al. “Multi-level semantic feature augmentation for one-shot learning.” IEEE Transactions on Image Processing 28.9 (2019): 4594-4605.
论文地址:下载地址
论文代码:https://github.com/tankche1/Semantic-Feature-Augmentation-in-Few-shot-Learning

Abstract

  人类能够从有限样本中快速识别和学习新的视觉概念,使其能够迅速适应新任务和环境。这种能力源于将新概念与已学习并存储在记忆中的概念进行语义关联。计算机可以通过使用语义概念空间来获得类似的能力。概念空间是一个高维语义空间,其中相似的抽象概念相距较近,而不相似的概念则相距较远。在本文中,我们提出了一种基于这一核心思想的新颖单样本学习方法。我们的方法学习将一个新样本实例映射到一个概念上,将该概念与概念空间中的现有概念关联起来,并利用这些关系,通过概念间的插值生成新实例,以帮助学习。我们没有合成新的图像实例,而是提出直接通过利用语义合成实例特征的方法,采用一种我们称为双重 TriNet 的新型自编码器网络。TriNet 的编码器部分学习将来自 CNN 的多层视觉特征映射到语义向量。在语义空间中,我们搜索相关概念,这些概念随后由 TriNet 的解码器部分投影回图像特征空间。我们在语义空间中探索了两种策略。值得注意的是,这种看似简单的策略在图像特征空间中产生了复杂的增强特征分布,从而显著提高了性能。

1 INTRODUCTION

  机器学习,特别是深度学习的最新成功,在很大程度上依赖于训练过程,而这些训练过程需要每个类别中数百甚至数千个标记的训练实例。然而,在实际中,获取大量标记样本可能极为昂贵,甚至不可行,例如对于稀有物体或难以观察的物体而言。相反,人类在看到少数训练样本后便能轻松学习识别新的物体类别1。受此能力的启发,小样本学习旨在从少数甚至单个样本中构建分类器。

  在小样本学习设置中,学习优秀分类器的主要障碍是缺乏训练数据。因此,小样本学习的一种自然方法是首先以某种方式扩充数据。已经探索了多种数据扩充方法。先前的研究中采用的主流方法是为每个类别获得更多图像2,并将其用作训练数据。这些额外的扩充训练图像可以从未标记的数据3或其他相关类别4 5 6 7 中借用,以无监督或半监督的方式获取。然而,来自相关类别的扩充数据通常在语义上是嘈杂的,可能导致负迁移,从而导致性能下降而非提升。另一方面,从虚拟示例生成的合成图像8 9 10 11 12 13 在语义上是准确的,但需要仔细的领域适应,以将知识和特征迁移到真实图像域。为了避免直接生成合成图像的困难,更希望在特征空间本身中扩充样本。

  例如,最新的深度卷积神经网络(CNN)以分层结构堆叠多个特征层;我们假设,在这种情况下,特征扩充可以在由 CNN 层生成的特征空间中完成。尽管在概念上具有明显的优势,但特征扩充技术相对较少被探索。少数例子包括12 13 14。值得注意的是,文献1213中采用了物体部分的特征块(例如 HOG),并将它们组合以合成新的特征表示。Dixit 等人14 首次考虑了属性引导的扩充来合成样本特征。然而,他们的工作依赖于一组预定义的语义属性。

  一种直接扩充图像特征表示的方法是对每个训练图像的特征表示添加随机(向量)噪声。然而,这种简单的扩充过程可能无法显著提升决策边界的质量。人类学习启发我们在概念空间中搜索相关信息。我们的核心思想是利用额外的语义知识,例如通过使用诸如 Google 的 word2vec 等语言模型预训练的语义空间来封装这些知识15。在这种语义流形中,类似的概念往往具有相似的语义特征表示。整体空间呈现语义连续性,这使得它非常适合用于特征扩充。

  为了利用这种语义空间,我们提出了一种双重 TriNet 架构 g ( x ) = g D e c ∘ g E n c ( x ) g(x) = g_{Dec} \circ g_{Enc}(x) g(x)=gDecgEnc(x),用于学习多层图像特征与语义空间之间的转换。双重 TriNet 与 18 层残差网络(ResNet-18)16 配对;其包含编码器 TriNet g E n c ( x ) g_{Enc}(x) gEnc(x) 和解码器 TriNet g D e c ( x ) g_{Dec}(x) gDec(x)。具体而言,给定一个训练实例,我们可以使用 ResNet-18 来提取不同层次的特征。 g E n c ( x ) g_{Enc}(x) gEnc(x) 高效地将这些特征映射到语义空间。在语义空间中,投影的实例特征可以通过添加高斯噪声进行扰动,或用其最近的语义词向量替代。我们假设在语义空间中对特征值进行微小调整,可以在保持语义信息的同时涵盖潜在类别的多样性。解码器 TriNet g D e c ( x ) g_{Dec}(x) gDec(x) 随后被调整以将扰动后的语义实例特征映射回多层(ResNet-18)特征空间。值得注意的是,语义空间中的高斯扩充/扰动最终在原始特征空间中产生高度非高斯的扩充。这是语义空间扩充的核心优势。通过使用三种经典的监督分类器,我们展示了扩充特征可以提升小样本分类的性能。

  贡献。我们的贡献主要体现在以下几个方面。首先,我们提出了一种简单而优雅的深度学习架构:ResNet-18+双重 TriNet,用于小样本分类的高效端到端训练。其次,我们展示了所提出的双重 TriNet 可以有效地扩充由 ResNet-18 多个层生成的视觉特征。第三,有趣的是,我们表明可以利用各种类型的语义空间,包括语义属性空间、语义词向量空间,甚至是由类别语义关系定义的子空间。最后,在四个数据集上进行的大量实验验证了所提出方法在解决小样本图像识别任务中的有效性。

2 RELATED WORK

2.1 Few-Shot Learning

  小样本学习的灵感来自于人类能够从少量实例中学习新概念的能力17 18。能够通过仅一个或少量示例识别并推广到新类别19,超出了典型机器学习算法的能力,这些算法通常依赖于数百甚至数千个训练示例。总体而言,解决此类挑战的方法可分为两类:

  直接基于监督学习的方法,直接通过实例学习(例如 K 最近邻)、非参数方法20 21 22、深度生成模型23 24 或贝叶斯自编码器25来学习单样本分类器。与我们的工作相比,这些方法使用丰富的生成模型类来解释观察到的数据,而不是像我们提出的那样直接扩充实例特征。

  基于迁移学习的方法,则通过学习如何学习的范式1 或元学习26 来探索。具体来说,这些方法利用辅助数据的知识,通过共享特征19 27 28 29 30 31、语义属性32 33 34 或上下文信息35,在少数示例下识别新类别。最近,从源数据中学习度量空间以支持单样本学习的思想得到了广泛探索,例如匹配网络(Matching Networks)36 和原型网络(Prototypical Networks)37。一般来说,这些方法可以大致分为元学习算法(包括 MAML38、Meta-SGD39、DEML+Meta-SGD40、META-LEARN LSTM41、Meta-Net42、R2-D243、Reptile44、WRN45)和度量学习算法(包括 Matching Nets36、PROTO-NET37、RELATION NET46、MACO47 和 Cos & Att.48)。在文献49 50中,他们维护了用于连续学习的外部记忆。MAML51 可以学习良好的初始神经网络权重,使其易于针对未见过的类别进行微调。文献52 使用图神经网络通过支持图像向测试图像传递消息进行推理。TPN53 提出了一种用于推导的框架,从而解决了数据匮乏的问题。Multi-Attention54 利用语义信息生成注意力图来帮助单样本识别,而我们直接在语义空间中扩充样本并将其映射回视觉空间。

  相较于这些工作,我们的框架是正交但具有潜在的实用性——在应用此类方法之前扩充新类别的实例特征是有用的。

2.2 增强训练实例

  标准的增强技术通常直接应用于图像域中,例如翻转、旋转、加噪声和随机裁剪图像2 55 56。最近,已经研究了更高级的数据增强技术以训练监督分类器。特别是,增强的训练数据也可以用于缓解实例稀缺的问题,从而避免在单样本/小样本学习设置中过拟合。先前的方法可以分为六类:

(1) 通过在半监督或传导式设置下利用大量未标记数据的流形信息来学习单样本模型3
(2) 从现成的训练模型中自适应地学习单样本分类器4 5 6
(3) 从相关类别7 57 或语义词汇58 59 中借用示例以扩充训练集;
(4) 通过渲染虚拟示例8 9 10 11 60、合成表示12 13 61 62 63 64 或扭曲现有训练示例2来合成额外的标记训练实例;
(5) 使用生成对抗网络(GANs)生成新示例65 66 67 68 69 70 71 72 73
(6) 属性引导的增强(AGA)和特征空间传递14 74,在所需的数值、姿势或强度下合成样本。

  尽管研究广泛,先前的方法可能存在以下几个问题:
(1) 半监督算法依赖于流形假设,但该假设在实际中难以有效验证;
(2) 当现成模型或相关类别与单样本类别差异较大时,迁移学习可能会受到负迁移的影响;
(3) 渲染、合成或扭曲现有训练示例可能需要领域专业知识;
(4) 基于 GAN 的方法主要关注学习优质生成器,以合成“逼真”图像来“欺骗”判别器。合成图像不一定保留判别信息。

  与此相反,我们的网络结构直接在视觉特征域中合成判别性实例。AGA14 主要利用 3D 深度或姿势信息的属性进行增强;相比之下,我们的方法还可以利用语义信息来扩充数据。此外,所提出的双重 TriNet 网络可以有效地增强多层特征。

2.3 Embedding Network structures

  视觉-语义嵌入的学习已通过多种方式进行了探索,包括神经网络(例如,孪生网络(Siamese network)75 76)、判别方法(例如,支持向量回归器(SVR)32 77 78)、度量学习方法36 79 80 或核嵌入方法27 81。一种最常见的嵌入方法是将视觉特征和语义实体投影到一个新的公共空间中。然而,在处理 CNN 的不同层的特征空间时,以往的方法必须为每一层学习一个单独的视觉-语义嵌入。与此相反,所提出的双重 TriNet 可以有效地为多层特征空间学习一个统一的视觉-语义嵌入。

  梯度网络(Ladder Networks)82 利用横向连接作为自编码器进行半监督学习任务。在文献83 中,作者融合了不同网络的不同中间层,以提高图像分类性能。深层聚合(Deep Layer Aggregation)84 通过聚合网络中的各层和模块来更好地融合层间信息。我们的方法不同于学习特定的聚合节点来合并不同层次的特征;我们的双重 TriNet 直接在编码-解码结构中变换、重新缩放并连接不同层的特征。

3 用于语义数据增强的双重 TriNet 网络

3.1 Problem setup

  在单样本学习中,我们给定基础类别 C b a s e C_{base} Cbase 和新类别 C n o v e l C_{novel} Cnovel C b a s e ∩ C n o v e l = ∅ C_{base} \cap C_{novel} = \emptyset CbaseCnovel=),其总类别标签集为 C = C b a s e ∪ C n o v e l C = C_{base} \cup C_{novel} C=CbaseCnovel。基础类别 C b a s e C_{base} Cbase 具有充足的标记图像数据,并且我们假设基础数据集 D b a s e = { I b a s e ( i ) , z b a s e ( i ) , u b a s e z i } i = 1 N b a s e D_{base} = \{I_{base}^{(i)}, z_{base}^{(i)}, u_{base}^{z_i}\}_{i=1}^{N_{base}} Dbase={ Ibase(i),zbase(i),ubasezi}i=1Nbase 包含 N b a s e N_{base} Nbase 个样本。 I b a s e ( i ) I_{base}^{(i)} Ibase(i) 表示原始图像 i i i z b a s e ( i ) ∈ C b a s e z_{base}^{(i)} \in C_{base} zbase(i)Cbase 是来自基础类别集的类别标签; u b a s e z i u_{base}^{z_i} ubasezi 是实例 i i i 在其类别标签上的语义向量。语义向量 u b a s e z i u_{base}^{z_i} ubasezi 可以是语义属性32、语义词向量15 或者任何通过类别的语义关系构建或学习得到的子空间表示。

  对于新类别 C n o v e l C_{novel} Cnovel,我们考虑另一个数据集 D n o v e l = { I n o v e l ( i ) , z n o v e l ( i ) , u n o v e l z i } D_{novel} = \{I_{novel}^{(i)}, z_{novel}^{(i)}, u_{novel}^{z_i}\} Dnovel={ Inovel(i),znovel(i),unovelzi},其中每个类别 z n o v e l ( i ) ∈ C n o v e l z_{novel}^{(i)} \in C_{novel} znovel(i)Cnovel。对于新数据集,我们有一个支持集和一个测试集。支持集 D s u p p o r t = { I s u p p o r t ( i ) , z s u p p o r t ( i ) , u s u p p o r t z i } D_{support} = \{I_{support}^{(i)}, z_{support}^{(i)}, u_{support}^{z_i}\} Dsupport={ Isupport(i),zsupport(i),usupportzi} D s u p p o r t ∈ D n o v e l D_{support} \in D_{novel} DsupportDnovel)由每个新类别的少量训练实例组成。测试集 D t e s t = { I t e s t ( i ) , z t e s t ( i ) , u t e s t z i } D_{test} = \{I_{test}^{(i)}, z_{test}^{(i)}, u_{test}^{z_i}\} Dtest={ Itest(i),ztest(i),utestzi} D t e s t ∈ D n o v e l D_{test} \in D_{novel} DtestDn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值