论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning

1. 论文相关

CVPR2019

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第1张图片
image.png

2.摘要

2.1 摘要

本文提出了一种新的边标记图神经网络 (edge-labeling graph neural network,EGNN),它在边标记图上采用深度神经网络进行小样本学习。以往的图神经网络(GNN)方法都是基于节点标记框架(node-labeling framework),隐式地模拟了簇内相似性和簇间不相似性(intra-cluster similarity and the inter-cluster dissimilarity)。相比之下,提出的EGNN通过迭代更新边带,直接利用簇内相似性和簇间不相似性,学习预测图上的边标签而不是节点标签,从而实现显式聚类的进化。它也非常适合在不需要重新训练的情况下对不同数量的类执行操作,并且可以很容易地扩展以执行一个直推式学习(transductive inference)。通过带边标记损失(edge-labeling loss)的episodic训练来学习EGNN的参数,得到了一个适用于不可见小数据问题的可推广模型。在具有两个基准数据集的监督和半监督的小样本图像分类任务中,所提出的EGNN显著地改善了现有GNS的性能。

2.2 主要贡献

我们的主要贡献概括如下:
(1)EGNN首先被提出用于小样本学习,利用簇内相似性和簇间不同性迭代更新边标签。它也能够很好地适合在不同数量的类上执行而无需再训练。
(2)它由若干层组成,其中每一层由节点更新块和边更新块组成,其中相应的参数在episodic training框架下估计。
(3)使用所提出的EGNN研究了传导和非传导学习或推理(transductive and non-transductive learning or inference)。
(4)在两个基准数据集的监督和半监督的小样本图像分类任务中,所提出的EGNN显著地改善了现有GNN的性能。此外,一些消融实验(ablation experiments)显示了显式聚类的优点,以及聚类内相似性和聚类间差异性的分离利用。

2.3 思想

(1) 最近,有人提出了一些探索GNNs的方法来进行小样本学习[6,12]。具体地说,给出了一个新的具有少量支持集的任务,Garcia和Bruna[6]首先提出了一个图,其中支持集和查询的所有示例都是紧密连接的。每个输入节点由嵌入特征(例如卷积神经网络的输出)和给定的标签信息(例如一个热编码标签)表示。然后,通过迭代更新邻域聚合(aggregation)中的节点特征,对未标记的查询进行分类。Liu等人[12]提出了一种基于深度神经网络的节点特征的传导传播网络(transductive propagation network,TPN)。在测试时,它使用一个公共的图参数集(common graph parameter set)在整个支持和查询实例上迭代地传播独热编码标签(one-hot encoded labels)。在这里,我们注意到,上述用于小样本学习的GNN方法主要基于节点标记框架,该框架隐式地模拟了簇内相似性和簇间不同性(intra-cluster similarity and inter-cluster dissimilarity)。

(2) 相反,边标记框架(edge-labeling framework)能够显式地执行表示学习和度量学习的聚类,因此它直观地是一种更有效的框架来推断查询关联到现有的支持簇。此外,它不需要预先指定集群数量(例如类基数或数量),而节点标记框架必须根据每个集群数量分别训练模型。边标记的显式利用表明关联的两个节点是否属于同一个簇(类),以前在相关聚类的朴素(超)图[35]和引文网络或动态系统的GNNs[36,37]中都采用过,但从未应用于小样本学习的图。因此,在本文中,我们提出了一个边标记GNN(EGNN)用于小样本学习,特别是在小样本分类的任务上。

提出的EGNN由若干层组成,每一层由节点更新块和边更新块组成。具体来说,跨层的EGNN不仅更新了节点特征,而且显式地调整了边特征,反映了两个连接节点对的边,直接利用了簇内相似性和簇间不相似性。如图1所示,在多个可选节点和边特征更新之后,可以从最终的边特征获得边标签预测。然后计算边损失,用一种著名的元学习策略,称为episodic训练,更新EGNN的参数[2,9]。EGNN很自然地能够执行一个直推式学习(transductive inference)一次预测所有测试(查询)样本作为一个整体,这表明在大多数情况下,当提供一些标记的训练样本时,预测更加稳健。此外,EGNN中的边标记框架能够处理不同数量的类,而无需重新构造或重新训练。我们将通过实验结果表明,在两个基准小样本图像分类数据集,EGNN优于其他小样本学习算法,包括现有的GNN在监督和半监督的情况下。

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第2张图片
image.png

