Abstract
大多数基于图网络的元学习方法建模实例级的实例关系。我们将这一思想进一步扩展,以1-vs- n的方式显式地建模一个示例与所有其他示例的分布级关系。提出了一种新的分布式传播图网络(DPGN)算法。它同时表达了每一个小样本学习任务的分布级关系和实例级关系。为了将所有实例的分布级关系和实例级关系结合起来,构造了一个由点图和分布图组成的对偶完全图网络,每个节点代表一个实例。DPGN采用双图结构,在几次更新中,将标签信息从有标签的例子传播到无标签的例子。在少量学习基准的大量实验中,DPGN在监督设置下的表现比最先进的结果好5% ~ 12%,在半监督设置下的表现比最先进的结果好7% ~ 13%。代码可以在 http://github.com/megviiresearch/DPGN找到。
Introduction
深度学习的成功植根于大量的标注数据,而人类在看到很少的例子后就能很好地归纳。这两个事实之间的矛盾引起了对小样本学习研究的极大关注。小样本学习任务的目标是在给定少量有标记数据(支持集)的情况下预测无标记数据(查询集)。
微调是目前在实践中从一个小训练数据集获得预测模型的实际方法。然而,它遭受过度拟合问题。元学习方法引入了“episode”的概念来明确地解决“少量”问题。
一个episode是一轮模型训练,在每个episode中,从训练数据中每个类中随机抽取的例子只有几个(如1或5)。元学习方法采用训练器(也称为元学习器),它获取少量训练数据并输出分类器。这个过程被称为episodic训练。在元学习的框架下,提出了构建高效元学习者的多元假设。
在最近的研究中,一个上升的趋势是使用图网络处理训练数据,这是一个强大的模型,它概括了许多数据结构(列表,树),同时引入了对数据的组合先验。提出了少shot GNN构建一个完整的图网络,将每个节点特征与相应的类标签连接起来,然后通过图网络的注意机制更新节点特征,传播标签信息。为了进一步利用基于图的网络中的簇内相似性和簇间差异性,EGNN在episode 训练框架下演示了一个边缘标记图神经网络。
值得注意的是,以往在小样本学习中的GNN研究主要集中在节点标记或边缘标记等成对关系上,而忽略了大量的实质分布关系。此外,其他元学习方法声称通过episode 训练来利用全局关系的好处,但是以一种隐含的方式。
如图1所示,首先,我们提取支持和查询样本的实例特征。然后,通过计算所有支持样本的实例级相似度,得到每个样本的分布特征。为了利用每个例子的实例级和分布级表示,并在不同的级别独立处理表示,我们提出了一个双图架构:点图(PG)和分布图(DG)。具体来说,PG通过收集每个样本的1-vs-n关系来生成DG,而DG通过传递每对样本之间的分配关系来细化PG。这样的循环转换充分融合了实例级和分布级关系,这种聚集-比较过程的多代(轮)总结了我们的方法。此外,还可以将DPGN扩展到半监督的小样本学习任务,即支持集包含每个类的标记样本和未标记样本。DPGN以相似度分布的形式在标记样本和未标记样本之间建立起桥梁连接,使得半监督少镜头分类中标记信息能够更好地传播。
Contributions
1. 据我们所知,DPGN是第一个明确地将分布传播引入图网络进行小样本学习的。进一步的烧蚀研究证明了这种分布关系的有效性。
2. 我们设计了结合实例级和分布级关系的对偶完全图网络。该框架中的循环更新策略有助于使用分布信息增强实例特性。
3. 在四种常用的基准数据集上进行了大量的实验。通过与所有先进方法的比较,DPGN在少量镜头分类准确率上平均提高了5% ~ 12%。在半监督任务中,我们的算法比现有的基于图的少射学习方法的性能提高了7% ~ 13%。
Method
1 问题定义
小样本学习任务的目的是训练一个模型,使其能够在只有少量样本的情况下表现良好。
2 分布传播图网络
DPGN包含L层生成器,每个生成器包含点图
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 Elp 。
- 第 二,实例关系 E l p E_l^p Elp 被传递去构建分布图 G l d 。 G_l^d 。 Gld。节点特征 V l d 被 V_l^d被 Vld被初始化通过按照 G l p 的 G_l^p 的 Glp的位置顺序聚合 E l p , E_l^p, Elp,边缘特征 E l d 表 E_l^d 表 Eld表示节点特征 V l d V_l^d Vld 之间的分布相似性。
- 最后,将得到的
E
l
d
交
付
给
G
l
p
E_l^d 交付给G_l^p
Eld交付给Glp,用于构造节点$V_l^p $的更有鉴别性的表示。我们一代代重复上述过程。
为了更进一步解释,我们规定:
2.1 Point-to-Distribution Aggregation
**点相似性:**点图中的每条边代表实例(点)相似度,初始化第一代边
e
0
,
i
j
p
e_{0,ij}^p
e0,ijp如下:
该嵌入网络包含两个Conv-BN-ReLU块,其参数为
θ
e
0
p
θ_{e_0^p}
θe0p 。
为了从图G_l^p 的整体角度利用边缘信息,对e_(l,ij)^p 进行归一化操作。
P2D Aggregation:
在
图
G
l
p
的
边
特
征
E
l
p
被
生
成
或
更
新
好
后
,
分
布
图
G
l
d
=
(
V
l
d
,
E
l
d
)
接
下
来
需
要
被
构
建
。
在图G_l^p 的边特征E_l^p 被生成或更新好后,分布图G_l^d=(V_l^d,E_l^d )接下来需要被构建。
在图Glp的边特征Elp被生成或更新好后,分布图Gld=(Vld,Eld)接下来需要被构建。
正
如
图
3
所
示
,
G
l
d
目
的
在
于
从
点
图
G
l
p
中
集
成
实
例
关
系
,
来
构
建
分
布
级
关
系
。
在
G
l
d
中
每
一
个
分
布
特
征
V
(
l
,
i
)
d
正如图3所示,G_l^d 目的在于从点图G_l^p 中集成实例关系,来构建分布级关系。 在G_l^d 中每一个分布特征V_(l,i)^d
正如图3所示,Gld目的在于从点图Glp中集成实例关系,来构建分布级关系。在Gld中每一个分布特征V(l,i)d是一个NK维的特征向量,其中第j项的值代表样本xi和样本xj之间的关系,NK表示一个任务中支持集样本的总的数量。
对于第一次初始化:
2.2 Distribution-to-Point Aggregation
Distribution Similarity:分布图中的每条边代表不同样本分布特征之间的相似性。
第一次初始化时:
D2P Aggregation:如图3所示,在
G
l
d
中
G_l^d 中
Gld中编码的分布信息在每次生成结束时流回点图
G
l
p
G_l^p
Glp。
在 G l p 中 的 节 点 特 征 V ( l , i ) p G_l^p 中的节点特征V_(l,i)^p Glp中的节点特征V(l,i)p捕获分布关系通过用边特征 E ( l , i ) d 聚 合 G l p E_(l,i)^d 聚合G_l^p E(l,i)d聚合Glp 中所有节点特征,如下:
目标
每个节点的类预测可以通过将最后一代DPGN中对应的边输入softmax函数来计算:
Point Loss:
值得注意的是,我们对每个样本在点图中进行分类预测。因此,点损失在每一代的定义如下:
Distribution Loss:
为了方便训练过程和学习鉴别分布特征,我们考虑了分布损失,这对更快更好地收敛具有重要作用。我们将每代分布损失定义如下:
Total Loss: