NeurIPS-2019-adaptive-cross-modal-few-shot-learning

自适应跨模态小样本学习

摘要

基于度量的元学习技术已成功地应用于小样本分类问题。在本文中,我们提出利用跨模态信息来增强基于度量的小样本学习方法。根据定义,视觉特征空间和语义特征空间具有不同的结构。对于某些概念,视觉特征可能比文本特征更丰富、更有区别性。而对其他人来说,情况可能恰恰相反。此外,当图像分类中来自视觉信息的支持有限时,语义表示(从无监督文本语料库中学习)可以提供强大的先验知识和上下文来帮助学习。基于这两种直觉,我们提出了一种根据待学习的新图像类别自适应地组合两种模式信息的机制。通过一系列实验,我们证明了通过这两种模式的自适应组合,我们的模型在所有测试的基准和小样本场景下都比现有的单模态小样本学习方法和模式对齐方法有很大的优势。实验还表明,我们的模型可以有效地调整两种模式的重点。当shot次数非常少时,表现的提高尤其大。

1.Introduction

深度学习方法在语音、语言和视觉等领域取得了重大进展。然而,这些系统通常需要大量的标记数据,这可能是不切实际的或昂贵的获取。在经典的深度学习方法中,有限的标记数据会导致过拟合和泛化问题。另一方面,现有证据表明,人类视觉系统能够在小数据体系中有效运行:人类可以通过利用先验知识和背景,从很少的样本中学习新概念[23,30,46]。 在标记数据点较少的情况下学习新概念的问题通常被称为小样本学习[1,6,27,22] (FSL)。

大多数解决小样本学习的方法都基于元学习范式[43,3,52,13],这是一类专注于学习如何(快速)学习新概念的算法和模型。元学习方法通过学习一个参数化的函数来工作,该函数嵌入了各种学习任务,并可以归纳为新的任务。近年来,在小样本背景下的图像分类研究取得了很大的进展。与此相反,当原始形态中的数据受到限制时,使用来自另一形态的数据会有所帮助。例如,有强有力的证据支持了 语言有助于幼儿识别新的视觉物体的假说[15,45]。这表明,在小样本图像分类的背景下,文本的语义特征可以成为一个强大的信息来源。

当来自视觉模态的数据有限时,**利用辅助模态(**如属性、未标记文本语料库)来帮助图像分类,是由零样本学习驱动的[24,36] (ZSL)。ZSL旨在识别在训练中没有看到样例的类别。与小样本学习相比,零样本学习并没有从原始模态中提取少量标记样本来帮助识别新类。因此,大多数的方法包括在训练中调整这两种模式。通过这种模态对齐,模态被映射到一起,并被迫具有相同的语义结构。这样,在测试]时,辅助模态的知识被转移到新类别的视觉侧。

然而,根据定义,视觉和语义特征空间具有异质结构。对于某些概念,视觉特征可能比文本特征更丰富、更有区别性。而对其他人来说,情况可能恰恰相反。图1说明了这一情况。此外,当支持图像数量非常少时,该模态提供的信息往往是有噪声的和局部的。相反,语义表示(从大型的无监督文本语料库中学习到的)可以作为更普遍的先验知识和上下文来帮助学习。因此,对于在测试过程中两种模式都提供信息的小样本学习,与其对齐两种模式(将知识转移到视觉模式),不如将它们视为两个独立的知识来源,并根据不同的场景自适应地利用这两种模式。为此,我们提出了自适应模态混合机制(Adaptive Modality Mixture Mechanism, AM3),这是一种自适应和选择性地结合两种模态信息(视觉和语义)的方法,用于小样本学习。
在这里插入图片描述
AM3建立在基于指标的元学习方法之上。这些方法通过在学习来的度量空间(从视觉数据)中比较距离来进行分类。在此基础上,我们的方法还利用文本信息来提高分类准确率。AM3在一个自适应凸组合的两种不同的表示空间对图像类别进行分类。通过这种机制,AM3可以利用这两个空间的优势,并相应地调整其重点。对于图1(左)这样的情况,AM3更多地关注语义情态,以获得一般的上下文信息。而对于图1(右)这样的情况,AM3更多地关注于视觉形态,以捕获丰富的局部视觉细节,以学习新概念。

