Edge-labeling graph neural network for few-shot learning in CVPR论文笔记
参考链接:
N-Way K-Shot 分类问题
论文链接
论文标题:Edge-labeling graph neural network for few-shot learning
发表期刊:Computer Vision and Pattern Recognition (CVPR), 2019
本文作者:J. Kim, T. Kim, S. Kim, and C. D. Yoo
- the N-way K-shot problem
- 指用少量样本构建分类任务。
- 每次在构建分类任务时,从数据集里抽取N-类的数据,每一类数据由K-个样本构成。这样就形成了一个小型分类任务的数据集,实际上就是原始数据集的一次采样。
- the compact support set of the task:该紧凑集包含的信息量虽少,但足以概括任务的关键特征,使得模型能够从有限的数据中有效地提取出任务的本质特征,而不需要访问整个支持集。
idea
每个节点都对应一个样本,其初始值是来自一个嵌入式模型根据输入 提取的特征向量。每个边缘特征是一个二维的向量,分别表示两个连接节点之间类间关系和类内关系的强度,其初始值如下
EGNN的训练过程
图中实线圆圈表示支持集样本,虚线圆圈表示查询集样本,不同颜色表示不同类别,方块表示两个节点之间的相似程度,颜色越深表示相似程度越高。整个网络分为L层,正向计算过程就是逐层的更新节点和边的特征。首先更新节点特征 ,其特征值是根据前一层的节点特征 和边特征 通过邻域聚合过程得到的,计算过程如下
类内聚合为目标节点提供了相似邻居的信息,而类间聚合则提供了不相似邻居的信息。
损失函数是对边的预测值进行监督,计算方式如下
表示在第l ll层网络的第m mm个任务中的所有边预测值的集合,因为每层网络都可以输出预测结果,因此本文对每一层网络的输出都进行了监督,基础损失函数Le 采用二元交叉熵损失函数
分布图是通过两两比较的方式从实例图构建。除了节点特征之外,还利用边缘特征来显式地建模每个图中的类间相异性和类内相似性。实例图的一个节点代表一个实例。 分布图的节点是通过成对比较(一个实例与所有其他实例)的方式生成的。
使用 2 路 2-shot 少样本学习问题作为示例。 “A”和“B”表示两种不同的关系。 “A1”和“A2”代表“A”关系的两个不同实例。 所提出的方法由四个部分组成:关系表示提取、边缘标记图初始化、对偶图交互和损失生成。值得注意的是,边缘标记图能够显式地对每个单独图中的类间差异性和类内相似性进行建模。 接下来,双图交互模块的目标是通过考虑实例和分布级别的信息,将标签信息从带注释的样本传播到未注释的样本。 具体来说,实例图和分布图以循环流的方式相互迭代更新(参见算法1),这导致两个图的实例级和分布级关系之间的充分融合。
双图神经网络:提出了一种双图神经网络结构,通过两个互相独立但又相互交互的图来处理不同关系类别,提升模型对新关系的学习能力。
图1(已知关系图):包含已标注的关系样本,作为已知关系的图。每个节点表示一个实体,边表示实体之间的已知关系。
图2(未知关系图):用于处理待预测的未知关系,通过已知关系图的信息帮助学习。
信息交互机制:设计了信息交互机制,使得不同关系类别之间可以进行知识共享和信息传递,从而提高模型的泛化能力。
信息传播:两个图之间通过信息传播机制进行交互。已知关系图中的信息(如特征、上下文)被传递到未知关系图中,以增强对未知关系的理解。
节点特征更新:在每一轮信息传播中,节点特征会根据其邻居节点的信息进行更新,提升节点对关系的表征能力。
样本对比:在训练过程中,通过对比已知关系样本和未知关系样本,最大化它们之间的相似度,并最小化不相关样本之间的相似度