DPGN: Distribution Propagation Graph Network for Few-shot Learning

摘要

大多数基于图网络的元学习方法都是对 example 的 实例级 关系建模。我们对这一想法进行扩展,通过一种 一对多 的方式对一个 example 的分布级关系显式建模,从而能够用到所有其他的 examples 中。我们提出了一个名为 分布传播图网络 (DPGN) 的方法,我们使用该方法用于解决小样本学习问题。它在每个小样本学习任务中同时传递 实例级分布级关系。为了结合所有 examples 的分布级关系和实例级关系,我们创建了一个对偶完全图网络,该网络由两个图网络组成,分别是点图和分布图,图中的每一个节点表示一个 example。有了这个对偶图架构, DPGN 能够在几个 update generations 中将有标签 examples 中的标签信息传递到无标签 examples。在对小样本学习的基准的扩展实验中,DPGN 表现出了最好的结果:在有监督设置下,性能提升了 5 % ∼ 12 % 5\% \sim 12\% 5%12%,在半监督设置下,性能提升了 7 % ∼ 13 % 7\% \sim 13\% 7%13%。代码可以从该 链接 获取到。


1. 介绍

深度学习的成功依赖于大量的标记数据,然而人类可以在看少量样本之后就能够进行很好地扩展。这两个事实之间的矛盾引起了研究者对小样本学习的研究兴趣。小样本学习任务的目标是通过给定的少数的代标签数据 (Support 集)能够对无标签数据 (Query 集)进行预测。

微调是一个实践性的方法,它从小训练数据集中获取到预测模型的方法。然而,这种方法存在过拟合问题。元学习方法引入了 episode 的概念,使用这个概念来明确解决小样本问题。一个 episode 表示一轮训练,在每个 episode 中,我们从训练集中每一类随机取出几个样本(例如,1个或者5个)。元学习中有一个 trainer(也叫 meta-learner),它获取少量训练数据而得到一个分类器,这个过程我们称为 episodic training。在元学习的框架下,为了得到一个有效的 meta-learner,我们需要指定很多假设。

最近图网络逐渐收到了关注,图网络是一个强有力的模型,它能够泛化到许多数据结构上(列表,树),同时根据数据引入了组合先验。提出的小样本 GNN 通过构建一个完全图网络,其中每个节点特征与相应的类别特征进行 concat,然后节点特征通过图网络中的注意力机制进行更新,从而达到传播标签信息的作用。为了进一步探索图网络中类内相似和类间不同。EGNN 提出在 episodic training 框架下使用边标签图神经网络。需要注意的是,以前的小样本学习的 GNN 研究主要几种在 pair-wise 关系上(比如节点标注和边标注),这就忽略了分布关系。此外,其他的元学习方法虽然可以利用全局关系,但是这种利用方式是隐式的。

图1 我们提出的 DPGN 通过对每个样本与 Support 样本之间的对比比较来得到分布表示。然后,在对 Query 样本进行分类时,它将同时考虑实例级表示和分布级表示

如图 1 所示,首先,我们首先通过特征提取器得到 Support 样本和 Query 样本的实例特征,然后,我们通过计算所有 Support 样本之间的实例级相似性而得到每个样本的分布特征。为了利用每个 example 的实例级表示和分布级表示,同时还要对这两种表示进行单独处理,我们提出了一种对偶结构:一个点图 (PG) 和一个 分布图 (DG)。具体来讲,一个 PG 通过聚合每个 example 的一对多关系得到一个 DG,然而这个 DG 通过 deliver 每对 examples 之间的分布关系来对 PG 进行重定义。这一种循环转换方式充分利用了实例级关系和分布级关系,通过几个 generations 的 Gather-Compare 之后就得到了我们的方法。此外,可以很容易地将 DPGN 扩展到半监督小样本学习任务,其中 Support 集合中同时含有带有标签的数据和无标注的数据。DPGN 通过相似性分布的方式为带标签数据和无标签数据建立了一个 bridge,这就使得标签信息能够在半监督小样本分类任务中进行更好地传播。

我们的主要贡献如下:

  1. 据我们所知,DPGN 是第一个在图网络中使用分布传播来解决小样本问题的方法,并且进一步进行了消融实验,证明了分布关系的有效性。
  2. 我们提出了对偶完全图,其结合了实例级关系和分布级关系。并且这个框架中的循环更新策略有助于利用分布信息来增强实例特征。
  3. 在 4 个用于小样本学习的基准数据集上进行了大量的实验,通过与最佳效果的对比,DPGN 在小样本分类准确度上平均提升了 5 % ∼ 12 % 5\% \sim 12\% 5%12%,在半监督任务上,我们的算法比现有的基于图的小样本学习方法性能更好,大概提升了 7 % ∼ 13 % 7\% \sim 13\% 7%13%

2. 相关工作

2.1 图神经网络

图神经网络最初是为了处理图结构数据任务而设计的。图神经网络主要是通过递归地聚合和转换邻居节点来对节点表示进行更新。最近提出了一些方法用于解决小样本学习问题。TPN 将转导设置引入到基于图的小样本学习,它对拉普拉斯矩阵进行处理,从而将图中的 Support 集标签信息传播到 Query 集。通过对成对节点特征相似性传播标签的过程来考虑 Support 样本与 Query 样本之间的相似性。EGNN 使用样本间的相似性/不相似性为复杂交互动态地更新节点特征和边特征。