3.方法

在这一部分中,介绍了小样本分类任务的定义,并对提出的算法进行了详细的描述。

3.1. 问题定义:小样本分类

3.2. 模型

本节描述了提出的用于小样本分类的EGNN,如图2所示。给定目标任务所有样本的特征表示(从联合训练的卷积神经网络中提取),首先构造一个完全连通图(fully-connected graph),其中每个节点表示每个样本,每个边表示两个连通节点之间的关系类型;设G=(V,E;T)是用任务T中的样本构造的图,其中和分别表示图的节点集和边集。设和分别为的节点特征和边特征E_{i j}。是任务T中的样本总数。每个真值边标签由真值节点标签定义为:

image.png

每个边特征是表示两个连接节点的类内和类间关系的(规范化)强度的二维向量。这允许分别利用集群内相似性和集群间不同性。

节点特征由卷积嵌入网络的输出初始化,其中对应的参数集(见图3(a))。边特征由边标签初始化,如下所示:

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第3张图片
image.png

其中| |是连接操作(concatenation operation)。

EGNN由处理图的层组成,用于推理的EGNN的前向传播是节点特征和边特征通过层的交替更新(alternative update)。

详细说明,从第层给出和,首先通过邻域聚集过程(neighborhood aggregation procedure)进行节点特征更新。通过首先聚集与其边特征成比例的其他节点的特征,然后执行特征变换来更新层上的特征节点;层上的边特征被用作对应邻居节点的贡献度,类似于如下的注意机制:

image.png
image.png

其中,和是特征(节点)转换网络(feature (node) transformation network),如图3(b)所示,并设置了参数。需要注意的是,除了传统的类内聚合之外,我们还考虑了类间聚合。类内聚合为目标节点提供“相似邻居”信息,类间聚合为目标节点提供“不相似邻居”信息。

然后,基于新更新的节点特征进行边特征更新。重新获得每对节点之间的(不)相似度,并通过结合先前的边特征值和更新后的(不)相似度来更新每个边的特征,如下:

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第4张图片
image.png

是度量网络用参数计算相似度得分。特别的,节点特征流入边,边特征向量的每个元素分别从每个标准化的簇内相似性或簇间相似性中更新。也就是说,每一次边更新不仅要考虑对应节点对之间的关系,还要考虑其他节点对之间的关系。我们可以选择使用两个独立的度量网络来计算每个相似性或不同性(例如,独立的而不是)。

当节点和边特征交替更新次时,可以从最终的边特征中得到边标签预测,即。在这里,可以看作是两个节点来自同一类的概率。因此,利用支持集标签和边标签预测结果,可以通过简单的加权投票对每个节点进行分类。节点的预测概率可表述为:

image.png

其中是Kronecker delta函数,当时等于1,否则等于零。节点分类的另一种方法是使用图聚类;整个图G可以首先被划分成簇,使用边预测和通过线性规划进行有效划分的优化[35],然后每个簇可以用它包含的最多的支持标签进行标记。

然而,在本文中,我们简单地应用式(7)来获得分类结果。算法1总结了测试时EGNN推理的总体算法。非传导性推理是指查询样本数T=1,或者它单独执行一个接一个的查询推理,而传导性推理(transductive inference)在一个图中同时对所有查询样本进行分类。

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第5张图片
image.png
论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第6张图片
image.png

3.3. 训练

在episodic training过程中的某一迭代中,给定M个训练任务,通过最小化以下损失函数,以端到端的方式训练所提出的EGNN的参数:

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第7张图片
image.png

和分别是在第层第个任务的所有真值查询边标签的集合和所有(实值)查询边预测的集合。边损失定义为二元交叉熵损失。由于边预测结果不仅可以从最后一层得到,还可以从其他层得到,因此总损失将所有层中计算的所有损失合并在一起,以改善较低层中的梯度流。

4. 实验

我们在两个小样本学习基准上评估并比较了我们的EGNN[2]和目前最新的方法,即minimagenet[2]和tieredImageNet[7]。

4.1. 数据集集合

miniImageNet是[2]在原始ILSVRC-12数据集[47]的基础上提出的最流行的少镜头学习基准。所有图像均为RGB彩色,大小为84×84像素,从100个不同类中采样,每个类600个样本。我们分别跟踪了[8]-64、16和20个训练、验证和测试类中使用的分割。

tieredImageNet与miniImageNet数据集类似,tieredImageNet[7]也是ILSVRC-12[47]的一个子集。与minimagenet相比,它有更多的图像(超过700K)从更多的类(608类而不是100类minimagenet)中采样。重要的是,与minimagenet不同,tieredImageNet采用层次分类结构,其中608个类中的每一个都属于从Imagenet中的高级节点采样的34个高级类别之一。每一个高层次的类别包含10到20个类,分为20个训练(351个类)、6个验证(97个类)和8个测试(160个类)类别。每个类中的平均图像数是1281。

4.2. 实验设置

Network Architecture

特征嵌入模块,一个由四个块组成的卷积神经网络,被用于大多数镜头学习模型中[2,3,4,6],没有任何跳跃连接[3]。更具体地说,每个卷积块由3×3卷积、批量归一化和LeakyReLU激活组成。图3详细描述了EGNN中使用的所有网络架构。

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第8张图片
image.png
评估(Evaluation)

对两个数据集,我们进行了一个5-way 5-shot实验,这是标准的小样本学习设置之一。为了进行评估,每一个测试集是由5个类中的每一个随机抽样15个查询而形成的,并且性能是从测试集中随机生成的600多个集的平均值。特别是,我们还进行了一个更具挑战性的10 MixInEnter实验,以证明我们的EGNN模型的灵活性,当不同的类之间的元训练阶段和元测试阶段,这将在第4.5节。

Training

利用Adam优化器对模型进行训练,初始学习率为5×10-4,权值衰减为10-6。元训练的任务小批量分别设置为40和20,用于5-way 和 10-way实验。对于minimagenet,我们每15000集学习率减半,而对于tieredImageNet,每30000集学习率减半,因为它是更大的数据集,需要更多的迭代才能收敛。我们所有的代码都是在Pytorch[48]中实现的,并使用NVIDIA Tesla P40 gpu运行。

4.3. 小样本分类

所提出的EGNN模型的小样本分类性能与表1a和1b中的几种最新模型进行了比较。这里,如[12]所示,根据三种不同的传导设置,所有模型被分为三类;“no”表示非传导方法,其中每个查询样本独立于其他查询进行预测,“Yes”表示所有查询同时处理和预测在一起的transductive方法,“BN”表示使用查询批统计信息而不是全局批规范化参数,这可以看作是测试时的一种传导推理(transductive inference)。

所提出的EGNN在导通和非导通两种情况下进行了测试。如表1a所示,EGNN在minimagenet的5-way 5-shot设置中,无论是在传导设置还是非传导设置中,都显示出最佳性能。值得注意的是,EGNN的性能优于node-labeling-GNN[6],后者支持我们的边标记框架对小样本学习的有效性。此外,EGNN-with-transference(EGNN+transference)在这两个数据集上都优于次优方法(TPN[12]),尤其是在minimagenet上的表现更为显著。表1b显示,与非导通设置相比,tieredimagnet上的导通设置的性能最好,并且有较大的改进。在TPN中,只有支持集的标签使用一个公共的Laplacian矩阵传播到基于成对节点特征仿射的查询中,因此查询之间只能通过它们的嵌入特征相似度进行通信。相比之下,我们提出的EGNN允许我们考虑查询样本之间更复杂的交互,通过在具有不同参数集的图层上相互传播节点特征和边标签信息。此外,TPN的节点特征在标签传播过程中是固定不变的,这使得TPN可以导出一个封闭形式的一步标签传播方程。相反,在我们的EGNN中,节点和边特征都是动态变化的,并通过几个更新步骤逐步适应给定的任务。

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第9张图片
image.png

4.4. 半监督小样本分类

对于半监督实验,我们遵循[6]中描述的相同设置进行公平比较。这是一个5-way 5-shot设置,但支持样本仅部分标记。标记样本在类之间是平衡的,这样所有类都有相同数量的标记样本和未标记样本。在miniImagenet上获得的结果如表2所示。这里,“labeled only”表示仅使用标记的支持样本进行学习,“Semi”表示上述的半监督设置。根据20%和40%,60%的支持样本被标记,给出了不同的结果,并与节点标记GNN进行了比较。如表2所示,半监督学习在所有情况下都比仅标记学习提高了性能。值得注意的是,EGNN在半监督学习(尤其是在标记部分很小的情况下)上的表现比先前的GNN[6]有很大的优势(61.88%比52.45%)。在传导设置(EGNN-Semi(T))上,性能得到了更大的提高。简而言之,与节点标记框架相比,我们的EGNN能够从未标记的样本中提取更多有用的信息,无论是在传导和非传导设置下。