我们的主要研究成果如下:
(i)提出了基于自适应模态混合机制(AM3)的多模态分类方法。通过自适应混合两种模式的语义结构,AM3比情态对齐方法更能适应少小样本学习。
(ii)我们证明了我们的方法在不同的基于指标的元学习方法上取得了相当大的提高。
(iii) AM3在不同数据集和不同shot的小样本分类方面表现出相当大的优势(单模态和交叉模态)。
(iv)我们进行了定量调查,以验证我们的模型能够根据不同的情景有效地调整对两种模式的关注。

2. Related Work

Few-shot学习 元学习在机器学习领域有着卓越的历史[43,3,52]。由于表示学习方法[11]的进步和新的小样本学习数据集的创建[22,53],许多深度元学习方法被用于解决小样本学习问题。这些方法大致可以分为两种主要类型:基于度量的方法和基于梯度的方法。
基于度量的方法旨在学习最小化类内距离的表示,同时最大化不同类之间的距离。这些方法依赖于情景训练框架:模型用子任务(情境)进行训练,其中每个类别只有几个训练样本。例如,匹配网络[53]遵循一个简单的最近邻框架。在每一个情境中,它使用一种注意力机制(在编码支持上)作为one-shot分类的相似性度量。

在原型网络[47]中,我们学习了一个度量空间,其中一个类别查询的嵌入接近同一类别支持的质心(或原型),而远离其他类别的质心。由于这种方法的简单性和良好的性能,许多方法扩展了这项工作。例如,Ren等人[39]提出了一种半监督小样本学习方法,并证明利用无标记样本比纯监督原型网络表现更好。Wang等[54]提出通过生成幻觉例子来增加支持集。依赖任务自适应度量(TADAM)[35]依赖于条件批标准化[5]来提供任务适应(基于视觉特征编码的任务表示)来学习任务依赖度量空间。

基于梯度的元学习方法旨在训练模型,可以很好地泛化到新的任务,而只有少量微调更新。这些方法大多建立在模型不可知的元学习(MAML)框架[7]之上。鉴于MAML的普遍性,最近有许多后续工作提出提高其在小样本学习中的性能[33,21]。Kim等人[18]和Finn等人[8]提出了对变分近似训练的MAML的概率扩展。有条件的类感知元学习(CAML)[16]基于一个度量空间有条件地转换嵌入,该度量空间用原型网络训练来捕获类间依赖关系。潜在嵌入优化(LEO)[41]的目标是解决MAML的问题,仅使用少量更新在低数据状态训练模型在高维参数空间。该模型采用一个低维潜在模型嵌入空间进行更新,然后从低维潜在表示中解码出实际模型参数。这个简单但强大的方法实现了在不同小样本分类benchmark上最好的结果。其他用于小样本学习的元学习方法包括使用内存架构要么存储样训练样本[42]要么直接编码快速自适应算法[38]。Mishra等[32]利用时间卷积来达到同样的目的。
目前,上述方法仅依赖视觉特征来进行小样本分类。我们的贡献是正交于当前的基于度量的方法,并可以集成到他们中提高小样本图像分类性能。

Zero-shot 学习
目前的零样本方法主要依赖于视觉辅助模态对齐[9,58]。在这些方法中,来自两种模态的同一类的样本被映射在一起,因此两种模态获得相同的语义结构。模态对齐方法主要有三大类:表示空间对齐、表示分布对齐和数据综合对齐。

表示空间对齐方法要么将视觉表示空间映射到语义表示空间[34,48,9],要么将语义空间映射到视觉空间[59]。分布对齐方法侧重于使两种模式的对齐在看不见的数据[44]上更加健壮和平衡。修改[14]使两个表示空间的分布的最大平均差异(MMD)最小化,使它们对齐。CADA-V AE[44]使用两个VAEs[19]来嵌入两种模式的信息,并对齐两个潜在空间的分布。数据合成方法依靠生成模型生成图像或图像特征作为不可见数据的数据增强[60,57,31,54],来训练映射函数进行更稳健的对齐。

