【论文阅读】Learning dynamic alignment via meta-filter for few-shot learning

在这里插入图片描述

通过元滤波器学习动态对齐以实现小样本学习
引用:Xu C, Fu Y, Liu C, et al. Learning dynamic alignment via meta-filter for few-shot learning[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021: 5182-5191.
论文地址:下载地址
论文代码:https://github.com/chmxu/Dynamic-Meta-filter

Abstract

  小样本学习(Few-shot Learning, FSL)旨在通过极其有限的小样本(支持集)示例,适应已学到的知识来识别新类别,仍然是计算机视觉中的一个重要开放问题。现有的大多数小样本学习中的特征对齐方法仅考虑图像级别或空间级别的对齐,而忽略了通道差异。我们的观点是,这些方法会导致冗余匹配,从而导致适应性差,而利用通道级别的调整是将学到的知识有效适应到新类别的关键。因此,本文提出了一种动态对齐学习方法,可以根据不同的局部支持信息有效地突出查询区域和通道。具体而言,这是通过首先基于输入的小样本动态采样特征位置的邻域来实现的,基于此,我们进一步预测一个既依赖位置又依赖通道的动态元滤波器。该滤波器用于将查询特征与特定位置和特定通道的知识进行对齐。此外,我们采用神经常微分方程(Neural Ordinary Differential Equation, ODE)来实现对齐的更精确控制。从这个意义上讲,我们的模型能够更好地捕捉小样本示例的细粒度语义上下文,从而促进小样本学习的动态知识适应。最终,该框架在主要的小样本视觉识别基准测试(包括miniImageNet和tieredImageNet)上建立了新的最先进成果。

1. Introduction

  深度学习模型在许多计算机视觉任务中表现出色,例如图像识别 1 2 3 和目标检测 4 5。然而,它们高度依赖大量标注的训练数据,并且难以将学到的知识转移到未见过的类别。例如,一个在MSCOCO 6 上训练了80个类别的目标检测器,可能无法检测到新的“鼠标”类别。这严重限制了它们在现实世界中对长尾类别开放式学习的扩展性。相比之下,学习来自极为有限(例如,只有一个或少量)示例的能力是人类的重要特征。例如,孩子们仅通过看一眼图片或听到“像鹿但有长脖子”的描述,就能够毫不费力地形成“长颈鹿”这一概念。

  基于以上观察,近年来,关于小样本学习(Few-shot Learning, FSL)的研究兴趣重新兴起 7 8 9 10 11。FSL旨在通过极其有限的小样本(支持集)示例,适应学到的知识来识别新类别。最简单的基线方法是通过深度卷积神经网络学习一个判别性的特征表示,然后将查询特征与最近的支持特征进行比对,并赋予其类别标签。作为替代方案,提出了可学习度量的方法,如RelationNet 11,其中一个由多个神经网络层组成的二分类器用于计算两张图像之间的相似度。在这样的框架中,分类时并没有针对特定查询图像和不同支持图像进行更有价值的信息探索,这导致了较差的泛化能力。尽管近期有一些研究致力于FSL中的特征对齐,例如CAN 12 和FEAT 13,这些方法通过聚合支持知识来规范查询样本的对齐函数,但我们认为这些方法主要存在以下几个缺点:

  (1) 粗糙性。由于小样本学习中的知识有限,每个通道在将支持特征与查询特征进行比较时都会对预测产生贡献。此外,由于提取的特征空间分辨率较低,空间位置之间的信息差异远小于每个查询特征中通道之间的信息差异。然而,像CAN和FEAT这样的算法并未关注通道级别的信息。例如,如图 1 所示,当空间特定对齐能为目标物体中的红色框设置较大的权重时,这个较大的权重会同时分配给学习良好的通道和学习不充分的通道。这会导致在对齐后的整体特征中,该区域的信号较弱。相反,通道特定对齐依赖于每个通道的质量,从而能够对通道 2 设置较低的权重,进而得到更好的整体特征。

在这里插入图片描述
图 1.虽然基于位置的对齐无法消除学习不好的通道的负面影响,但基于通道的对齐可以。CAN 指的是跨注意力网络 12,它是少样本学习(FSL)中的一种基于位置的对齐模型。

  (2) 冗余匹配。在支持知识中存在大量冗余。例如,当分类一个包含目标物体的位置时,如果有几个区域也包含该物体,那么仅与其中一个区域进行比较就足够了。然而,现有方法在对齐每个查询位置时会利用整个支持特征,这效率较低。

  (3) 不灵活的对齐。这些方法中的对齐策略只针对所有任务运行一次。因此,对于那些较为困难的任务,现有的对齐可能不足以将支持知识适当地嵌入到查询特征中。

  因此,为了解决这些问题,本文提出了一种新颖的动态特征对齐策略。具体来说,我们采用动态滤波器 14 15 来解决这个问题。我们首先基于每个位置的小邻域预测一个动态元滤波器,该滤波器具有位置特定和通道特定的滤波器权重。这个滤波器可以包含足够的信息,告知模型需要突出显示的重要区域和通道。因此,应用该滤波器对查询特征进行对齐,将产生更有效的表示,进而有利于识别。同时,使用邻域而不是直接使用整个支持特征,减少了知识源的数量和冗余。

  为了解决固定邻域带来的问题,我们采用了一种动态采样策略,使得所有特征位置可以通过学习一个偏移量(该偏移量由输入的小样本对来决定)来进行选择。直观地说,这种学习到的采样方式使网络能够更好地捕捉小样本示例的基于位置的语义上下文。

  为了进一步使对齐更加适应更困难的任务,一种直接的方式是通过重复对齐的过程,递归地将支持知识应用到查询特征中。然而,通过固定超参数来控制对齐的程度对于不同的任务来说是困难的。因此,我们将递归对齐的直觉方法修改为自适应的方式,使用神经常微分方程(Neural ODE),使残差对齐过程连续进行,并采取自适应的步长来获得对应常微分方程的最终解。

  在获得对齐后的查询特征后,我们利用一个元分类器来获得最终预测,其中支持知识通过不可学习的操作进行聚合,形成一个分类器,这可以避免学习型分类器完全依赖于元训练集并且不能很好地适应新类别数据的问题。

  本文的贡献如下:

  1. 我们提出了学习一种新颖的动态元滤波器,以实现小样本学习中更有效和高效的特征对齐。
  2. 我们引入了动态采样和分组策略,进一步提升了基本动态元滤波器的灵活性和效率。
  3. 神经常微分方程(Neural ODE)首次被应用于帮助模型获得更好的小样本学习表示。

2. Related work

  少样本识别。少样本学习(FSL)是一个日益热门的研究课题,旨在通过一组数据(基础类)学习模式,并通过有限的训练数据适应一个不重叠的类别集(新类别)。少样本图像分类是其中最受关注和研究的方向。解决这个问题主要有两种方法。一种是基于优化的方法 16 17 18 19 20,该方法首先使用基础类数据训练网络,然后使用来自未见类别的支持数据对分类器或整个网络进行微调。

  另一方面,基于度量的方法旨在通过对图像提取特征应用现有的或学习到的度量来解决少样本学习问题。MatchingNet 9 采用内存模块来合并每个任务中的信息,并使用余弦距离作为度量来分类未见数据。ProtoNet 10 提出了原型作为每个类别的简单表示,并采用欧几里得距离作为度量。RelationNet 11 使用网络学习输入少样本对之间的关系,该关系被视为相似度。基于RelationNet的CAN 12 学习了一个注意力模块,以突出正确的兴趣区域,从而帮助更好的分类。我们模型与现有基于度量的方法的主要区别在于,我们提出了动态采样局部上下文,并基于此学习位置和通道依赖的关系,这是之前从未探索过的。

  动态采样。以恰当的方式采样局部上下文已经在文献中研究了很长时间。在深度学习崛起之前,SIFT 21 和 DPM 22 尝试构造良好的自适应核。在深度学习时代,卷积核以统一的方式采样对应位置的邻域。例如,对于3 × 3的卷积核,采样了统一的9邻域。尽管这一策略为卷积神经网络(CNNs)的成功铺平了道路,但在捕捉基于位置的语义上下文时仍然存在局限。我们的方法与可变形卷积 23 相关,其中,采用的是为每个位置学习特定区域,而不是统一的采样。我们模型与现有模型的一个根本区别在于,它们仅学习依赖于输入特征的偏移量,而滤波器权重对所有输入都是固定的。相比之下,我们的模型学习偏移量来采样特征位置的邻域。然后,根据采样的邻域预测位置和通道依赖的滤波器。直观地讲,这种学习的采样方法使得网络能够更好地捕捉少样本示例的基于位置的语义上下文。

  输入依赖权重。输入依赖权重的基本思想是通过另一个可学习模块来控制模型权重,而不是直接优化权重。 14 提出了“动态卷积”的思想,即为每个特征位置预测一个动态卷积滤波器。HyperNet 24 构建了一个附加模块,为RNN生成输入依赖的权重。25 首先将这一思想引入到FSL中。8 提出了在测试阶段基于预训练的分类器权重和输入信息生成最终分类器权重。26 在测试阶段将几个新滤波器插入到顶部层,同时冻结模型的其他部分。新增的权重使用支持数据进行微调。27 旨在通过附加的子网络将激活和分类器权重联系起来。与上述生成输入依赖或类别依赖权重的工作不同,我们关注的是查询图像中不同位置和通道之间的局部信息和差异。我们的模型能够生成位置和通道特定的滤波器权重,特别有利于我们建模每个特征位置的目标类别上下文,从而带来更有效的少样本分类。

  神经常微分方程。神经常微分方程(Neural ODE)由Chen等人于28中提出,它将残差网络的前向传播视为常微分方程(ODE)的离散形式。在这种情况下,神经网络可以被修改为神经常微分方程,其中引入了一个时间变量来控制输出。有一系列的研究致力于更高效和更鲁棒的神经常微分方程 29 30 31,另外还有一系列研究将神经常微分方程应用于其他任务。例如,ODE2VAE 32 使用神经常微分方程建模高维数据的轨迹,Vid-ODE 33 在视频生成中应用了神经常微分方程。本文首次将神经常微分方程引入到少样本学习中,以帮助学习支持特征和查询特征之间的动态对齐。

3. Problem formulation

  FSL中的数据划分假设不同于常规的监督学习。假设我们有两组数据,元训练集 D s = { ( I i , y i ) , y i ∈ C s } D_s = \{(I_i, y_i) , y_i \in C_s\} Ds={(Ii,yi),yiCs} 和元测试集 D t = { ( I i , y i ) , y i ∈ C t } D_t = \{(I_i, y_i) , y_i \in C_t\} Dt={(Ii,yi),yiCt},分别表示基础类别数据集和新类别数据集。 C s C_s Cs C t C_t Ct 分别表示基础类别集和新类别集( C s ∩ C t = ∅ C_s \cap C_t = \emptyset CsCt=)。FSL的目标是在 D s D_s Ds 上训练一个模型,使其能够很好地泛化到 D t D_t Dt。根据常用的设置,我们可以访问来自 C t C_t Ct 每个类别的少量(例如一个或五个)标记数据。这些标签提供了我们可以用来将从基础类别学到的知识迁移到新类别的监督信息。

  我们遵循之前的方法 10 11 采用 N N N-way K K K-shot 元学习策略。在这里, N N N 表示一个任务中类别的数量, K K K 表示每个类别在支持集中的样本数量。具体来说,我们从 C s C_s Cs 中抽取 N N N 个类别进行训练,从 C t C_t Ct 中抽取 N N N 个类别进行测试,为这些选择的类别各自构造 K K K 个样本,形成支持集 S = { ( I supp i , y supp i ) } S = \{(I_{\text{supp}i}, y_{\text{supp}i})\} S={(Isuppi,ysuppi)}。同样,我们从这 N N N 个类别中抽取 Q Q Q 个数据作为查询集 Q = { ( I q i , y q i ) } Q = \{(I_{q}i, y_{q}i)\} Q={(Iqi,yqi)},且 S ∩ Q = ∅ S \cap Q = \emptyset SQ=

4. Dynamic Alignment Network

  我们的模型如图 2 所示,使用了四个子模块:特征提取器 f emb f_{\text{emb}} femb、动态对齐模块 f d f_{\text{d}} fd、元分类器 f mc f_{\text{mc}} fmc 和全局分类器 f gc f_{\text{gc}} fgc。给定每一对支持图像和查询图像( I supp , I q I_{\text{supp}}, I_q Isupp,Iq),我们首先使用 f emb f_{\text{emb}} femb 提取特征图 X supp = f emb ( I supp ) , X q = f emb ( I q ) X_{\text{supp}} = f_{\text{emb}}(I_{\text{supp}}), X_q = f_{\text{emb}}(I_q) Xsupp=femb(Isupp),Xq=femb(Iq)。每个特征图的大小为 c × h × w c \times h \times w c×h×w,其中 c , h , w c, h, w c,h,w 分别表示通道数、高度和宽度。每个类别的特征可以表示为该类别所有支持特征图的平均值。为简化起见,我们仍然使用 X supp X_{\text{supp}} Xsupp 来表示每个类别的特征图。接下来,动态对齐模块 f d f_{\text{d}} fd,由动态元滤波器和自适应对齐组成,用来将查询特征与位置和通道特定的支持知识进行对齐。最后,元分类器 f mc f_{\text{mc}} fmc 提供调整后的查询特征与相应支持特征之间相似度的置信度分数。同时,全局分类器 f gc f_{\text{gc}} fgc 也被应用于查询特征,以获得真实类别的预测。这些模块都通过少样本分类损失和全局分类损失进行训练。在接下来的章节中,我们首先通过在第 4.1 节中解释简单的对齐模型来描述我们的动态元滤波器,然后在第 4.2 节中从多个角度提出并改进我们的动态元滤波器。接着,我们通过介绍元分类器(第 4.3 节)和一些实现细节(第 4.4 节)来完善整个框架。

在这里插入图片描述图 2. 我们提出的 1-shot 任务模型的示意图。支持特征和查询特征通过骨干网络 f emb f_{\text{emb}} femb 提取。然后,利用这两个特征预测一个偏移图,使用局部知识,该偏移图用于动态采样支持特征,从而为每个查询位置收集有用的信息,以生成动态元滤波器。该滤波器用于对齐查询特征,最终通过元分类器进行分类。GAP 表示全局平均池化(global average pooling)。

4.1. 简单特征对齐

  在提取支持特征和查询特征后,之前的研究表明,基于支持知识对查询特征进行对齐或变换有助于模型过滤出对分类最有帮助的特征部分,从而提高性能。一个简单的对齐可以写成以下形式:

X ^ q = g ( X q , A ( X q , X ) ) \hat{X}_q = g(X_q, A(X_q, X)) X^q=g(Xq,A(Xq,X))

其中 g g g 是对齐操作, A A A 是对齐基础, X X X 是生成 A A A 的知识源。对于 CAN 12 g g g 是乘法, X X X 是单一支持特征,而 A A A 是两个特征图之间的交叉注意力。对于 FEAT 13 g g g 是加法, X X X 是整个支持集,而 A A A 是通过自注意力模块对 X X X 的加权平均。

  这两种方法的共同点有两个方面:

  1. 都忽略了通道级别的对齐。CAN 聚焦于空间级注意力,而 FEAT 使用实例级注意力。
  2. 使用了所有可用的支持知识。

  这两个特点导致了包括粗糙性、冗余匹配和不灵活对齐等问题,正如第 1 节所讨论的。为此,我们提出了一种新的对齐框架,形式为动态元滤波器(DMF)。

4.2. 自适应对齐的动态元滤波器

  具体来说,给定支持和查询特征对 { X supp , X q } \{X_{\text{supp}}, X_q\} {Xsupp,Xq},我们不是直接从支持特征生成滤波器,而是首先应用一个卷积层 f ψ f_{\psi} fψ,该层由参数 ψ \psi ψ 控制,卷积核大小为 3,作用于支持特征 X supp X_{\text{supp}} Xsupp,输出一个张量 ψ ( X supp ) ∈ R ( c × k × k ) × h × w \psi(X_{\text{supp}}) \in \mathbb{R}^{(c \times k \times k) \times h \times w} ψ(Xsupp)R(c×k×k)×h×w,其中 (k) 表示 DMF 的卷积核大小。然后,对于每个位置 ( i , j ) (i, j) (i,j),我们可以得到一个大小为 c × k × k c \times k \times k c×k×k 的张量:

f d ( i , j ) = σ ( ψ ∗ B 3 ( X supp [ : , i , j ] ) ) f_d(i, j) = \sigma(\psi \ast B_3(X_{\text{supp}}[:, i, j])) fd(i,j)=σ(ψB3(Xsupp[:,i,j]))

其中 B 3 B_3 B3 表示宽度为 3 的邻域, ∗ \ast 表示卷积, σ \sigma σ是用于控制尺度的 Sigmoid 函数。这个 f d ( i , j ) f_d(i, j) fd(i,j) 可以看作是具有卷积核大小 k k k c c c 个卷积滤波器。将 f d ( i , j ) f_d(i, j) fd(i,j) 卷积到 X q X_q Xq 的对应位置,并使用 c c c 组特征,可以得到一个精细化的查询特征 X ^ q ∈ R c × h × w \hat{X}_q \in \mathbb{R}^{c \times h \times w} X^qRc×h×w,其中:

X ^ q [ : , i , j ] = X q [ : , i , j ] + f d ( i , j ) ∗ c B k ( X q [ : , i , j ] ) \hat{X}_q[:, i, j] = X_q[:, i, j] + f_d(i, j) \ast_c B_k(X_q[:, i, j]) X^q[:,i,j]=Xq[:,i,j]+fd(i,j)cBk(Xq[:,i,j])

其中 ∗ c \ast_c c 表示使用 c c c 组进行卷积。通过这种方式,每个通道都被 DMF 计算出的权重进行重新缩放,查询特征因此根据从支持特征中收集的信息,以位置变化和通道变化的方式对齐。同时,每个查询位置的支持信息来源被直接从整个特征图减少到一个小网格。

  上述描述的动态元滤波器既高效又能够处理细粒度的支持知识,但也存在明显的缺点:

  1. 用于生成 DMF 的卷积核只能具有固定的核大小,这限制了感受野,增加了未能收集有用支持信息的概率。
  2. 如果特征图的维度较大,DMF 会非常大且耗时。
  3. 尽管存在动态滤波器,但对齐是固定的,因此缺乏灵活性。

  因此,我们进一步提出了三项改进措施来解决这些问题。

4.2.1. 动态采样

  为了让模型能够更加灵活地提取任何需要的特征,我们采用了一种动态采样策略。具体来说,卷积区域 f ψ f_{\psi} fψ 中的固定区域被替换为可学习的区域。基于输入的支持和查询特征对,使用卷积层 f η f_{\eta} fη(卷积核大小为 5)预测每个特征位置的邻域图 M ∈ R 9 × h × w M \in \mathbb{R}^{9 \times h \times w} MR9×h×w

M = f η ( X supp ∥ X q ) M = f_{\eta}(X_{\text{supp}} \parallel X_q) M=fη(XsuppXq)

其中, ∥ \parallel 表示连接操作。邻域图 M : , i , j ∈ R 9 M_{:,i,j} \in \mathbb{R}^9 M:,i,jR9 的每一行表示包含生成位置 ( i , j ) (i, j) (i,j) 滤波器所需信息的区域。接下来,使用这个图动态采样 X supp X_{\text{supp}} Xsupp 中的知识,为每个位置生成 DMF:

B ~ 3 ( X supp [ : , i , j ] ) = Sample ( X supp [ : , i , j ] , M : , i , j ) \tilde{B}_3(X_{\text{supp}}[:, i, j]) = \text{Sample}(X_{\text{supp}}[:, i, j], M_{:, i, j}) B~3(Xsupp[:,i,j])=Sample(Xsupp[:,i,j],M:,i,j)

f d ( i , j ) = σ ( ψ ∗ B ~ 3 ( X supp [ : , i , j ] ) ) f_d(i, j) = \sigma(\psi \ast \tilde{B}_3(X_{\text{supp}}[:, i, j])) fd(i,j)=σ(ψB~3(Xsupp[:,i,j]))

  通过动态采样,我们可以增加探索有用位置的概率,同时保持源知识的低容量。在实现动态采样的多种方式中,我们模仿了可变形卷积(DeformConv)23,其中邻域图以水平和垂直偏移的形式实现 M ∈ R 18 × h × w M \in \mathbb{R}^{18 \times h \times w} MR18×h×w,并基于每个位置的偏移进行采样。需要注意的是,34 也在少样本学习中采用了 DeformConv。然而,他们直接对支持和查询特征应用 DeformConv,并将它们映射到另一个潜在空间,然后用于测量相关性。在他们的方法中,支持和查询数据之间没有信息交互。相比之下,我们模型中的动态采样是基于支持和查询知识共同预测的,并用于生成一个动态的位置和通道依赖的元滤波器,之后用来将来自支持图像的知识嵌入查询特征中。

4.2.2. 分组策略

  为了减少由于滤波器数量过多带来的计算成本,我们做了一个简单的假设:在特征图中,一些通道组之间共享相似的信息。基于这一点,我们借鉴了现有的分组卷积方法 35,将这些通道聚集在一起,共享一个滤波器。具体来说,我们将查询特征图均匀分割为 g g g 组。然后,元滤波器生成器 f ψ f_{\psi} fψ 的输出通道由 c × k × k c \times k \times k c×k×k 修改为 g × k × k g \times k \times k g×k×k。由于进行分组,模型每个位置只需要生成一个 g g g-通道滤波器,从而更加轻量化。值得注意的是,当 g = 1 g = 1 g=1 时,我们的 DMF 与 CAN 和 FEAT 方法相同,其中每个位置的所有通道都用相同的权重处理。我们的实验表明,较大的 g g g 比较小的 g g g 更强大,这证明了我们方法的优势。

4.2.3. 自适应对齐

  解决更困难任务的最直接方法是通过递归对齐过程来获得更精细的特征,正如在36中所提到的,通过对图像特征反复使用学习到的空间变换。通过这种方式,查询特征可以表示为:

X q t + 1 = X q t + F ( X q t , f d ) , t = 0 , ⋯   , T − 1 X_q^{t+1} = X_q^t + F(X_q^t, f_d), \quad t = 0, \cdots, T - 1 Xqt+1=Xqt+F(Xqt,fd),t=0,,T1

X ^ q = X q T \hat{X}_q = X_q^T X^q=XqT

其中, F F F 是动态卷积。这样的方法提出了另一个问题——调整递归深度 T T T的超参数。在36中,作者尝试了该超参数在一个数据集上的几个选择。然而,对于不同的任务,深度变量应该根据任务的复杂度来变化。因此,对于少样本学习(FSL),在包含各种类别的任务中使用固定的递归深度是不合适的。

  作为一种替代方案,我们参考了神经常微分方程(Neural ODE)28。通过逐渐减少时间步长 t t t,递归残差方程式(公式8)可以从欧拉离散化形式转化为常微分方程(ODE):

d X q ( t ) d t = F ( X q ( t ) , t ) \frac{dX_q(t)}{dt} = F(X_q(t), t) dtdXq(t)=F(Xq(t),t)

  然后, X ^ q \hat{X}_q X^q 被设定为公式9的解,给定初始条件 X q X_q Xq。这种形式有两个优点。首先,使用现代ODE求解器,如Dormand-Prince方法,比欧拉方法能获得更准确的解。其次,通过采用自适应步长,递归深度变得数据依赖,因此摆脱了超参数 T T T

4.3. Meta classifier

  在我们获得动态对齐的查询特征 X ^ q \hat{X}_q X^q后,我们遵循CAN12的方法,通过一种简单的方式来构建分类器,该分类器不需要任何可学习的参数。具体来说,我们通过全局平均池化将 X supp X_{\text{supp}} Xsupp聚合为 X ˉ supp ∈ R c × 1 × 1 \bar{X}_{\text{supp}} \in \mathbb{R}^{c \times 1 \times 1} XˉsuppRc×1×1,它包含了 I supp I_{\text{supp}} Isupp的全局信息。然后,我们将其作为卷积滤波器的权重,命名为元分类器(MC) f mc f_{\text{mc}} fmc,其中 c c c是通道数, 1 × 1 1 \times 1 1×1为卷积核大小。将这个滤波器应用到查询特征上,得到一个张量 X ~ q ∈ R 1 × h × w \tilde{X}_q \in \mathbb{R}^{1 \times h \times w} X~qR1×h×w。通过这个计算,我们直接在每个相应通道上比较全局支持特征与局部查询特征。因此,如果 I q I_q Iq I supp I_{\text{supp}} Isupp属于同一类别,那么 X ~ q \tilde{X}_q X~q在大多数位置的值应该较高。

4.4. Implementation details

4.4.1. Objective function

  我们的损失函数与CAN中的定义相同。对于每一对输入少样本配对,包含所有输入和输出 { X supp , y supp , X q , y q , X ^ q , X ~ q } \{X_{\text{supp}}, y_{\text{supp}}, X_q, y_q, \hat{X}_q, \tilde{X}_q \} {Xsupp,ysupp,Xq,yq,X^q,X~q},令 X X X f mc f_{\text{mc}} fmc I q I_q Iq和所有支持特征之间的结果集合,则目标函数可以写作:

L = ℓ f + 1 2 ℓ g (10) L = \ell_f + \frac{1}{2} \ell_g \tag{10} L=f+21g(10)

其中,

ℓ g = − ( log ⁡   softmax ( f g c ( X ^ q ) ) ) T y q (11) \ell_g = -\left(\log \, \text{softmax}(f_{gc}(\hat{X}_q))\right)^T y_q \tag{11} g=(logsoftmax(fgc(X^q)))Tyq(11)

ℓ f = 1 h w ∑ s , t log ⁡ e − X ~ q s , t ∑ X ~ ∈ X e − X ~ s , t ⋅ I y q = y supp (12) \ell_f = \frac{1}{hw} \sum_{s,t} \log \frac{e^{-\tilde{X}_{q_{s,t}}}}{\sum_{\tilde{X} \in X} e^{-\tilde{X}_{s,t}}} \cdot \mathbb{I}_{y_q = y_{\text{supp}}} \tag{12} f=hw1s,tlogX~XeX~s,teX~qs,tIyq=ysupp(12)

其中, ℓ f \ell_f f用于少样本N类分类,而 ℓ g \ell_g g用于全局多样本 ∣ C s ∣ |C_s| Cs类分类(例如,miniImageNet中为64类)。

4.4.2. Network Structure

  我们使用与13中相同的ResNet12来提取图像特征。为了扩大我们DMF方法对位置特定特征的利用,我们去除了主干网络的最后一个池化层,从而使得输出特征图的空间大小增加到 11 × 11 11 \times 11 11×11。注意,这里没有引入额外的参数或计算能力。我们的DMF与查询特征之间的卷积操作是通过首先沿空间维度展开查询特征,并计算展开后的特征与DMF之间的点积来实现的。整个操作具有很高的效率,具体内容将在补充材料中展示。

5. Experiments

5.1. Datasets and setting

数据集

  我们的实验是在两个数据集上进行的。miniImageNet数据集9包含100个类别,每个类别有600张图像,是ImageNet的一个小子集。我们遵循16中的划分,其中64个类别用于训练,16个类别用于验证,20个类别用于测试。tieredImageNet数据集37是ILSVRC-12数据集的一个更大的子集。它包含34个类别,总共有779,165张图像。这些类别进一步被划分为608个类,其中351个类用于训练,97个类用于验证,160个类用于测试。miniImageNet中的图像大小为84 × 84,tieredImageNet中的图像大小为224 × 224。在训练和测试之前,tieredImageNet中的图像被调整为84 × 84。

实验设置

  我们在实验中将组数 g g g设置为64用于1-shot任务,分别为miniImageNet上的5-shot任务设置160,以及tieredImageNet上的5-shot任务设置为320。对于所有任务,卷积核大小 k k k都设置为1。我们使用带有 5 e − 4 5e^{-4} 5e4权重衰减的随机梯度下降(SGD)38来优化我们的模型。对于miniImageNet,初始学习率设置为0.35,而tieredImageNet的初始学习率为0.05。采用了余弦学习率衰减39与SGD结合使用。在训练过程中,我们采用了随机裁剪、水平翻转、颜色抖动和随机擦除40等数据增强方法,这些与CAN 12中使用的一致。我们对所有实验从元测试集抽取2000个小批次进行测试。

评估基准

  我们报告了5-way 1-shot和5-way 5-shot设置下的准确度和95%的置信区间(CI),以与现有方法进行比较。对于消融实验,仅报告准确度。

竞争方法

  为了展示我们模型的有效性,我们与几个之前的方法进行了比较,例如原型网络(Prototypical Network)10、关系网络(RelationNet)11、MetaOptNet41、交叉注意力网络(Cross Attention Network, CAN)12等。这些模型是我们选择的比较对象,因为它们是最好的少样本学习模型之一,并且原始论文中也报道了在相同设置下的结果。

5.2. Comparison with state-of-the-art

结果与对比

  我们在表1中与竞争方法进行了对比,展示了两个数据集上5-way 1-shot和5-way 5-shot任务的准确率及其95%置信区间(CI)。请注意,这些模型使用了不同的骨干网络结构。

miniImageNet 结果

  如表1所示,在miniImageNet上,所有使用Conv4骨干网络的模型均逊色于我们的模型,这部分是由于骨干网络容量较低所导致的。在与使用相同骨干网络的模型对比时,我们模型的1-shot准确率仍然比最好的模型(FEAT,66.78%)高出0.98%。当与使用具有比ResNet12更大容量的WRN-28-10的模型进行比较时,我们的模型仍然表现出色。在5-shot任务上,我们的模型比使用ResNet12骨干的最强竞争对手DeepEMD高出0.30%,并且比使用WRN骨干的最佳5-shot模型Robust dist++高出1.54%。这反映出我们模型在处理极其有限数据时优于大多数竞争对手,同时我们的模型设计得很好,能够从有限的图像中提取出正确的共性特征。

  此外,值得注意的是,我们的模型相对于骨干网络增加的额外参数仅为两层卷积层,由于采用了组策略,这些额外的参数非常轻量化。相比之下,大多数竞争对手,如TADAM和E3BM,参数量要多得多。同时,一些最先进的方法,如FEAT和DeepEMD,采用了预训练来获得骨干网络在元训练阶段的良好初始化,从而确保它们提出的用于少样本识别的模块能够得到良好的训练。与这些方法相比,我们提出的动态元滤波器(Dynamic Meta-filter)不依赖于初始化,因此是免预训练的。通过这种方式,我们的模型可以通过全局分类损失和少样本分类损失的组合进行训练,从而比这些竞争对手更快。

tieredImageNet 结果

  表1中的结果表明,在tieredImageNet数据集上,我们在1-shot分类上比最强竞争对手高出0.69%的准确率,这也验证了上述结论。在5-shot任务上,我们的模型比DeepEMD低0.07%。一个可能的原因是,tieredImageNet是一个更大的数据集,包含更多的基本类别,因此骨干网络本身可以在每个新类别提供5个支持样本的情况下学习到良好的表示。此外,DeepEMD在分类器的复杂性上使用了二次规划(Quadratic Programming),因此虽然它获得了稍微更好的结果,但其训练和推理时间却是非常庞大的。相比之下,我们的框架更加简洁。

ModelBackboneminiImageNet
1-shot
miniImageNet
5-shot
tieredImageNet
1-shot
tieredImageNet
5-shot
ProtoNet 10
MatchingNet 9
RelationNet 11
MAML 17
Dynamic Few-shot 8
Conv449.42±0.78
43.56±0.84
50.44±0.82
48.70±1.75
56.20±0.86
68.20±0.72
55.31±0.73
65.32±0.70
63.11±0.92
72.81±0.62
53.31±0.89

54.48±0.93

72.69±0.74

71.32±0.78

LEO 42
PPA 27
Robust dist++ 43
wDAE 44
CC+rot 45
FEAT 13
WRN-2861.76±0.08
59.60±0.41
63.28±0.62
61.07±0.15
62.93±0.45
65.10±0.20
77.59±0.12
73.74±0.19
81.17±0.43
76.75±0.11
79.87±0.33
81.11±0.14
66.33±0.05


68.18±0.16
70.53±0.51
70.41±0.23
81.44±0.09


83.09±0.12
84.98±0.36
84.38±0.16
TapNet 46
SNAIL 47
MetaOptNet 41
TADAM 48
DC 26
VFSL 49
CAN 12
FEAT 13
DeepEMD 50
E³BM 51
DSN-MR 52
Net-Cosine 53
Res-1261.65±0.15
55.71±0.99
62.64±0.61
58.50±0.30
62.53±0.19
62.53±0.26
63.85±0.45
66.78±0.20
65.91±0.82
63.80±0.46
64.60±0.72
63.85±0.56
76.36±0.10
68.88±0.92
78.63±0.46
76.70±0.30
78.95±0.13
77.69±0.17
82.05±0.14
81.11±0.14
82.41±0.56
80.55±0.89
79.51±0.56
81.57±0.56


65.99±0.72



69.89±0.51
70.41±0.23
71.16±0.87
67.39±0.82



81.56±0.53



84.23±0.37
84.38±0.16
86.03±0.53
82.85±0.56

OursRes-1267.76±0.4682.71±0.3171.89±0.5285.96±0.35

表1。miniimagenet和tieredimagenet上95%置信区间的5路少镜头精度。

5.3. Model analysis

  为了进一步验证我们方法的有效性,我们在miniImageNet数据集上进行了系列消融实验。我们首先展示了我们方法推导的一些实验结果,然后展示了一些关于超参数的其他结果。实验结果如表2所示。

在这里插入图片描述
表 2. 在miniImageNet 5-way任务上的消融实验。我们展示了1-shot (K=1)和5-shot (K=5)的结果。
(a) 动态采样:完整模型与不使用动态采样的模型进行比较。
(b) 池化层:我们比较了在Res-12骨干网络中使用和不使用最后池化层训练的模型。
© 分组:我们比较了动态卷积中不同的组数。
(d) 模型实例化:我们尝试了基于我们方法的不同结构,包括不使用对齐的模型、固定对齐次数的模型和使用ODE对齐的模型。

5.3.1. 动态采样的有效性

  我们测试了带有动态采样和不带动态采样的模型。根据表2中的定量结果,使用动态采样的模型在1-shot任务上比不使用动态采样的模型提高了1.03%,在5-shot任务上提高了1.50%。这表明,当直接使用每个位置的邻域来生成DMF时,模型只能获得不足的有用知识,导致性能较差,这验证了该模块的有效性。

  此外,我们展示了在一些支持和查询图像对区域上学到的采样策略(如图3所示)。这反映了在给定特定查询图像的情况下,动态采样能够成功地学习如何收集知识,从而为每个区域生成更有用的滤波器。
在这里插入图片描述
图 3. 学习到的动态采样策略的可视化。红点表示支持图像中用于预测相应查询特征位置(绿点)滤波器权重的采样位置。通过动态采样,我们的模型能够利用真正有用的位置来生成动态元滤波器(DMF)。

5.3.2. 我们是否需要删除池化层?

  我们的方法与常用的ResNet12的唯一区别在于删除了最后的池化层,如前所述。表2(b)展示了保留该层时的结果。删除池化层带来了1-shot任务上0.64%的提升,5-shot任务上1.16%的提升。原因之一是,当得分图(score map)更大时,我们可以为损失函数ℓf分配更密集的真实标签。此外,去除池化层可以避免信息丢失,从而有助于学习更好的元滤波器。

5.3.3. 分组卷积的有效性

  我们的模型通过不同数量的组进行变化,如表2©所示。结果表明,随着组数的减少,DMF与查询图像上相应区域的计算变得更简单。当组数为1时,该计算从两个向量之间的点积退化为标量与向量之间的逐元素乘法,这与FEAT和CAN中的计算相同。这严重影响了信息的表达能力,导致最差的性能。另一方面,增加组数带来的收益在不同任务中会饱和,在1-shot任务中为64,在5-shot任务中为160,更多的组会导致更多的计算消耗,但性能下降。这表明我们在第4.2节中的假设,即通道之间共享信息,是成立的。由于在1-shot任务中,支持信息仅来自一张图像,信息量较少,因此64个滤波器足以处理1-shot任务,而在5-shot任务中,需要增加滤波器的数量至160,以应对更多的信息。

5.3.4. 模型实例化

  我们比较了四种不同的模型实例化方法,具体如下:

  1. 0 align:整个模型未使用DMF,支持和查询特征直接传递给元分类器。
  2. 1/2 align:DMF使用固定数量的递归。
  3. ODE align:神经ODE代替递归对齐,这是我们的最终模型。

  表2(d)中的结果表明,使用一次对齐可以使没有对齐的模型在1-shot任务上提高1.28%,在5-shot任务上提高0.77%,这验证了使用动态元滤波器进行特征对齐的动机。此外,有趣的是,虽然使用更多的对齐次数可以略微提高1-shot任务的性能,但5-shot任务的准确性大幅下降,在1次对齐和3次对齐的模型之间存在0.95%的差距。这一现象反映了固定数量递归对齐在处理不同任务时的局限性。相比之下,使用ODE对齐可以在1-shot和5-shot任务上都提升性能。

  类似的结果在图4中也有体现,我们展示了三个支持和查询图像对以及从上述模型实例化方法中得到的对应查询特征图,与CAN模型进行对比。我们发现:

  1. 使用我们的动态对齐,结果通常比没有对齐和CAN生成的结果更好。我们的DMF能够集中注意力在目标物体上,证明了我们方法的有效性。
  2. 使用一个或两个对齐的模型只能处理不同的数据。虽然这两种模型可以正确对齐第一行的图像,但使用两个对齐的模型在第二行的表示能力更强,而在第三行则相反。相比之下,ODE对齐能够在所有情况下正确地突出显示查询特征,这证明了我们对自适应对齐的需求。
    在这里插入图片描述
    图 4. 在miniImageNet数据集上的5-way 1-shot任务中,不同方法对齐后的查询特征图对比。

5.4. Further Discussion

  我们提出的动态元滤波器在多个少样本学习数据集上与自适应对齐结合时表现良好。然而,不可忽视的是,在某些极端情况下,我们的方法可能会受到削弱。例如,当目标物体出现在支持图像和查询图像的非常不同的位置时,比如在左上角和右下角,它将使我们的模型很难学习到这种对齐。尽管这种情况过于极端,不会对性能造成显著影响,但为此找到一种解决方案将是未来的潜在研究方向。

6. Conclusion

  我们提出了一种新的类别识别网络,用于少样本学习,并通过从少样本输入中生成的动态元滤波器来实现该目标。我们动态地为每个特征位置从少样本输入中采样一个相关邻域,并基于采样的邻域进一步预测特定位置和通道的滤波器权重,以促进新类别的识别。这种方法能够更好地捕捉少样本示例的基于位置的语义上下文,从而实现更好的动态知识适应性。通过在miniImageNet和tieredImageNet等主要基准测试中创下新的最先进记录,证明了这一点。


  1. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016. ↩︎

  2. Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014. ↩︎

  3. Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. ImageNet classification with deep convolutional neural networks. In Advances in Neural Information Processing Systems, 2012. ↩︎

  4. Kaiming He, Georgia Gkioxari, Piotr Dollár, and Ross Girshick. Mask R-CNN. In International Conference on Computer Vision (ICCV), 2017. ↩︎

  5. Enze Xie, Peize Sun, Xiaoge Song, Wenhai Wang, Xuebo Liu, Ding Liang, Chunhua Shen, and Ping Luo. PolarMask: Single shot instance segmentation with polar representation. arXiv preprint arXiv:1909.13226, 2019. ↩︎

  6. Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Dollár, and C. Lawrence Zitnick. Microsoft COCO: Common objects in context. In European Conference on Computer Vision (ECCV), 2014. ↩︎

  7. Gregory Koch, Richard Zemel, and Ruslan Salakhutdinov. Siamese neural networks for one-shot image recognition, 2015. ↩︎

  8. Spyros Gidaris and Nikos Komodakis. Dynamic few-shot visual learning without forgetting. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018. ↩︎ ↩︎ ↩︎

  9. Oriol Vinyals, Charles Blundell, Timothy Lillicrap, Daan Wierstra, et al. Matching networks for one shot learning. In Advances in Neural Information Processing Systems, 2016. ↩︎ ↩︎ ↩︎ ↩︎

  10. Jake Snell, Kevin Swersky, and Richard Zemel. Prototypical networks for few-shot learning. In Advances in Neural Information Processing Systems, 2017. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  11. Flood Sung, Yongxin Yang, Li Zhang, Tao Xiang, Philip H. S. Torr, and Timothy M. Hospedales. Learning to compare: Relation network for few-shot learning. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  12. Ruibing Hou, Hong Chang, Bingpeng Ma, Shiguang Shan, and Xilin Chen. Cross attention network for few-shot classification. In Advances in Neural Information Processing Systems, 2019. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  13. Han-Jia Ye, Hexiang Hu, De-Chuan Zhan, and Fei Sha. Few-shot learning via embedding adaptation with set-to-set functions. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 8808–8817, 2020. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  14. Xu Jia, Bert De Brabandere, Tinne Tuytelaars, and Luc V. Gool. Dynamic filter networks. In Advances in Neural Information Processing Systems, 2016. ↩︎ ↩︎

  15. Li Zhang, Dan Xu, Anurag Arnab, and Philip H. S. Torr. Dynamic graph message passing networks. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 3726–3735, 2020. ↩︎

  16. Sachin Ravi and Hugo Larochelle. Optimization as a model for few-shot learning. In International Conference on Learning Representations (ICLR), 2017. ↩︎ ↩︎

  17. Chelsea Finn, Pieter Abbeel, and Sergey Levine. Model-agnostic meta-learning for fast adaptation of deep networks. In International Conference on Machine Learning (ICML), 2017. ↩︎ ↩︎

  18. Alex Nichol, Joshua Achiam, and John Schulman. On first-order meta-learning algorithms. arXiv preprint arXiv:1803.02999, 2018. ↩︎

  19. Zhenguo Li, Fengwei Zhou, Fei Chen, and Hang Li. Meta-SGD: Learning to learn quickly for few-shot learning. arXiv preprint arXiv:1707.09835, 2017. ↩︎

  20. Qianru Sun, Yaoyao Liu, Tat-Seng Chua, and Bernt Schiele. Meta-transfer learning for few-shot learning. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019. ↩︎

  21. David G. Lowe. Object recognition from local scale-invariant features. In International Conference on Computer Vision (ICCV), 1999. ↩︎

  22. Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester, and Deva Ramanan. Object detection with discriminatively trained part-based models. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009. ↩︎

  23. Jifeng Dai, Haozhi Qi, Yuwen Xiong, Yi Li, Guodong Zhang, Han Hu, and Yichen Wei. Deformable convolutional networks. In International Conference on Computer Vision (ICCV), 2017. ↩︎ ↩︎

  24. David Ha, Andrew Dai, and Quoc V. Le. Hypernetworks. arXiv preprint arXiv:1609.09106, 2016. ↩︎

  25. Luca Bertinetto, João F. Henriques, Jack Valmadre, Philip Torr, and Andrea Vedaldi. Learning feed-forward one-shot learners. In Advances in Neural Information Processing Systems, 2016. ↩︎

  26. Yann Lifchitz, Yannis Avrithis, Sylvaine Picard, and Andrei Bursuc. Dense classification and implanting for few-shot learning. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019. ↩︎ ↩︎

  27. Siyuan Qiao, Chenxi Liu, Wei Shen, and Alan L. Yuille. Few-shot image recognition by predicting parameters from activations. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018. ↩︎ ↩︎

  28. Ricky T. Q. Chen, Yulia Rubanova, Jesse Bettencourt, and David K. Duvenaud. Neural ordinary differential equations. In Advances in Neural Information Processing Systems, pages 6571–6583, 2018. ↩︎ ↩︎

  29. Stefano Massaroli, Michael Poli, Jinkyoo Park, Atsushi Yamashita, and Hajime Asama. Dissecting neural ODEs. arXiv preprint arXiv:2002.08071, 2020. ↩︎

  30. Yulia Rubanova, Ricky T. Q. Chen, and David Duvenaud. Latent ODEs for irregularly-sampled time series. arXiv preprint arXiv:1907.03907, 2019. ↩︎

  31. Emilien Dupont, Arnaud Doucet, and Yee Whye Teh. Augmented neural ODEs. In Advances in Neural Information Processing Systems, pages 3140–3150, 2019. ↩︎

  32. Cagatay Yildiz, Markus Heinonen, and Harri Lahdesmaki. ODE2VAE: Deep generative second order ODEs with Bayesian neural networks. In Advances in Neural Information Processing Systems, pages 13412–13421, 2019. ↩︎

  33. Sunghyun Park, Kangyeol Kim, Junsoo Lee, Jaegul Choo, Joonseok Lee, Sookyung Kim, and Edward Choi. Vid-ODE: Continuous-time video generation with neural ordinary differential equation. arXiv preprint arXiv:2010.08188, 2020. ↩︎

  34. Ziyang Wu, Yuwei Li, Lihua Guo, and Kui Jia. PARN: Position-aware relation networks for few-shot learning. In International Conference on Computer Vision (ICCV), 2019. ↩︎

  35. Saining Xie, Ross Girshick, Piotr Dollár, Zhuowen Tu, and Kaiming He. Aggregated residual transformations for deep neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 1492–1500, 2017. ↩︎

  36. Wanglong Wu, Meina Kan, Xin Liu, Yi Yang, Shiguang Shan, and Xilin Chen. Recursive spatial transformer (ReST) for alignment-free face recognition. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), pages 3772–3780, 2017. ↩︎ ↩︎

  37. Mengye Ren, Eleni Triantafillou, Sachin Ravi, Jake Snell, Kevin Swersky, Joshua B. Tenenbaum, Hugo Larochelle, and Richard S. Zemel. Meta-learning for semi-supervised few-shot classification, 2018. ↩︎

  38. Léon Bottou. Large-scale machine learning with stochastic gradient descent. In Proceedings of COMPSTAT’2010, 2010. ↩︎

  39. Ilya Loshchilov and Frank Hutter. SGDR: Stochastic gradient descent with warm restarts. arXiv preprint arXiv:1608.03983, 2016. ↩︎

  40. Zhun Zhong, Liang Zheng, Guoliang Kang, Shaozi Li, and Yi Yang. Random erasing data augmentation. arXiv preprint arXiv:1708.04896, 2017. ↩︎

  41. Kwonjoon Lee, Subhransu Maji, Avinash Ravichandran, and Stefano Soatto. Meta-learning with differentiable convex optimization. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019. ↩︎ ↩︎

  42. Andrei A. Rusu, Dushyant Rao, Jakub Sygnowski, Oriol Vinyals, Razvan Pascanu, Simon Osindero, and Raia Hadsell. Meta-learning with latent embedding optimization. arXiv preprint arXiv:1807.05960, 2018. ↩︎

  43. Nikita Dvornik, Cordelia Schmid, and Julien Mairal. Diversity with cooperation: Ensemble methods for few-shot classification. In International Conference on Computer Vision (ICCV), 2019. ↩︎

  44. Spyros Gidaris and Nikos Komodakis. Generating classification weights with GNN denoising autoencoders for few-shot learning. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019. ↩︎

  45. Spyros Gidaris, Andrei Bursuc, Nikos Komodakis, Patrick Pérez, and Matthieu Cord. Boosting few-shot visual learning with self-supervision. In International Conference on Computer Vision (ICCV), 2019. ↩︎

  46. Sung Whan Yoon, Jun Seo, and Jaekyun Moon. TapNet: Neural network augmented with task-adaptive projection for few-shot learning, 2019. ↩︎

  47. Nikhil Mishra, Mostafa Rohaninejad, Xi Chen, and Pieter Abbeel. A simple neural attentive meta-learner. arXiv preprint arXiv:1707.03141, 2017. ↩︎

  48. Boris Oreshkin, Pau Rodríguez López, and Alexandre Lacoste. TADAM: Task dependent adaptive metric for improved few-shot learning. In Advances in Neural Information Processing Systems, 2018. ↩︎

  49. Nanyi Fei, Zhiwu Lu, Yizhao Gao, Jia Tian, Tao Xiang, and Ji-Rong Wen. Meta-learning across meta-tasks for few-shot learning, 2019. ↩︎

  50. Chi Zhang, Yujun Cai, Guosheng Lin, and Chunhua Shen. DeepEMD: Few-shot image classification with differentiable earth mover’s distance and structured classifiers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 12203–12213, 2020. ↩︎

  51. Yaoyao Liu, Bernt Schiele, and Qianru Sun. An ensemble of epoch-wise empirical Bayes for few-shot learning. In European Conference on Computer Vision (ECCV), pages 404–421, Springer, 2020. ↩︎

  52. Christian Simon, Piotr Koniusz, Richard Nock, and Mehrtash Harandi. Adaptive subspaces for few-shot learning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 4136–4145, 2020. ↩︎

  53. Bin Liu, Yue Cao, Yutong Lin, Qi Li, Zheng Zhang, Mingsheng Long, and Han Hu. Negative margin matters: Understanding margin in few-shot classification. arXiv preprint arXiv:2003.12060, 2020. ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911445.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA 2024使用mybatisplus插件生成代码在项目中