2.2 度量学习

另一类小样本学习方法侧重于使用度量学习方法来对输入数据的 embedding 进行优化。Matching Networks 通过比较 Support 集和 Query 集之间的嵌入距离来生成加权最近邻分类器。Prototypical Networks 首先在嵌入空间中为每个类别构建一个原型表示。IMF 是 Prototypical Networks 的扩展,它通过 self-adaption 的方法构建 infinite mixture prototypes。RelationNet 使用距离度量网络学习 Support 样本和 Query 样本之间的 pointwise 关系。

2.3 分布学习

分布学习理论最初是为了找到一种有效的算法来确定样本的分布。已经有一些方法能够有效地估计目标分布。DLDL 是这些研究中的一个,它在分类和回归任务中对每个实例分配离散分布而不是 one-hot 便签。CPNN 将特征和标签都作为输入,并在其框架中产生只有一个隐藏层的标签分布。LDLFs 设计了一种基于决策树算法的分布学习方法。

2.4 元学习

一些小样本学习方法采用元学习,该方式通过跨任务方式学习 meta-level 知识。MAML 是基于梯度的方法,其将 meta-learner 作为优化器,该优化器能够在给定几个样本的情况下,在几个 optimization steps 中就能够对模型参数(比如:深度网络的所有层)进行更新。Reptile 通过引入 L2 损失简化了对 meta-loss 的计算,该损失将元模型参数更新为特定实例的适应性模型。SNAIL 学习一个参数预测器用来估计模型中的参数。MetaOptNet 使用线性分类器而不是最近邻方法作为优化器,该优化器能够作为凸学习问题进行优化。LEO 使用编码器-解码器架构挖掘潜生成表示,并且在数据及其少的情况下预测高维度的参数。

3. 方法

在这一节,我们首先介绍了小样本学习任务的背景,然后对提出的算法进行详细介绍。

3.1 问题定义

小样本学习任务的目标是得到一个模型,这个模型能够在只有少量样本的情况下表现良好。
每一个小样本任务有一个 Support 集合 S 和一个 query 集合 Q。给定训练数据 D t r a i n \mathbb{D}^{train} Dtrain,Support 集合 S ⊂ D t r a i n S \subset \mathbb{D}^{train} SDtrain 包含 N 个类别,每个类别有 K 个样本,这就是 N-way K-shot 设置,可以将其表示为 S = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N × K , y N × K ) } \mathcal{S} = \{(x_1, y_1), (x_2, y_2), \cdots, (x_{N \times K}, y_{N \times K})\} S={ (x1,y1),(x2,y2),,(xN×K,yN×K)}。Query 集合 Q ⊂ D t r a i n \mathcal{Q} \subset \mathbb{D}^{train} QDtrain T ‾ \overline{T} T 个样本,可以表示为 Q = { ( x N × K + 1 , y N × K + 1 ) , ⋯   , ( x N × K + T ‾ , y N × K + T ‾ ) } \mathcal{Q} = \{(x_{N \times K+1}, y_{N \times K+1}), \cdots, (x_{N \times K+\overline{T}}, y_{N\times K + \overline{T}})\} Q={ (xN×K+1,yN×K+1),,(xN×K+T,yN×K+T)}。具体来讲,在训练过程中,Support 集合和 Query 集合都有数据标签。给定测试数据 D t e s t \mathbb{D}^{test} Dtest,我们的目标是训练出一个分类器,它能够利用 S ⊂ D t e s t \mathcal{S} \subset \mathbb{D}^{test} SDtest 中的 Support samples 将 Q ⊂ D t e s t \mathcal{Q} \subset \mathbb{D}^{test} QDtest 中的 Query sample 准确地映射到相应标签。其中 Support 集合中的标签与 Query 集合中的标签是不重复的。

3.2 分布传播图网络

DPGN 整体框架

图2 DPGN 的整体框架,为了方便表述,我们采用 2-way 1-shot 任务作为例子。首先 Support 样本和 Query 样本经过特征提取器之后得到相应样本的特征向量,然后将该向量传递到对偶完全图(一个点图和一个分布图),这样就能够进行逐 generation 进行 transductive 传播。图中绿色的箭头一个边到点的转换(P2D),它聚合实例相似性从而对分布表示进行构建。蓝色的箭头表示另一个边到点的转换(D2P),它聚合实例特征的分布相似性。DPGN 在第 l 个 generation 之后对 query 样本进行预测

在这一节,我们将详细介绍我们提出用于小样本学习的 DPGN 模型。如图 2 所示,DPGN 有 l 个 generations,并且每个 generation 中包括一个点图 G l p = ( V l p , E l p ) G_l^p=(V_l^p, E_l^p) Glp=(Vlp,Elp) 和一个分布图 G l d = ( V l d , E l d ) G_l^d=(V_l^d, E_l^d) Gld=(Vld,Eld)。首先,通过一个卷积架构对所有样本进行特征提取,使用得到的特征向量对实例相似性 E l p E_l^p El

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值