ZSL在学习新概念时没有任何视觉信息。因此,ZSL模型只能将这两种模式结合起来。这样,在测试过程中,图像查询可以直接与分类[59]的辅助信息进行比较。另一方面,小样本学习在测试过程中获得了原始形态中的少量支持图像。这使得来自ZSL的对齐方法看起来没有必要,而且对于FSL来说太死板了。对于小样本学习,最好能保留这两种学习模式的不同结构,并根据不同的场景自适应地组合来进行分类。在第4节中,我们展示了通过这样做,AM3在少量镜头学习中比直接应用模态对齐方法的性能要好很多。

3. Method

在本节中,我们将解释AM3如何自适应地利用文本数据来改进Few-shot图像分类。我们首先简单解释Few-shot的情景训练(episodic training),并对原型网络进行了总结,然后描述了所提出的适应性模态混合机制。

3.1 Preliminaries 预先准备

3.1.1 Episodic Training

Few-shot 学习模型在有标签的数据集 D train  \mathcal{D}_{\text {train }} Dtrain 训练和在 D test \mathcal{D}_{\text {test}} Dtest上测试得来。 D train  \mathcal{D}_{\text {train }} Dtrain  D trest \mathcal{D}_{\text {trest}} Dtrest各自的类的集合是没有交集的。测试集中每个类别只有几个带标签的样本。大多数成功的方法依赖于情景训练模式:在训练过程中,通过从大标记集 D train  \mathcal{D}_{\text {train }} Dtrain 上取样小样本来模拟测试时面临的Few-shot。

一般来说,模型是在 K K K-shot, N N N-way的情境(episode)上进行训练的。每个情境 e e e是这样创建的:首先从训练集中采样 N N N个类别,然后根据这些类别分布采样两组图像:
(i)支持集 S e = { ( s i , y i ) } i = 1 N × K \mathcal{S}_{e}=\left\{\left(s_{i}, y_{i}\right)\right\}_{i=1}^{N \times K} Se={ (si,yi)}i=1N×K,包括 N N N个类别,每个类别有 K K K个样本
(ii)查询集 Q e = { ( q j , y j ) } j = 1 Q \mathcal{Q}_{e}=\left\{\left(q_{j}, y_{j}\right)\right\}_{j=1}^{Q} Qe={ (qj,yj)}j=1Q包含 N N N个类别不同的样本。
N类的训练集,然后取样两组图像从这些类别:(i)支持设置Se ={(是的,彝族)}N×K i = 1包含N K为每个例子的类别和(2)查询设置量化宽松= {(qj、yj)}问j = 1包含不同的例子从相同的N类别。

在给定支持集的情况下,逐情境,最小化查询集中样本预测的损失,从而实现对Few-shot分类的情景训练。该模型是一个参数化函数,损失是每个查询样本的真实类的负对数似然:
L ( θ ) = E ( S e , Q e ) − ∑ t = 1 Q e log ⁡ p θ ( y t ∣ q t , S e ) (1) \mathcal{L}(\theta)=\underset{\left(\mathcal{S}_{e}, \mathcal{Q}_{e}\right)}{\mathbb{E}}-\sum_{t=1}^{Q_{e}} \log p_{\theta}\left(y_{t} \mid q_{t}, \mathcal{S}_{e}\right) \tag{1} L(θ)=(Se,Qe)Et=1Qelogpθ(ytqt,Se)(1)
其中, ( q t , y t ) \left(q_{t}, y_{t}\right) (qt,yt)各自属于情境 e e e的查询集 Q e \mathcal{Q}_{e} Qe和支持集和 S e \mathcal{S}_{e} Se θ \theta θ是模型的参数。

3.1.2 Prototypical Networks原型网络

我们的模型建立在基于度量的元学习方法之上。由于原型模型的简单性,我们选择了它[47]来解释我们的模型。然而,我们注意到,所提出的方法可能在应用于任何基于度量的方法。

原型网络使用支持集为每个类别(由采样得来的episode)计算质心(原型),查询样本根据到每个原型的距离进行分类。该模型是一个卷积神经网络[26] f : R n v → R n p f: \mathbb{R}^{n_{v}} \rightarrow \mathbb{R}^{n_{p}} f:RnvRnp,通过 θ f \theta_{f} θf参数化,学习一个 n p n_p np维空间,其中同一类别的样本距离很近,而不同类别的样本距离很远。