在IDEA 插件市场搜索“mybatisplus”插件并安装,安装好后重启IDEA,安装过程网上很多教程,这里略过;IDEA 2024配置数据库和生成代码迁移到了Tools菜单下,原先版本在Other; 先完成数据库配置,点击Config Data…

Android CCodec Codec2 (十九)C2LinearBlock

在上一篇文章的结尾,我们看到fetchLinearBlock方法最终创建了一个C2LinearBlock对象。这一节,我们将深入了解C2LinearBlock是什么,它的作用是什么,以及它是如何被创建的。 1、_C2BlockFactory 先对上一篇文章的结尾内容做简单回顾…

LabVIEW离心泵性能优化测试系统

开发了一套基于LabVIEW平台开发的离心泵性能优化测试系统。系统集成了数据采集、流量控制、数据存储、报表生成等功能,提供了低成本、便捷操作的解决方案,适用于工业场景中对离心泵性能的精确测评。 项目背景 随着工业化进程的加速,离心泵在…

【NLP自然语言处理】深入探索Self-Attention:自注意力机制详解

目录 🍔 Self-attention的特点 🍔 Self-attention中的归一化概述 🍔 softmax的梯度变化 3.1 softmax函数的输入分布是如何影响输出的 3.2 softmax函数在反向传播的过程中是如何梯度求导的 3.3 softmax函数出现梯度消失现象的原因 &…

