原文链接:OpenWGL: Open-World Graph Learning | IEEE Conference Publication | IEEE Xplore
摘要
在传统的图学习任务(如节点分类)中,学习是在一个封闭的环境中进行的,其中提供了类的数量及其训练样本来帮助训练模型,学习目标是将未标记的节点正确地分类到已知的类中。事实上,由于网络的标记能力有限和动态演化,网络中的一些节点可能不属于任何现有/可见类,因此无法通过封闭世界学习算法进行正确分类。本文提出了一种新的开放世界图学习范式,其学习目标不仅是将属于可见类的节点分类为正确的组,而且将不属于现有类的节点分类为不可见类。开放世界图学习的基本挑战是:(1)看不见的类没有带标签的样本,并且可能以不同于现有可见类的任意形式存在;(2)图特征学习和预测都应该区分节点可能属于现有/可见类还是不可见类。为了应对这些挑战,提出了一种不确定节点表示学习方法,使用约束变分图自动编码网络,其中标签损失和类不确定性损失约束用于确保节点表示学习对看不见的类敏感。因此,节点嵌入特征由分布表示,而不是确定性特征向量。通过使用采样过程生成多个版本的特征向量,能够测试属于可见类的节点的确定性,并自动确定一个阈值,将不属于可见类的节点拒绝为不可见类节点。在真实网络上的实验证明了该算法的性能,并与基线进行了比较。
1. INTRODUCTION
为了开发适用于不同类型节点分类任务的可靠高效的算法,人们进行了大量的研究工作。然而,现有的方法主要在“封闭世界”环境中进行学习,其中测试数据中的节点必须属于训练过程中已经见过的一个或多个类。因此,当测试集中出现新的/没见过的类别节点时,分类器无法检测到新的/没见过的类,并错误地将节点分类为训练数据中的可见/学习到的类。
事实上,新类不断出现,一个无法检测到这些新的/没有见过的类的模型很难在动态环境中正常工作。这个问题被称为开放世界分类或开集分类问题。新的“开放世界”学习(OWL)范式不仅可以识别属于以前已经见过/学习过的类的对象,还可以检测以前没有见过的新类样本。
有几种方法,如one-class SVM,可以通过将所有可见类视为正类来调整以解决开放世界学习问题,但它们无法区分可见类中的实例,并且通常在查找不可见类时表现不佳,因为没有使用负数据。迄今为止,开放世界学习在自然语言处理(NLP)和计算机视觉领域有了广泛的研究。在NLP领域,Shu等人提出了开放世界学习的解决方案,通过在sigmoid函数之前设置阈值来拒绝看不见的类。在计算机视觉中,Scheirer等人研究了通过减少具有正区域的二值SVM分类器的半空间来识别不在训练数据中的未见过图像的问题。
给定一个由可见类和不可见类节点组成的图,开放世界图学习的目标是构建一个分类器,将属于可见类的节点分类为正确的类别,并将不属于任何可见类的节点检测为不可见类。图1显示出了用于图节点分类的开放世界学习的示例。
目前,现有的开放世界学习解决方案主要集中在文档或图像上,无法直接应用于图结构数据和图学习任务,因为它们无法对节点分类的核心图结构信息进行建模。
图学习的挑战在于,图具有节点内容和结构信息。此外,现有的节点分类任务解决方案都是基于封闭世界假设,即测试数据中出现的类必须在训练中出现。例如,图卷积网络(GCN)的基本思想是开发一个卷积层来利用图的结构信息,并使用分类损失函数来指导分类任务。然而,它们直接使用softmax作为最终输出层,因为每个类的预测概率在所有训练/看到的类中都是标准化的,所以它对看不见的类节点没有拒绝能力。此外,在表示学习方面,现有的大多数图学习方法都采用特征工程或深度学习来提取特征向量。然而,这些模型只能生成确定性映射来捕获节点的潜在特征。它们的一个主要限制是无法表示由不完整或有限的可用数据引起的不确定性。
在本文中,提出了研究图数据的开放世界学习。考虑到复杂的图数据结构和节点分类任务,总结了以下主要挑战:
- 挑战1:如何在图中设计一个端到端的开放世界图学习框架,其中看不见的类没有带标签的样本,并且可能以不同于看到的类的任意形式存在。现有的图神经网络(GNN)是基于封闭世界假设构建的典型网络,无法检测出看不见的类。
- 挑战2:如何对节点表示的不确定性进行建模,并提高图形的稳健性。许多现有的基于GNN的方法只生成确定性映射来捕获节点的潜在特征。
为了克服上述挑战,本文提出了一种新的用于节点分类任务的开放世界图学习范式(OpenWGL)。对于挑战1,采用了两个损失约束(标签损失和类不确定性损失),以确保节点表示学习对不可见类敏感,并帮助模型区分节点是属于现有/可见类还是不可见类。图2中的实验可视化了一个测试数据集,可以说明本文的方法的有效性。在图2(a)中,仅使用标签损失(交叉熵损失),它在现有/可见类节点上具有良好的性能,但看不见的类节点无法区分,将随机分类为可见类。在图2(b)中,引入了一个类不确定性损失约束,它可以降低不可见类节点被分类为可见类的概率,因此有助于检测不可见类节点,而不会影响可见类节点的分类。对于挑战2,本文不学习确定性节点特征向量,而是利用图变分自动编码器模块学习潜在分布来表示每个节点。在分类阶段,使用一种新的采样过程来生成多个版本的特征向量,以测试属于可见类的节点的确定性,并自动确定阈值,拒绝不属于可见类的节点。
本文的贡献可以总结如下:
- 为图结构数据制定了一个新的开放世界学习问题,并提出了一个新的深度学习模型OpenWGL作为解决方案;
- 提出了一种不确定节点表示学习方法,通过使用标签损失和类不确定损失来约束变分图自动编码器学习对不可见类敏感的节点表示
- 提出使用抽样过程来测试属于可见类的节点的确定性,并自动确定一个阈值,将不属于可见类的节点拒绝为不可见类节点
- 在基准图数据集上的实验表明,本文的方法优于基线方法。
2. RELATED WORK
2.1 Open-World Learning
开放世界学习旨在识别学习以前见过的类别,并发现从未见过的新类别。有一些开放世界学习的早期探索:Scholkopf等人采用one-class SVM作为分类器,由于没有使用负样本,因此表现出较差的性能。Fei和Liu提出了一种基于中心的相似度(CBS)空间学习方法,该方法首先为每个类计算一个中心,并将每个文档转换为中心的相似度向量。Fei等人然后通过增加增量或累积学习新类的能力来扩展他们的工作。
最近,开放世界学习在自然语言处理和计算机视觉(称为开放集识别)中得到了研究。在NLP中,Shu等人提出了开放世界学习的深度学习解决方案,通过在sigmoid函数之前设置阈值来拒绝看不见的类。Xu等人提出了一种新的基于元学习的开放世界学习模型,该模型允许添加或删除新的类别,而无需重新训练模型。在计算机视觉中,Scheirer等人研究了通过减少具有正区域的二值SVM分类器的半空间来识别不在训练数据中的未见过图像的问题。在[7]和[8]中,Scheirer等人利用概率阈值来检测新类,而他们的模型由于缺乏先验知识而很弱。
2.2 Emerging Class and Outlier Detection
本文的研究还涉及监督学习中的新类检测,如流数据挖掘和多实例学习,以及离群点检测。
在监督学习中,假设实例至少属于预定义类中的一个,并且训练分类器来学习以将样本分类到已知类中。当一个类在训练分类器时未知或不可用时,在测试阶段,理想的分类器预计能够检测到新出现的类。检测新类别样本的常见解决方案是使用决策阈值来给出置信度得分,包括多层神经网络来增加阈值,并且置信度低于阈值的样本被识别为新类别。不幸的是,仅仅增加阈值就会使现有的类样本被错误分类。
另一方面,异常值检测旨在检测异常偏离基础数据的数据实例。提出了一些基于距离的孤立点检测方法,如单类支持向量机,其中通过找到一个包含正常数据样本的超球体来获得正常数据域。最近的一种方法提出从数据流中检测异常值,但没有解决通过异常值检测新类的问题。
2.3 Graph Neural Networks
图神经网络(GNNs)设计目的是在图形结构数据上使用深度学习架构。最经典的模型是GCN,它是一种深度卷积学习范式,用于在卷积层中集成局部节点特征和图形拓扑结构的图形结构数据。GraphSAGE是GCN的一个变体,它为特征提取设计了不同的聚合方法。尽管GCN在用于节点分类等半监督学习任务的图结构数据方面表现出了优异的性能,但变分图自动编码器(VGAE)将其扩展到了无监督场景。具体而言,VGAE通过使用图卷积编码器和简单内积解码器将GCN集成到变分编码器框架中。
3. PROBLEM DEFINITION AND OVERALL FRAMEWORK
3.1 Problem Statement
图节点分类:图表示为,其中
表示图中的节点集,
表示边。图
的拓扑结构可以用邻接矩阵
表示,其中如果
则
,否则
。
表示每个节点
的特征。
是
的标签矩阵,其中
是
中的节点数,
是已知/可见的节点类别数。如果是节点
与标签
关联,
;否则,
。
开放世界图学习:给定一个图,
,其中
表示训练数据(标记节点),
表示测试节点(未标记节点)。假设
,其中
是属于已出现在
中的可见类的节点集,
是不属于任何可见类的节点集(即,不可见类节点)。图的开放世界学习旨在学习(C+1)类分类器模型
,
,将每个测试节点
分类到
中的一个已知类,并拒绝
,以表明它不属于任何已知类。
3.2 Overall Framework
- 节点不确定性表示学习。大多数GCN模型生成确定性映射以捕获节点的潜在特征。这些模型的一个主要局限性是,它们无法表示不完整或有限可用数据造成的不确定性。为了更好地学习每个节点的表示,本文采用变分图自编码网络来获得每个节点的潜在分布,从而能够表示不确定性并提高鲁棒性。
- 开放世界分类器学习。为了将可见的类节点分类到各自对应的类别中,并检测不可见的类节点,本文引入了两个约束,即标签损失和类不确定性损失,以区分节点是属于已知类还是未知类。
- 开放世界分类和拒绝。为了在测试阶段执行推理(即,进行分类或拒绝),提出了一种新的采样过程来生成多个版本的特征向量,以测试属于可见类的节点的确定性,并自动确定拒绝不可见类节点的阈值。
4. METHODOLOGY
4.1 Node Uncertainty Representation Learning
为了对每个节点的潜在特征信息进行编码并获得有效的不确定性表示,本文采用变分图自编码网络(VGAE)根据提取的节点特征生成潜在分布,能够利用不确定性进行鲁棒表示学习。
图编码器模型:给定一个图,为了在统一的框架中表示节点内容
和图结构
,本文首先使用了两层GCN。给定输入特征矩阵
和邻接矩阵
,第一个GCN层生成低维特征矩阵,定义如下:
其中是具有自循环的邻接矩阵(
是单位矩阵),且
。因此
是归一化邻接矩阵。
是网络的可训练参数,ReLU(·)表示激活函数。
对于第二层GCN模型,假设输出Z是连续的,服从多元高斯分布,而不是生成确定性表示。因此,本文遵循推理模型:
这里,是平均向量
的矩阵;
是分布的标准方差矩阵,
。然后可以使用参数化技巧计算
:
其中是零向量,
是单位矩阵。通过使用潜变量
,模型能够捕获数据中复杂的噪声模式。
图解码器模型:在得到潜在变量后,使用解码器模型重建图结构
,以更好地了解两个节点之间的关系。这里,图形解码器模型由生成模型定义:
其中,是
的元素,
表示逻辑sigmoid函数。
优化:为了更好地学习类判别节点表示,本文通过以下两个损失优化变分图自动编码器模块:
其中,第一项是输入邻接矩阵和重构邻接矩阵之间的重构损失,第二项是
和
之间的KL散度,这里
。
4.2 Open-World Classifier Learning
在变分图自动编码网络之后,通过等式(4)获得每个节点的不确定性嵌入,该不确定性嵌入包括两部分:标记/训练节点的不确定性嵌入和未标记/测试节点
的不确定性嵌入。为了更好地学习用于对测试数据中的可见和不可见节点进行分类的准确分类器,本文提出的模型由一个协作模块、一个标签损失以及一个类不确定性损失组成,共同区分节点是属于现有类还是不可见类。总体目标函数如下:
、
是平衡参数。
是变分图自动编码器网络的损失函数。
和
分别表示标签损失和类别不确定性损失。
标签损失:是为了最小化标签数据的交叉熵损失:
其中,是一个softmax层,由一个全连接层组成,该层具有相应的激活函数,该激活函数可以将
转换为概率和为1的概率。
是标记的节点数。
表示可见类的数量,
表示标记数据中第
个节点的真值,
是
类中第
个标记节点
的分类预测得分。
类不确定性损失:由于在测试数据中没有类信息,并且存在大量的不可见节点,需要找到一种方法来区分可见类和不可见类。与标签损失不同,它可以利用丰富的训练数据,并通过交叉熵损失在可见类上具有良好的性能,提出了类不确定性损失来平衡每个节点的分类输出,并对未知节点具有更好的效果。本文将熵损失作为类不确定性损失,目标是最大化熵损失,使每个节点的归一化输出达到平衡。公式如下:
其中是标记的节点数。
是
类中第
个未标记节点
的分类预测得分。不是使用所有未标记的数据来最大化熵损失,首先将所有未标记的数据在softmax层之后输出概率值排序,然后丢弃最大的10%(具有较大概率值的节点很容易划分为可见类,因为它们的输出是有区别的)和最小的10%节点(具有较小概率的节点意味着节点的输出在每个可见类上是平衡的,可以很容易地检测为不可见类),最后利用剩余节点最大化其熵。
标签损失和类别不确定性损失的训练就像一个对抗性的过程。一方面,希望标签损失影响分类器,使每个节点的输出更具区分性,并通过最小化等式(9)将每个可见节点分类为正确的类。另一方面,希望类不确定性损失可以使每个节点的输出更加平衡,从而通过最大化熵损失来帮助检测不可见的类。、
和
通过等式(8)中的目标函数进行联合优化,所有参数均使用标准反向传播算法进行优化。
4.3 Open-World Classification & Rejection
在执行节点不确定性表示学习后,我们获得了节点嵌入的分布(即高斯分布)。因此,为每个节点生成
个不同版本的特征向量
,通过等式(4)形成该分布,称为重参数化技巧。然后,将这M个不同的表示输入到softmax层,将它们分别转换为C类上的概率(每个
可以获得一个输出向量
)。
在此过程之后,对于每个节点,将这M个输出串联起来,并获得采样矩阵。在
中,每列表示特定类别的M个不同概率,我们对每个类别的这些概率进行平均,以获得向量
。对于具有C个不同概率的向量
,选择最大的一个
。为了识别每个节点
是可见类还是不可见类,有:
其中,从
的softarmax层输出中获得。如果现有可见类的概率
均不高于阈值
,则将
拒绝并作为未知类的样本;否则,其预测类别是概率最高的类别。每个测试样本的预测过程如图4所示。
在开放世界图学习中,一个关键问题是阈值的确定。在本文中,提出了一种自动确定阈值的方法,以拒绝不属于可见类的节点。具体来说,使用验证集进行阈值选择。同样,对于验证集中的节点,执行节点不确定性表示学习,并执行相同的采样过程,选择最大概率。然后,对所有节点的这些选择的最大概率进行平均,并获得
。由于假设不可见类实例不出现在训练集中(包括验证集),选择熵最大的10%节点作为“预期不可见类节点”,其平均概率用
表示。通过平均概率计算最终阈值:
。图5(a)显示了验证集中的确定过程示例。使用这个确定的阈值对图5(b)中测试集中的可见和不可见节点进行分类。
因此,通过使用采样过程生成多个版本的特征向量,能够测试属于可见类的节点的可信度,并自动确定阈值,以拒绝不属于可见类的节点作为不可见类节点。
4.4 Algorithm Description
本文算法如算法1所示。给定一个图,目标是分别获得节点表示、对可见节点进行分类和检测不可见节点。首先,采用变分图自动编码器网络来建模每个节点的不确定性(步骤2-10)。这里,输出
是一个分布,通过KL损失和重构损失优化网络(步骤12)。然后,提出了两个损失约束
和
,使模型能够对可见和不可见的类进行分类(步骤13-14)。最后,通过综合考虑标签损失、类不确定性损失和变分子编码器损失,模型可以更好地区分节点属于可见类还是不可见类,并捕获开放世界图学习的不确定性表示。
5. EXPERIMENTS
5.1 Experimental Setup
Benchmark Datasets
Test Settings and Evaluation Metrics
对于每个数据集,将一些类作为不可见类进行测试,其余的类作为可见类。随机抽取70%的节点进行训练,10%用于验证,20%用于测试。请注意,不可见类的节点仅出现在测试集中。使用验证集来确定拒绝不可见类的阈值。与传统的半监督节点分类一样,对于每个数据集,将整个图输入到模型中。通过改变不可见类的数量来验证模型在不同不可见类比例下的性能。使用Macro F1分数和准确性进行评估。
Baselines
- GCN(没有拒绝不可见类的能力)
- GCN_Sigmod:使用多个1-vs-rest的Sigmoid而不是softmax作为GCN模型的最终输出层,同样不具有对未知类的拒绝能力。
- GCN_Sigmod_Thre
- MLP_DOC
- GCN_DOC