对于每一个情境 e e e,每个嵌入原型 p c p_c pc(类别为 c c c)通过类 c c c的所有支持样本嵌入的平均值计算:
p c = 1 ∣ S e c ∣ ∑ ( s i , y i ) ∈ S e c f ( s i ) , (2) \mathbf{p}_{c}=\frac{1}{\left|S_{e}^{c}\right|} \sum_{\left(s_{i}, y_{i}\right) \in \mathcal{S}_{e}^{c}} f\left(s_{i}\right), \tag{2} pc=Sec1(si,yi)Secf(si)(2)
其中 S e c ⊂ S e \mathcal{S}_{e}^{c} \subset \mathcal{S}_{e} SecSe,是类别 c c c的子支持集。

该模型根据查询 q t q_t qt(类别为 c c c)到所有嵌入原型的嵌入(负)距离 d d d的softmax[4]生成 N N N个类别的分布:

p ( y = c ∣ q t , S e , θ ) = exp ⁡ ( − d ( f ( q t ) , p c ) ) ∑ k exp ⁡ ( − d ( f ( q t ) , p k ) ) . (3) p\left(y=c \mid q_{t}, S_{e}, \theta\right)=\frac{\exp \left(-d\left(f\left(q_{t}\right), \mathbf{p}_{c}\right)\right)}{\sum_{k} \exp \left(-d\left(f\left(q_{t}\right), \mathbf{p}_{k}\right)\right)} . \tag{3} p(y=cqt,Se,θ)=kexp(d(f(qt),pk))exp(d(f(qt),pc)).(3)

我们认为 d d d是欧几里德距离。通过最小化等式1对模型进行训练,并用随机梯度下降法更新参数。

3.2 Adaptive Modality Mixture Mechanism

语义概念所包含的信息与视觉内容有很大的不同。例如,“西伯利亚哈士奇“和“狼”,或者“科蒙多”和“拖把”,可能很难通过视觉特征区分,但可能更容易通过语言语义特征区分。