MML 中使用 libevent +std::async unix socket domain 进程间通信

可以执行大量超时的接口,直到任务执行完成 还可以在一个事件做检测,funtcure 中的值为ready 状态 uds 的用法和tcp 类似,会维护一个链接状态和分配一个链接套接字,这就为异步执行提供了很方便的条件 客户端就安静的做一个计时,看是否在固定事件内返回执行…

基础算法练习--滑动窗口(已完结)

算法介绍 滑动窗口算法来自tcp协议的一种特性,它的高效使得其也变成了算法题的一种重要考点.滑动窗口的实现实际上也是通过两个指针前后遍历集合实现,但是因为它有固定的解题格式,我将其单独做成一个篇章. 滑动窗口的解题格式: 首先,定义两个指针left和right,与双指针不同的…

算法:只出现一次的数字II

题目 链接:leetcode链接 思路分析 这道题目其实是一个观察题,比较考察观察能力。 数组中只有一个元素只出现一次,其他的元素都出现三次 我们假设有n个元素出现三次 那么所有的元素的第i位的和加起来只有下面的四种情况 3n * 0 0 3n * 0…

【rust】rust基础代码案例

文章目录 代码篇HelloWorld斐波那契数列计算表达式(加减乘除)web接口 优化篇target/目录占用一个g,仅仅一个actix的helloWorld demo升级rust版本, 通过rustupcargo换源windows下放弃吧,需要额外安装1g的toolchain并且要…

鸿蒙基本组件结构

组件结构 1. 认识基本的组件结构 ArkTS通过装饰器Component 和Entry 装饰 struct 关键字声明的数据结构,构成一个自定义组件 自定义组件中提供了一个build函数,开发者需要在函数内以链式调用的方式进行基本的UI描述,UI描述的方法请参考UI描述…

Python并发编程库:Asyncio的异步编程实战

Python并发编程库:Asyncio的异步编程实战 在现代应用中,并发和高效的I/O处理是影响系统性能的关键因素之一。Python的asyncio库是专为异步编程设计的模块,提供了一种更加高效、易读的并发编程方式,适用于处理大量的I/O密集型任务…

快速开发工具 Vite

快速开发工具 vite 摘要: **概念:**Vite 是一种新型前端构建工具,能够显著提升前端开发体验 **构造:**Vite 主要由一个开发服务器和一套构建指令组成。 Vite底层的服务器转换和转发:以处理ts文件为例 1-读取 forma…

Servlet-Filter

文章目录 一. Filter 过滤器1. 概括2. 原理3. api配置过滤器(Filter)拦截路径1.xml 方式2.注解方式 4. 生命流程a.执行流程b.拦截路径c.过滤器链 5. 登录校验-Filter 一. Filter 过滤器 1. 概括 过滤器,顾名思义就是对事物进行过滤的,在 Web 中的过滤器…