论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第10张图片
image.png

4.5. 消融研究

提出的边标记GNN有一个由多个节点和边更新层组成的深层结构。因此,随着模型越来越深,层越来越多,任务样本之间的交互应该更密集地传播,这可能会导致性能改进。为了支持这一说法,我们比较了不同EGNN层数下的少量镜头学习性能,结果如表3所示。随着EGNN层数的增加,性能得到改善。当图层层数从1到2(67.99%×73.19%)变化,以及三层的额外增益(76.37%)时,在镜头精度上存在很大的跳跃。

提出的EGNN的另一个关键组成部分是在节点/边缘更新中分别利用簇内相似性和簇间不同性。为了验证这种方法的有效性,我们进行了只进行簇内聚合的实验,并将实验结果与两种聚合方法的结果进行了比较。结果见表3。对于所有的EGNN层,使用独立的簇间聚合明显地提高了性能。

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第11张图片
image.png

另外,与以往的节点标记GNN相比,本文提出的边缘标记框架更有利于解决任意元测试设置下的小样本问题,特别是当元测试的小样本类数与元训练的不匹配时。为了验证这一说法,我们使用EGNN进行了一个交叉实验,结果如表4所示。在这里,模型用5路5投设置进行训练,用10路5投设置进行测试,反之亦然。有趣的是,这两种交叉方式的结果都与使用匹配方式设置获得的结果相似。因此,我们可以观察到,EGNN可以成功地扩展到无需对模型进行重新训练的修改的小样本设置,而先前标记GNN[6]的节点是甚至不适用于交叉通道设置,因为模型的大小和参数取决于通道的数量。


论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第12张图片
image.png

图4显示了t-SNE[49]上一个标记GNN和EGNN的节点特性的可视化。GNN在第一层传播后倾向于在支持样本之间表现出良好的聚类性,但是查询样本大量地聚集在一起,根据每个标签,查询样本和它们的支持样本永远不会紧密地聚集在一起,特别是在更多层传播的情况下,这意味着GNN的最后一个完全连接层实际上似乎在查询分类中扮演了大多数角色。相比之下,在我们的EGNN中,随着层传播的进行,如果查询和支持样本的标签不同,它们都会被拉走,同时,相同标签的查询和支持样本会紧密地结合在一起。

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第13张图片
image.png

为了进一步分析,图5显示了边特征如何在EGNN中传播。从所有查询边初始化为0.5的初始特征开始,边特征在经过几个EGNN层时逐渐演化为与真值边标签相似的特征。

论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning_第14张图片
image.png

5. 结论

这项工作解决了小样本学习问题,特别是在小样本分类任务上。我们提出了新的EGNN,其目的是迭代更新边的标签推断查询关联到现有的支持集群。在EGNN过程中,通过不同参数集的图层,利用簇内相似度和簇间相似度进行多个节点和边特征交替更新,并根据最终的边特征进行边标签预测。利用边标记损失对EGNN的参数进行episodic训练。实验结果表明,所提出的EGNN在有监督和半有监督的小样本图像分类任务上均优于其他的小样本学习算法。该框架适用于各种各样的元聚类任务(meta-clustering tasks)。在以后的工作中,我们可以考虑与有效图聚类相关的另一个训练损失,例如循环损失[35]。另一个有希望的方向是图的稀疏化,例如构造K-nearest neighbor graphs[50],这将使我们的算法更适合于更大数量的样本。

参考资料

[1] 论文笔记:Edge-Labeling Graph Neural Network for Few shot Learning
[2] [2019][cvpr]Edge-Labeling Graph Neural Network for Few-shot Learning 笔记

[3]

论文下载

[1] Edge-labeling Graph Neural Network for Few-shot Learning

代码

[1] # khy0809/fewshot-egnn

你可能感兴趣的:(论文阅读(78)Edge-labeling Graph Neural Network for Few-shot Learning)