在zero-shot学习中,在测试时没有给出任何视觉信息(也就是说,不存在支持集,算法只需要依赖辅助形式(例如,文本)。另一个极端是,当标记图像样本数量较大时,神经网络模型往往忽略辅助模态,因为它能够很好地泛化大量的样本[20]。

Few-shot学习场景正好介于这两个极端之间。因此,我们假设视觉信息和语义信息都可以用于Few-shot的学习。此外,鉴于视觉空间和语义空间具有不同的结构,我们希望所提出的模型能够在不同的场景下自适应地利用这两种模式。例如,当它遇到像“乒乓球”这样的物体时,它有许多视觉上相似的对应物,或者当shot的数量从视觉角度来看非常小时,它更多地依赖于文本模态来区分它们。

在AM3中,我们增加了基于度量的FSL方法,加入了由单词嵌入模型 W \mathcal{W} W(在无监督的大文本语料库上预先训练)学习的语言结构,在 D train  ∪ D test  \mathcal{D}_{\text {train }} \cup \mathcal{D}_{\text {test }} Dtrain Dtest 中包含所有类别的标签嵌入。在我们的模型中,我们通过考虑它们的标签嵌入来修改每个类别的原型表示。

更具体地说,我们将新的原型表征建模为两种形态的凸组合。也就是说,对于每个类别 c c c,新的原型计算如下:
p c ′ = λ c ⋅ p c + ( 1 − λ c ) ⋅ w c (4) \mathbf{p}_{c}^{\prime}=\lambda_{c} \cdot \mathbf{p}_{c}+\left(1-\lambda_{c}\right) \cdot \mathbf{w}_{c} \tag{4} pc=λcpc+(1λc)wc(4)

其中 λ c \lambda_{c} λc是自适应混合系数(以类别为条件), w c = g ( e c ) \mathbf{w}_{c}=g\left(\mathbf{e}_{c}\right) wc=g(ec)是第c类的标签嵌入的转换版本。 e c \mathbf{e}_{c} ec表示为来着预先训练的 W \mathcal{W} W表达的标签 c c c的单词嵌入。由 θ g \theta_{g} θg参数化的 g : R n w → R n p g: \mathbb{R}^{n_{w}} \rightarrow \mathbb{R}^{n_{p}} g:RnwRnp对于保证两种模态都位于同维空间 R n p \mathbb{R}^{n_{p}} Rnp上并可以组合起重要作用。系数 λ c \lambda_{c} λc以类别为条件,计算如下:
λ c = 1 1 + exp ⁡ ( − h ( w c ) ) , (5) \lambda_{c}=\frac{1}{1+\exp \left(-h\left(\mathbf{w}_{c}\right)\right)}, \tag{5} λc=1+exp(h(wc))1,(5)其中 h h h为自适应混合网络,参数为 θ h \theta_{h} θh。图2(左)说明了所提议的模型。混合系数 λ c \lambda_{c} λc可以由不同的变量决定。在附录F中,我们展示了当混合系数受不同变量影响时,性能是如何变化的。
在这里插入图片描述
训练过程与原始原型网络相似。然而,距离 d d d(用于计算每个图像查询在类上的分布)是查询和跨模式原型 p c ′ \mathbf{p}_{c}^{\prime} pc之间的距离:
p θ ( y = c ∣ q t , S e , W ) = exp ⁡ ( − d ( f ( q t ) , p c ′ ) ) ∑ k exp ⁡ ( − d ( f ( q t ) , p k ′ ) ) (6) p_{\theta}\left(y=c \mid q_{t}, S_{e}, \mathcal{W}\right)=\frac{\exp \left(-d\left(f\left(q_{t}\right), \mathbf{p}_{c}^{\prime}\right)\right)}{\sum_{k} \exp \left(-d\left(f\left(q_{t}\right), \mathbf{p}_{k}^{\prime}\right)\right)} \tag{6} pθ(y=cqt,Se,W)=kexp(d(f(qt),pk))exp(d(f(qt),pc))(6)
其中参数为 θ = { θ f , θ g , θ h } \theta=\left\{\theta_{f}, \theta_{g}, \theta_{h}\right\} θ={ θf,θg,θh}。同样,通过最小化等式1来训练模型。注意,在这种情况下,概率也取决于单词的嵌入 W \mathcal{W} W

图2(右)举例说明了所建议的方法如何工作。算法1,在补充材料上,显示了计算情境损失的伪代码。我们选择了原型网络[47]来解释我们的模型,因为它很简单。然而,我们注意到AM3可以潜在地应用于任何基于度量的方法,用于计算类别的原型嵌入 p c \mathbf{p}_{c} pc。如下一节所示,我们在ProtoNets和TADAM[35]上应用AM3。TADAM是一种任务依赖的基于度量的few-shot学习方法,目前在所有基于度量的FSL方法中表现最好。

4. Experiments

在本节中,我们将我们的模型AM3与三种不同类型的baselines进行比较:单模态few-shot学习方法、模态对齐方法和基于度量的模态对齐方法的扩展。我们证明了AM3优于每一个baseline家族的技术水平。我们还通过定量分析验证了AM3的适应性。

4.1 Experimental Setup

我们用两个广泛使用的few-shot学习数据集miniImageNet[53]和tieredImageNet[39]进行了主要的实验。我们还在cub - 200[55]上进行了实验,这是一个广泛使用的zero-shot学习数据集。我们对这个数据集进行评估,以提供与模式对齐方法更直接的比较。这是因为大多数模式对齐方法没有在少量数据集上发表结果。我们使用Glo Ve[37]在两个专门为few-shot学习的图像数据集上提取了类别标签进行词嵌入。嵌入使用大型的无监督文本语料库进行训练。
关于这三个数据集的更多细节可以在附录B中找到。
Baselines. 我们将AM3与三组方法进行了比较。第一种是单模态的few-shot学习方法,如MAML[7]、LEO[41]、Prototypical Nets[47]和TADAM[35]。LEO是目前单模态方法中最先进的一种。第二个方面是模态对齐方法。其中,CADA-V AE[44]在zero-shot学习和few-shot学习方面的发表结果都是最好的。为了更好地将模态对齐方法扩展到few-shot场景设置,我们还在视觉方面应用了基于度量的损失和ProtoNets的情境训练,构建了一个更适合few-shot场景的视觉表示空间。这就是第三条基线,模态对齐方法扩展到基于度量的FSL。
baseline实现的细节可以在附录C中找到。

AM3 Implementation. 我们用两种基于主干度量的few-shot学习方法来测试AM3: ProtoNets和TADAM。在我们的实验中,我们使用了更强的[35]的ProtoNets实现,我们称之为protonet++。在AM3之前,TADAM在所有基于指标的几杆few-shot学习方法中达到了最好水平。有关网络架构、培训和评估程序的详细信息,请参见附录D。源代码发布在https://github.com/ElementAI/am3

4.2 Results

表1和表2分别显示了miniImageNet和tieredImageNet的分类精度。我们从这些实验中得出了多种结果。首先,AM3在所有测试案例中都优于其主干方法。这表明,如果使用得当,文本模态可以非常有效地提高基于度量的few-shot学习框架的性能。
其次,AM3(具有TADAM骨干)取得的结果优于当前的技术水平(无论单模态FSL还是模态对齐方法)。在one-shot场景中,表现差距尤其大。AM3 w.r.t.单模态方法的边界随shot次数的减少而增大。这说明视觉内容越低,语义信息对分类越重要。此外,AM3 w.r.t.模态对齐方法的边界随shot次数的减少而增大。这说明当视觉形态提供的信息较少时,AM3的适应性更强。关于AM3的适应性的更详细的分析在4.3节中提供。
在这里插入图片描述

在这里插入图片描述
最后,值得注意的是,当扩展到基于度量的、情境的、小样本学习框架时,所有的模态对齐基线都会得到显著的性能改进。然而,大多数模态对齐方法(基本的的和扩展的),表现不如目前最先进的few-shot少镜头学习方法。这表明,虽然模态对齐方法在ZSL中对交叉模态是有效的,但它不太适合few-shot场景。一个可能的原因是,当两种模式对齐时,来自双方的一些信息可能会丢失,因为两个不同的结构被迫对齐。

我们还在ZSL数据集的常用数据库CUB-200上进行了小样本学习实验,以便更好地与已发表的模态对齐方法的结果进行比较。上面讨论的所有结论都适用于CUB-200。此外,我们还进行了ZSL和广义FSL实验来验证所提出的自适应机制的重要性。该数据集上的结果见附录E。

4.3 Adaptiveness Analysis适应性分析

我们认为适应性机制是上一节中观察到的性能提高的主要原因。我们设计了一个实验来定量验证AM3的自适应机制能够合理有效地调节其对两种模态的聚焦。

图3(a)显示了我们的模型与在miniImageNet上测试的两个骨干(ProtoNets++和TADAM)在1-10shot场景下的准确性。从图中可以看出,随着shot次数的增加,AM3与相应主干之间的间隙逐渐减小。图3(b)显示了不同shot和骨干的混合系数 λ \lambda λ的平均值和标准差(在整个验证集上)。
在这里插入图片描述
首先,我们观察到 λ \lambda λ的平均值与shot次数相关。这意味着AM3会随着shot数量(视觉数据点的数量)的减少而更加重视文本形式(而较少重视视觉形式)。这一趋势表明,当视觉方面的信息非常少,AM3可以自动调整其焦点更多的文本情态,以帮助分类。其次,我们还可以观察到 λ \lambda λ的方差(如图3(b)所示)与AM3及其主干方法的性能差距相关(如图3(a)所示)。当 λ \lambda λ的方差随着shot次数的增加而减小时,性能差距也随之减小。这说明AM3在类别水平上的适应性对性能的提升起着非常重要的作用。

5 Conclusion

本文提出了一种能自适应有效利用跨模态信息进行小样本分类的方法。所提出的AM3方法,在不同的数据集和设置下,大大提高了基于度量的方法的性能。此外,通过利用无监督文本数据,AM3在小样本分类方面的性能大大优于现有技术水平。文本语义特征在非常低(可视)的数据机制(one-shot)上特别有用。我们还进行了定量实验,证明AM3可以合理有效地调整其对两种模态的中心。

References

。。。。

猜你喜欢

转载自blog.csdn.net/qq_37252519/article/details/117626759