Hadoop简介及单点伪分布式安装

目录 1. 大数据2. Hadoop简介3. Hadoop伪分布式安装4. Hadoop启动参考 1. 大数据 大数据的定义:一种规模大到在获取、存储、管理、分析方面大大超出传统数据库软件工具能力范围的数据集合。   特征:   1.海量的数据规模   2.快速的数据流转   3.…

python练习-袭击敌机

$ python -m pip install --user pygame1、画游戏框 class Settings:def __init__(self):self.screen_width 1200self.screen_height 800self.bg_color (230, 230, 230)import sys import pygame from settings import Settingsclass AlienInvasion:def __init__(self):pyg…

京东零售推荐系统可解释能力详解

作者:智能平台 张颖 本文导读 本文将介绍可解释能力在京东零售推荐系统中的应用实践。主要内容包括以下几大部分:推荐系统可解释定义、系统架构、排序可解释、模型可解释、流量可解释。 推荐系统可解释定义 推荐系统可解释的核心包括三部分&#xff0…

设备数据采集网关工作原理及优势-天拓四方

在日益智能化的时代,设备数据采集网关作为物联网系统中的关键组件,正扮演着越来越重要的角色。它不仅连接着各种设备,还负责数据的采集、处理与传输,为企业的数字化转型提供了坚实的基础。本文将详细探讨设备数据采集网关的定义、…

MLU运行SD3部署手册

文章目录 前言一、平台环境准备二、模型下载三、环境准备四.代码准备五.效果展示 前言 Stable Diffusion 3各版本模型在以下多个方面表现出色: 可定制性:轻松微调模型以满足特定创作需求,或根据定制的工作流程构建应用程序。 高效性能&#…

Webserver(3.3)生产者消费者模型

目录 生产者消费者简单模型条件变量信号变量 生产者消费者简单模型 //生产者消费者模型#include <stdio.h> #include<pthread.h> #include<stdlib.h> #include<unistd.h>struct Node{int num;struct Node * next; }; //头结点 struct Node * headNULL…

Obsidian之与Typora图片格式相互兼容

来源 [Obsidian之与Typora图片格式相互兼容 - 简书 (jianshu.com)](https://www.jianshu.com/p/303433fe82b9) 下载插件customer attachment location&#xff0c;并设置

计算机网络——TCP篇

TCP篇 基本认知 TCP和UDP的区别? TCP 和 UDP 可以使用同一个端口吗&#xff1f; 可以的 传输层中 TCP 和 UDP在内核中是两个完全独立的软件模块。可以根据协议字段来选择不同的模块来处理。 TCP 连接建立 TCP 三次握手过程是怎样的&#xff1f; 一次握手:客户端发送带有 …