中国科学院大学学报  2024, Vol. 41 Issue (6): 830-841   PDF    
基于自监督异质图神经网络的图分类框架
袁鸣1, 赵彤1,2     
1. 中国科学院大学数学科学学院, 北京 100049;
2. 中国科学院大数据挖掘与知识管理重点实验室, 北京 100049
摘要: 图数据以各种各样的形式广泛存在着,图分类任务对于许多问题有重要指导意义。然而图分类任务依然面临很多挑战,包括如何充分利用图结构蕴含的语义信息、进一步降低计算复杂度及获取标签的成本。提出一种超节点异质网络的构建方法,并由此提出可应用于图分类问题的新型框架GChgnn。该框架通过引入双视角的图表示机制以及自监督的对比学习,实现了:1)对大规模图分类任务目标间的相似性进行度量;2)借鉴图匹配方法,通过跨图思想提高相似性度量的准确度,并弥补其无法给出图嵌入显式表达式的不足;3)规避了在网络中设计复杂的卷积与池化算子。通过在一些公开数据集上的测试证明,该框架的综合效果优于现有的解决图分类问题的其他方法。
关键词: 图分类    异质图神经网络    自监督学习    对比学习    
A framework of graph classification with self-supervised heterogeneous graph neural network
YUAN Ming1, ZHAO Tong1,2     
1. School of Mathematical Sciences, University of Chinese Academy of Sciences, Beijing 100049, China;
2. Key Laboratory of Big Data Mining and Knowledge Management, Chinese Academy of Sciences, Beijing 100049, China
Abstract: Graph data exists widely in various forms, and the tasks of graph classification have great significance for many problems. However, the tasks of graph classification still face many challenges, including how to make full use of the semantic information contained in the graph structures, and how to further reduce the computational complexity and the cost of obtaining labels. In this paper, a construction method of a hyper-node heterogeneous network is proposed for the first time, along with a new framework, GChgnn, which can be applied to graph classification. The GChgnn framework achieves the following goals through the introduction of a double-view graph representation mechanism and self-supervised contrastive learning: 1)measuring the similarity between the objectives of the large-scale graph classification tasks; 2)inspired by the graph matching methods, improving the accuracy of similarity measurement by the cross-graph idea, and making up for the lack of the explicit expression of graph embedding; 3)avoid the need to design complicated convolution and pooling operators in the network. After testing on some public datasets, the framework outperforms other existing methods.
Keywords: graph classification    heterogeneous graph neural network    self-supervised learning    contrastive learning    

现实生活的诸多场景中,元素之间的复杂关联可以由图数据来刻画。无论是生物信息学或化学信息学中直观的分子结构,还是像社交网络、知识图谱等在不同应用场景中由元素间某种关联而衍生的网络,都属于非欧空间的拓扑结构。图数据由节点与边构成,但是并不仅仅局限于对节点间关联关系的表征,某些图的节点以及边具有标签或属性,从而可以衍生出信息更丰富、更细化的图数据类型:当图数据的边具有权重时,则为赋权图;当图数据的边具有方向时,则为有向图;而关注边或节点的类型数量时,一般分为同质图与异质图(见图 1(a)1(b))。

Download:
图 1 图模型 Fig. 1 The models of graphs

对于同质图,边与节点的类型都是唯一的,而异质图则与之不同,其节点类型与边类型的总和至少为3。以IMDB(internet movie database)异质图数据[1]为例,此类数据包含3种类型的节点:演员、电影、导演;不同类型节点之间的连边可以表达多种不同的关系,从而蕴含更丰富的语义信息。举例来说,1部电影通常有多个演员与1个导演,而演员和导演会参与多部电影的制作。在进行电影分类时需要将电影类型的节点作为目标类型,当2部电影具有共同的演员或导演时,它们之间就产生了间接的关联,这种潜在的关联形式为电影分类提供了基础。而图分类不同于节点分类和链路预测,目标不再是节点,而是图。现阶段图分类的主要方法可以分为基于图核[2-3]的方法、基于图匹配[4]的方法和基于图神经网络[5-8]的方法。异质网络蕴含丰富的潜在语义信息,然而目前没有图分类方法利用这一优势对图数据内部结构信息进行更充分的开发。

基于图核的方法可以在分类效果上取得不错的结果,但是这些传统方法在将图的特征表示与核方法的分类过程相结合时,只能对2个模块分别进行优化。此外,传统的方法计算复杂度过高,无法应用于大规模图数据的分类。基于图匹配的方法可以通过跨图节点的对比度量相似度,利用深度学习降低计算成本,但是这些方法并没有显式地进行图分类,而是以近似的形式,因此应用场景有一定局限性。基于图神经网络的方法以端到端的方式进行学习,提升了大规模图数据的分类准确率,并且可以适应新数据的补充,避免了对特定特征的依赖。这些基于图神经网络的方法与应用于图像分类的传统卷积神经网络相似,重点在于卷积与池化2个部分。然而,图数据作为非欧空间数据,不具有图像数据的结构规则性,因此卷积算子及池化算子的设计变得更加困难。

针对上述问题,我们做了一些工作,与目前最先进的方法相比,我们的工作表现出更好的性能:

1) 提出超节点异质图的构建方法。受到图神经网络中池化过程的启发,将每个图分类任务的目标转换为超节点,最终生成以这些超节点为核心类型节点的异质网络,从而进一步减少了计算时间。

2) 提出基于自监督异质图神经网络的图分类框架(the framework of graph classification with heterogeneous graph neural network, GChgnn)。在生成异质网络之后,利用双视角的注意力机制获取图的嵌入,最终通过自监督对比学习的方法,不仅可以实现对大规模图数据的分类,而且减少了获取标签的高昂成本。

在基准集上的测试结果表明,我们的方法优于目前其他基于图神经网络的图分类方法。

传统的池化过程将相似节点的聚类簇聚合为超节点(见图 1(c))。而在本文提出的GChgnn框架中,通过提取原始图数据的内部共性,建立了异质超节点。这种方式可以保留更多的潜在信息,从而更加适用于节点或边标签较为复杂的任务。GChgnn框架针对下游任务所采用的对比学习是一种自监督的表示学习方法,其目标是得到计算样本间相似性的函数,能够有效区分出与目标样本同类的正例以及不同类的负例。

1 相关工作

目前图分类的研究中,方法主要可以分为基于相似度计算和基于图神经网络2种。

1) 基于相似度计算的图分类方法图核方法和图匹配方法的关键都是计算图数据之间的相似度。基于图核的方法利用图核定义图数据间的相似度,再通过核机器进行图分类。基于图匹配的方法则通过跨图机制度量相似度。

图核可以表示为希尔伯特空间的内积[9],大多数常见的图核方法的共同核心思想是将图数据分解成不同的子结构,再利用子结构计算图的相似度,实现图分类。R-卷积核[10]是一种可以基于不同分解方式的图核框架,主要应用于由离散结构组件(比如子图、子树)构成的集合中。最短路径核[11]方法定义了公共最短路径长度,并且提出基于最短路径的图核,该方法的出发点在于相似的图数据之间拥有较多的公共最短路径长度。Graphlet图核[12]通过对特定规模的子图进行采样以及计数对比图数据的相似度。Weisfeiler-Lehman(WL)子树核[13]将图分解为子树,通过计算子树间的相似度进行图数据的分类。深度图核[14]方法受到自然语言处理的启发,首要目标是得到子结构潜在表示的相似度矩阵,从而能够利用子结构之间的依赖信息。

GMN模型[15]在给定2个图作为输入的情况下,通过基于跨图注意力的匹配机制对这对图进行联合推理计算它们之间的相似度分数。SimGNN模型[16]设计了一个可学习的嵌入函数,将每个图映射到一个嵌入向量中,并提出一种新的注意力机制,利用相似性度量来刻画节点在图分类任务中的重要性。

2) 基于图神经网络的图分类方法基于图神经网络的图分类方法与图卷积神经网络类似,主流方法一般从设计卷积算子与池化算子的角度不断进行改进。

MPNN框架[17]将卷积过程表示为节点信息传递与更新的2个函数,信息传递的作用是聚合邻居信息,而信息更新将上层节点表示与传递的邻居信息相结合。深度图卷积神经网络DGCNN[18]设计了一个新的SortPooling层,以一定的顺序对图顶点进行排序,以便传统的神经网络可以在图上进行训练。在区分非同构(子)图方面,GNN具有与1-WL相同的表现力。因此,k-GNNs模型[19]是一种基于集合的k-WL算法,作为GNNs的一种推广形式,主要思想是在节点规模为k的子图结构之间进行信息传递,能够在多个尺度上考虑高阶图结构。PSCN[20]是一个用于学习任意图的卷积神经网络框架。图分类目标可以是无向图,也可以是有向图,即使节点和边具有属性也依然适用。基于图像的卷积网络可以对输入的局部连接区域进行操作,PSCN与之类似,也可以从图中提取局部连接区域。Ego-CNN[21]是一种图嵌入模型,每层的卷积使用以自我(ego)为中心的方式,有效地检测精确的关键结构。

EigenPooling[5]是一种基于图傅里叶变换的池化算子,它可以在池化过程中利用节点特征和局部结构。然后,基于池化算子设计池化层,将其与传统的GCN卷积层进一步结合,以形成用于图分类的图神经网络框架。DiffPool[6]是一个可微图池模块,它可以生成图的分层表示,并且可以以端到端的方式与各种图神经网络架构相结合。DiffPool学习深度GNN每层节点的可微的软分配,将节点映射到一组聚类簇,然后形成下一个GNN层的输入。SAGPool[8]是一种基于自注意力的图池化方法。使用图卷积的自注意力机制可以同时考虑节点特征和图的基本结构。

综上所述,2种类型的图分类方法中,各自的侧重点有很大差别,不同的方法很难有机地结合。针对诸多复杂场景中的图分类问题,选择出既精准又低成本的方法是十分具有挑战性的。GChgnn框架区别于目前已有的工作,受池化算子的启发,可以直接提取重要的子图类型,减少了计算成本,并且可以根据需求接入不同的池化模型。在构建异质网络之后,通过引入双视角的图表示机制以及自监督的对比学习,实现对分类目标间相似性的度量,既融入了图匹配方法的跨图思想,又区别于传统方法,可以直接得到显式表达式。最重要的是,GChgnn框架在保证大规模图数据分类任务准确性较高的同时,实现了端到端的优化学习,避免了图核方法中不同模块只能分别进行优化的弊端,降低了计算复杂度,同时规避了传统图神经网络方法中卷积与池化算子设计过于复杂的困扰。

2 符号与定义

定义2.1  图分类图分类问题的目标是找到图和对应类别标签的映射关系。给定一组图G={Gi}i=1N,其中每个图为Gi=(V, E, X),包含点集V、边集E与节点的特征矩阵X,标签为Y={Yi}i=1N。常见的图分类问题主要为二分类或多分类问题,每个图有且仅有一个标签,则Yi={yi, j}j=11。而多标签分类问题中,每个图对应的标签为M个,Yi={yi, j}j=1M。GChgnn框架主要针对二分类或多分类问题。

定义2.2   异质图异质图定义为G=(V, E, Φ, Ψ),表示这类图包含节点集V与边集E,以及节点到节点类型的映射Φ: VTV与边到边类型的映射Ψ: ETE。其中,TVTE分别表示节点与边的类型集合,且一定满足|TV|+|TE|>2。

定义2.3   元路径元路径的定义由Sun和Han[22]在2013年提出,主要针对异质网络中的相似性搜索。元路径实际上是由不同对象间关联关系构成的复合关系序列,记作:$T_{1}^{V} \xrightarrow{T_{1}^{E}} T_{2}^{V} \xrightarrow{T_{2}^{E}} \cdots \xrightarrow{T_{1}^{E}} T_{l+1}^{V}$。比如,在IMDB数据集中,以电影为分类目标,电影(M)之间在拥有共同导演(D)或共同演员(A)的前提下,它们之间会有M-D-M或M-A-M类型的元路径(此处为对称的关系,因此可以视为无向性,不必使用单箭头)。

3 基于自监督异质图神经网络的图分类框架

我们提出一个命名为GChgnn的基于自监督异质图神经网络的图分类框架(见图 2)。利用该框架,能够以异质超节点的形式提取出多种类型的子图,构建出一个以原始图数据为核心超节点的异质图。在构建异质图之后,再借助异质图神经网络研究中广泛使用的元路径方法,从图数据自身的子图以及跨图的2个视角出发,分别采用2种注意力机制获得各自的表达结果,并将二者结合得到图数据超节点的完整显式表达式,即特征嵌入。最终,利用对比学习,无需获取高成本的人工标签,就可以区分图分类目标的正负样本,实现针对图数据的分类任务。

Download:
图 2 GChgnn框架 Fig. 2 The framework of GChgnn
3.1 超节点异质图的构建

对于图数据集,以往的图神经网络方法的关注点通常集中在如何通过更新目标节点的嵌入对图的整体进行表征,而GChgnn成功地将分类目标从图数据转换成超节点。如图 3所示,MUTAG数据集[23]中3个化学分子的示意图直接被转换为超节点的形式,并且将原始图数据的初始特征嵌入作为相应超节点的嵌入。由于在实际的诸多应用场景中,进行图分类任务时已经具备一定的先验知识,对于许多药物分子及生物分子,研究者们仅仅关注其部分子基团的性质,通用性的图分类框架往往在不重要的子图上浪费过多的搜索时间。因此,GChgnn框架针对不同领域的图分类任务, 仅将需要重点关注的子图类型转换为新的不同类型的异质超节点。以图 3为例,从原始图数据中提取出芳香键、单键、双键,按照2原子(节点)间的键(边)的类型对子图超节点进行分类。这些子图超节点分别包含于某些原始图数据,根据包含关系将它们与对应的原始图超节点相连。最终得到以原始图数据为核心的异质图(见图 2(a)示例),可以更直观地表达图数据间的共性,为后续工作扩充了潜在的语义信息。在图分类任务中,这一方法可以基于给定的一组图G={Gi}i=1N构建一组超节点g={gi}i=1N

Download:
图 3 由原始图数据转换成的核心超节点以及由不同类型子图转化成的异质超节点 Fig. 3 Core hypernodes converted from original graph data and heterogeneous hypernodes converted from different types of subgraphs
3.2 异质超节点的映射

在上一节中,通过将不同类型的子图转化为不同类型的节点,成功构建了超节点异质图。传统图神经网络方法的复杂度取决于每个图的节点规模,因此处理大规模图数据时较为棘手。而该框架构建的异质图不再执着于细化到图中的每个节点,而是从更宏观的角度考虑图分类任务真正的目标样本。计算复杂度不再依赖节点,而是依赖图数据集合的规模、子图的类型数目以及每种子图的规模。然而,与常见的异质图类似,具有异质性的超节点图结构虽然可以有更完善的表达能力,但是由于超节点类型的不同,是无法像同质图一样直接处理的。因此,在构建超节点异质图之后,需要引入多层感知器(multilayer perception,MLP)映射将异构节点转换到公共的隐空间,如下式所示

$\begin{equation*} \boldsymbol{g}_{i}=\sigma\left(\boldsymbol{W}_{\boldsymbol{\Phi}(i)} \cdot \boldsymbol{x}_{i}+\boldsymbol{b}_{\boldsymbol{\Phi}(i)}\right), \end{equation*} $ (1)

其中: $\boldsymbol{g}_{i} \in \mathbb{R}^{d \times 1}$是图超节点i的新的特征表示,此处图超节点i可以指原始图数据,也可以指子图,因为这些异质超节点的处理方式相同; σ(·)表示激活函数,Wb分别代表映射矩阵与偏差,而Φ(·)是第2节中定义的映射节点类型的函数。

3.3 双视角图表示机制

本节介绍双视角图表示机制,作为GChgnn框架最核心的模块,它的目的是学习图数据本身的固有特性以及图数据之间的相似性。图数据本身包含一些需要重点关注的子图类型,而不同的图数据之间因为有共同的子图产生间接的联系。因此,提出双视角图表示机制(见图 4):一个视角是关注图数据所包含的子图,也就是超节点异质图中核心节点的邻居,以及这些不同类型子图邻居对图表示的贡献;另一个视角是从跨图的角度考虑,在第3.1节构建的以原始图数据为核心节点的异质图中,分类目标通过不同的元路径相连,这些元路径起到刻画图数据间相似性的作用。这2种视角下分别获取的语义信息可以互为补充,协同学习。

Download:
图 4 双视角图表示机制 Fig. 4 Double-view graph representation mechanism
3.3.1 基于子图的编码器

基于子图视角的编码器的目标是根据输入的超节点异质图获得子图视角下的嵌入。在这一编码过程中,只关注异质图中与核心节点直接相连的一阶异质邻居,也就是原始图数据包含的子图。在许多已有的研究异质图神经网络的工作中,如DyHNE模型[24],核心类型的节点与其他非核心的节点直接相连,而同类型的不同节点并不直接相邻,因此一阶异质性一般指的是2个核心节点具有共同的直接邻居,也可以理解为2个核心节点基于元路径间接相邻。而我们的工作中所强调的一阶异质邻居不同于一阶异质性的概念,始终指的是与核心节点类型不同且与核心节点直接相邻的子图超节点。针对多个类型的子图邻居,提出一种双层分级注意力机制来聚合图的异质信息,也就是每个图所包含的子图的信息。这是由于不同类型子图对图表示机制的重要程度不同。并且,细化到同一种类型的子图时,不同的子图邻居对于该种类型的贡献也不同。图分类任务的目标已经转换成了超节点,为捕获超节点i的多种类型子图邻居的信息,应用以下公式

$ \begin{equation*} \boldsymbol{g}_{i}^{h}=\sigma\left(\sum\limits_{j \in C_{i}^{h}} \alpha_{i, j}^{h} \cdot \boldsymbol{g}_{j}\right), \end{equation*} $ (2)

其中:σ(·)是激活函数,g表示映射到公共隐空间后的图超节点的表示。Cih中的元素是图i所包含的子图,且均属于第h类;如果图i没有第h个类型的子图,则Cih为空集。αi, jh表示第h类子图中的j对于分类目标i所贡献的权重,它可以由以下操作得到:

·特征拼接: $\tilde{\boldsymbol{g}}_{i, n}=\boldsymbol{g}_{i} \| \boldsymbol{g}_{n}$,其中n表示某个子图。

·激活函数: $r_{i, n}^{h}=\operatorname{ReLU}\left(\boldsymbol{a}_{h}^{\mathrm{T}} \cdot \tilde{\boldsymbol{g}}_{i, n}\right)$,其中ah是第h类子图对应的注意力向量。

·softmax: $\alpha_{i, j}^{h}=\frac{\exp \left(r_{i, j}^{h}\right)}{\sum_{k \in C_{i}^{h}} \exp \left(r_{i, k}^{h}\right)} $

在实验所用到的数据集中,分类目标是图数据,因此在构建的异质图中,核心节点始终是原始图数据转换成的超节点,这些核心节点的一阶异质邻居均是基于不同条件下得到的子图,且并不考虑不同子图间的包含关系。图数据在固定的子图类型中通常包含多个不同的子图,比如一个化学分子中的C原子与O原子间以及O原子与H原子间同时存在单键。因此,在聚合子图信息时需要设定一个阈值控制子图数量的上限,同时在聚合信息的过程中要尽量保证每轮采样邻居减少重叠以便捕获多样化的异质邻居信息。通过完成上述一系列操作,可以收集不同类型子图的信息来计算基于子图视角的图嵌入

$ \begin{equation*} \boldsymbol z_{i}^{\text {sub }}=\sum\limits_{k=1}^{c} \beta^{k} \cdot \boldsymbol g_{i}^{k} , \end{equation*} $ (3)

其中:权重βk表示第k个类型的子图的重要性,c表示子图类型的总数。βk可以通过下面的式子得到:

$\theta^{h}=\frac{1}{|\boldsymbol{G}|} \sum\limits_{G_{i} \in \boldsymbol{G}} \boldsymbol{a}_{\text {sub }}^{\mathrm{T}} \cdot \tanh \left(\boldsymbol{W}_{\text {sub }} \cdot \boldsymbol{g}_{i}^{h}+\boldsymbol{b}_{\text {sub }}\right), $ (4)
$ \beta^{h}=\frac{\exp \left(\theta^{h}\right)}{\sum _{k=1}^{c} \exp \left(\theta^{k}\right)}, $ (5)

其中: asub是子图类型级别共有的注意力向量,Wsubbsub均为可学习的参数,G表示给定图数据的集合。

3.3.2 基于跨图的编码器

双视角图表示机制的另一视角是跨图数据的,目的是通过度量图数据之间的相似性获得图数据超节点的嵌入。基于跨图的编码器主要利用异质图神经网络中的元路径方法来刻画图数据间的联系,各种类型的子图超节点在这些元路径中起到媒介作用(见图 4)。

复杂的异质图往往具有更复杂的元关系与元路径,因此不同的应用领域根据特定任务所挑选的元路径也有很大差别。在GChgnn框架中,异质图中的核心目标节点始终是原始图数据转换成的超节点,而这些图数据超节点直接与它们所包含的子图超节点相连。因此,2个图数据间元路径的形式是固定的,这些元路径为{G-Sk-G}k=1c,它表示2个图数据间通过某类子图间接相连,其中Sk表示第k类子图,c表示子图类型的总数。例如,MUTAG化学分子数据集中可以根据化学键的类型提取出4种类型的子图,每类子图都只包含2个原子以及它们之间的化学键,这4类化学键分别为芳香键、单键、双键与三键。在研究这些分子的性质,并需要进行分类时,由于性质与结构相似的分子一般具有更多相同的原子以及化学键,我们设计的元路径可以有效建立跨图数据间的相似性表达。在已有的工作中,元路径的表示通常通过邻接矩阵来计算。按照这种模式,相同类型的元路径可以由矩阵Am表示,矩阵Am的元素是2节点间m类型元路径的数目归一化后的结果

$ \begin{equation*} \boldsymbol{A}^{G S_{k} G}=\operatorname{normalize}\left(\tilde{\boldsymbol{A}}_{G S_{k}} \times \tilde{\boldsymbol{A}}_{G S_{k}}^{\mathrm{T}}\right), \end{equation*} $ (6)

其中: AGSkGG-Sk-G类型元路径的表示矩阵;$\tilde{\boldsymbol{A}}_{G S_{k}}$是原始图超节点与第k类子图节点的邻接矩阵,若原始图包含某子图,则对应元素为1。

对于分类目标,基于跨图的编码器最终得到的嵌入是通过元路径表征得到的。在计算得到AGSkG矩阵后,对于给定的某类元路径G-Sk-G,原始图数据i具有基于此类元路径的图数据邻居NiGSkG(包含i本身),元路径可以表示图数据间的相似性,采用图卷积神经网络的方法对这些语义信息进行聚合:

$ \begin{equation*} \boldsymbol{g}_{i}^{G S_{k} G}=\frac{1}{\sqrt{d_{i}+1}} \sum _{j \in N_{i}^{G S_{k} G}} \frac{1}{\sqrt{d_{j}+1}} \boldsymbol{g}_{j}, \end{equation*} $ (7)

其中didj是图ij的节点度数。引入节点度数可以有效避免不同图数据间所包含的子图数量差异过大对结果的影响,规模较小的图数据的信息也可以被关注到。在得到基于元路径{G-Sk-G}k=1c的嵌入之后,与基于子图的编码器类似,需要考虑更高级别的注意力机制将得到的这组嵌入结合起来

$ \begin{equation*} \boldsymbol z_{i}^{\mathrm{cro}}=\sum _{k=1}^{c} \beta^{G S_{k} G} \cdot \boldsymbol{g}_{i}^{G S_{k} G} , \end{equation*} $ (8)

其中权重βGSkG可以表示G-Sk-G类型元路径的重要性。βGSkG可以通过下面的式子得到:

$ \begin{equation*} \theta^{G S_{k} G}=\frac{1}{|\boldsymbol{G}|} \sum\limits_{G_{i} \in \boldsymbol{G}} \boldsymbol{a}_{\mathrm{cro}}^{\mathrm{T}} \cdot \tanh \left(\boldsymbol{W}_{\mathrm{cro}} \cdot \boldsymbol{g}_{i}^{G S_{k} G}+\boldsymbol{b}_{\mathrm{cro}}\right), \end{equation*} $ (9)
$ \begin{equation*} \beta^{G S_{k} G}=\frac{\exp \left(\theta^{G S_{k} G}\right)}{\sum _{i=1}^{c} \exp \left(\theta^{G S_{i} G}\right)} , \end{equation*} $ (10)

其中:acro是元路径类型级别共有的注意力向量, Wcrobcro均为可学习的参数。

3.4 对比学习

对比学习是一种自监督的表示学习方法,重点在于计算样本之间的相似度,目的是得到度量相似性的函数,使得目标样本与正例间的相似性分数远远大于目标样本与负例的结果。在通过上节给出的2个编码器得到双视角后,利用对比学习方法训练模型,得到最终的图表示,进而实现图数据的分类。下面介绍对比学习在GChgnn模型框架中的应用方法。

为定义并优化目标函数,首先要定义分类目标i的正样本集PiPi中的元素都是与图i相似度较高的图,获取正样本集是针对自监督学习所做的预处理操作。在对Pi进行定义时,根据图i和其他图之间的元路径数量,对这些图数据进行排序。数量最多的前L个图被视为图i的正样本,也就是与图i相似性较高的样本,其中L是设定好的的阈值。如果图i基于元路径的图邻居的数目小于L,则它们都是正样本。

整体的对比损失函数由两部分组成

$ J=\frac{1}{|\boldsymbol{G}|} \sum\limits_{G_{i} \in G} L_{i}, $ (11)
$ \begin{gather*} L_{i}=-\lambda \cdot \log \sum\limits_{j \in P_{i}} \frac{\exp \left(\operatorname{sim}\left(\tilde{\boldsymbol{z}}_{i}^{\text {sub }}, \tilde{\boldsymbol{z}}_{j}^{\text {cro }}\right) / \tau\right)}{\sum _{G_{k} \in \boldsymbol G, k \neq i} \exp \left(\operatorname{sim}\left(\tilde{\boldsymbol{z}}_{i}^{\text {sub }}, \tilde{\boldsymbol{z}}_{k}^{\text {ev }}\right) / \tau\right)}- \\ \mu \cdot \log \sum\limits_{j \in P_{i}} \frac{\exp \left(\operatorname{sim}\left(\tilde{\boldsymbol{z}}_{i}^{\text {cro }}, \tilde{\boldsymbol{z}}_{j}^{\text {sub }}\right) / \tau\right)}{\sum _{G_{k} \in \boldsymbol G, k \neq i} \exp \left(\operatorname{sim}\left(\tilde{\boldsymbol{z}}_{i}^{\text {cro }}, \tilde{\boldsymbol{z}}_{k}^{\text {sub }}\right) / \tau\right)} , \end{gather*} $ (12)

其中:τ是温度系数;λμ满足λ+μ=1,这2个系数分别代表两部分的贡献。两部分的形式是对称的,子图视角与跨图的视角可以互相补充,前者表明图数据所包含的子图,后者隐去起到媒介作用的子图,重点刻画不同图数据之间的间接联系。sim(·)函数用于计算图嵌入之间的相似性,实验中使用的是余弦距离$\cos (\boldsymbol{u}, \boldsymbol{v})=\boldsymbol{u}^{\mathrm{T}} \cdot \boldsymbol{v} /$ $\left(\|\boldsymbol{u}\|\|\boldsymbol{v}\|\right.$)。$\tilde{{\boldsymbol{z}}}_{i}$是嵌入zi经过MLP映射得到的最终嵌入表示。在实验过程中,嵌入可以通过反向传播算法得到,从而对图数据进行表示。利用GChgnn框架进行图分类的训练过程如算法1所示。

算法1   GChgnn模型的训练
Input: $\boldsymbol{G}=\left\{G_{i}\right\}_{i=1}^{N}$
Output: $\boldsymbol{Y}=\left\{Y_{i}\right\}_{i=1}^{N}$
1: $g_{i} \Leftarrow G_{i} \quad / /$将图数据转换为超节点
2: for k < =c do
3: $C_{i}^{k} \Leftarrow\left\{s \mid s \subset G_{i} \& s \subset \boldsymbol{S}_{k}\right\} / /$获取子图邻居
4: $\left.\tilde{\boldsymbol{A}}_{G S k}\left[G_{i}\right][s]\right|_{s \in C_{i}^{k}} \Leftarrow 1 \quad / /$构建超节点异质图
5: $N_{i}^{G S k G} \Leftarrow\left\{j \mid \boldsymbol{A}^{G S h G}[i][j] \neq 0\right\} / /$求跨图邻居
6: end for
7: $P_{i} \Leftarrow\left\{j \mid \boldsymbol{A}^{G S G}[i][j] \in \operatorname{Top} L\right.$ of $\left.\boldsymbol{A}^{G S G}[i][:]\right\}$
       //计算目标样本的正样本集
8: for each epoch do
9: $\boldsymbol z^{\text {sub }} \Leftarrow$ encoder ${ }^{1}(\boldsymbol g) \quad / /$基于子图的编码器
10: $\boldsymbol z^{\text {cro }} \Leftarrow$ encoder $^{2}(\boldsymbol g) \quad / /$基于跨图的编码器
11: $J \Leftarrow \operatorname{ContrastiveLoss}\left(\tilde{\boldsymbol{z}}_{i}, \tilde{\boldsymbol{z}}_{j}, \tilde{\boldsymbol{z}}_{k}\right)$
    //计算对比损失函数
12: end for
13: $Y_{i} \Leftarrow \operatorname{argmax}($ logits $)$

4 实验比较 4.1 实验设置 4.1.1 数据集

实验对比主要针对化学信息学、生物信息学、社交网络分析3个领域,因此挑选了6个常见的公开数据集。6个数据集的具体信息见表 1。MUTAG[23]与NCI1[25]数据集都是由化学化合物的结构图组成。MUTAG数据集中的图标签表示化合物对细菌具有不同类型的诱变作用,节点标签表示7种原子类型。此外,该数据集具有不同标签的边,包含芳香键、单键、双键和三键。MUTAG数据集的节点类型较少,但是具有不同类型的边。对于图分类模型来说,捕捉其目标的有效信息具有一定挑战性,不仅要考虑最基本的拓扑结构信息,还要结合节点类型与边类型的附加条件。NCI1数据集的标签表示化合物是否具有抗癌活性,虽然只有一种类型的边,但是节点类型较多,关联关系也随之变得复杂。PROTEINS[26]数据集由1 113个蛋白质结构图组成,节点代表蛋白质的二级结构,而边表示2个二级结构在氨基酸序列或者空间结构上的相邻关系,图的标签表示是否为酶。PROTEINS数据集中只有一种邻接关系,节点类型也较少,分类任务的难点不同于化学领域。以上3个数据集是生物与化学信息学领域非常有代表性的数据集,各自的特点与彼此的区别也比较鲜明,可以证明GChgnn框架在不同应用场景下的优异表现。

表 1 二分类/多分类数据集 Table 1 The datasets for binary classification/multi-classification

其他3个数据集均属于社交网络分析领域。IMDB-BINARY[14]数据集来源于互联网电影数据库IMDB。每个节点均代表一个演员,演员之间的连边表示二者具有合作关系。从整体的合作关系图中为每个演员生成自我中心网络图,这些图具有二分类的标签,即动作类与爱情类。REDDIT-BINARY[14]数据集来源于Reddit网站,包含用户社交互动图。其中每个图中的节点都表示用户,每条边代表 2个用户之间的消息互动。该数据集中的社交网络图也只具有2个类别,分别是基于问答的互动图与基于讨论的互动图。COLLAB[14]数据集包含从3个科研领域生成的自我中心网络图,节点均为研究人员,分类目标即为判断网络图中研究人员研究领域(如表 1中所示,与其他数据集不同,COLLAB数据集包含3种类别)。以上3个数据集的共同点是均为同质图,也就是边与节点类型都是单一的,但是边的规模比较大,针对拓扑结构的跨图对比也变得更困难。针对这些数据集进行的图分类实验取得了良好的实验结果,表明GChgnn框架也同样适用于社交网络分析领域。

4.1.2 基准

利用GChgnn框架进行图分类任务的实验(训练过程见算法1),所比较的基准均为目前已知的图分类领域的高准确率模型,包括针对生物信息学与化学信息学图分类任务的模型或框架:WL kernel[13]、DGK[14]、Subgraph2vec[27]、MLG[28]、Structure2vec[29]、DCNN[30]、Patchy-San[20]、1-head-attention GAT[31]、Ego-CNN、EigenGCN[5]、M-GCNN[32];以及针对社交网络分析领域图分类任务的模型或框架:DGCNN、DiffPool、DGK、Patchy-San、1-head-attention GAT、Ego-CNN、M-GCNN和MA-GCNN[32]

4.2 生物信息学与化学信息学中的图分类

第1类实验是生物与化学信息学领域中的图分类。这个任务是判断化学化合物或生物蛋白质所具有的特性。

在实验过程中,始终使用Adam优化器。实验的其他设置根据不同数据集的自身特点,做出不同的调整。对于MUTAG数据集,根据4种化学键提取出4类子图,每个类型中的子图根据其平均节点度数划分为不同的超节点。设置学习率为0.000 5,在双视角图表示机制中设定的获取子图邻居数目的阈值为7。对于NCI1数据集,实验中只设计了一种子图类型,但是该子图类型中的节点标签有37个,因此根据不同的节点类型以及平均节点度数划分超节点。学习率为0.000 8,子图邻居数目的阈值为10。对于PROTEINS数据集,根据蛋白质的二级结构提取出3类子图,每类子图中超节点的划分依然根据子图的平均节点度数,学习率设置为0.000 5,子图邻居数目的阈值为7。在针对某个类型的子图划分超节点时,根据抽取的子图的平均节点度数所属的区间,将处于同一区间的子图均转换为同一超节点,当图数据的规模较大时,采用分层抽样的形式仅抽取部分子图。比如MUTAG数据集内有许多对节点度数相同且具有芳香键的C原子,重复的计算是不必要的。表 2展示了GChgnn框架与其他基准在3种数据集上的十折交叉验证的结果,采用的指标是准确率(accuracy),GChgnn框架显然取得了更优异的结果。

表 2 生物与化学信息学领域图分类方法的十折交叉验证准确率 Table 2 10-Fold CV test accuracy on bioinfomatic datasets  
4.3 社交网络分析中的图分类

社交网络分析中的图分类目标一般情况下均为同质图。在这些图分类任务中,数据集的边和节点没有额外的标签,并且与化学化合物及生物蛋白质数据集相比,包含更复杂的连边。以节点规模较小的IMDB数据集为例,其部分子网络图数据可视化结果如图 5所示。

Download:
图 5 IMDB数据集可视化示例 Fig. 5 The visualization of IMDB datasets

图 5中可以明显看出,2种类型的网络图难以直接判断其类别。在这样的前提下,由于对图数据进行分类时应当密切关注最基本的拓扑结构,将节点度数以及由其衍生出的关系类型认定为图数据所具备的固有信息。

受RHINE模型[33]启发,通过一定度量指标将边划分为从属关系与交互关系。采用的度量指标为$D(r)=\frac{\max \left[d_{u}, d_{v}\right]}{\min \left[d_{u}, d_{v}\right]}$,其中dudv分别为2顶点的度数。根据实验中针对不同数据集设置的阈值,将度量指标函数值超过阈值的边判定为从属关系,因为这些边的2个顶点的度数相差过大;反之则为交互关系。对边进行简单分类后,根据2种边的类型以及顶点的平均度数,采取与4.2节中类似的操作,划分子图类型以及每种类型的超节点。针对3个数据集,学习率分别设为0.000 5、0.000 5、0.000 8,子图邻居数目的阈值分别为7、10、10。表 3展示了GChgnn框架与社交网络分析领域的其他基准方法在以上3种数据集上十折交叉验证的结果,采用的指标依然是准确率,GChgnn框架依然适用并且大幅超越其他方法。

表 3 社交网络分析领域图分类方法的十折交叉验证准确率 Table 3 10-Fold CV test accuracy on social network datasets  
4.4 计算复杂度的分析

在以上2组实验中,GChgnn框架将图数据成功转换为超节点,总的计算时间不再受限于图数据本身的节点规模以及关联关系的复杂程度,而是取决于分类目标的总数以及可以人为调控的各类子图的数目,大大节约了计算成本。GChgnn框架在构建超节点异质图之后的计算时间可以与其他基于异质图神经网络的分类或预测任务(比如节点分类与链路预测)相媲美。经过实验验证,对于核心节点的规模为104数量级的异质图,基于异质图神经网络的自监督对比学习模型在安装了NVIDIA RTX 3060 Ti GPU的计算机上可以在500 s内完成模型的训练及评价过程。因此,在对GChgnn框架的计算复杂度进行分析及改进时,主要关注构建超节点异质图的模块。构建超节点异质图需要按照一定规则提取子图并形成超节点,严格意义上并不是池化过程,但思想与池化过程相似。基于此,表 4展示了该模块与图分类方法中常见的几种池化模型的计算复杂度的对比。

表 4 GChgnn框架与常见池化模型的计算复杂度 Table 4 The computational complexity of the GChgnn framework and baselines

表 4可以看出,在构建超节点异质图的过程中,GChgnn框架在保证优越的分类效果的前提下,同时保证了其计算复杂度不超过传统池化模型。

5 总结与展望

本文提出基于异质图神经网络的自监督图分类框架GChgnn,为生物信息学、化学信息学与社交网络分析等领域的图分类问题提供了新颖的想法。GChgnn框架首次将图数据转换为以分类目标为核心的超节点异质图,利用本文提出的双视角图表示机制获取原始图数据的嵌入,并应用到下游的对比学习分类任务当中。通过在3个领域进行图分类任务的实验,得到优于已知方法的结果,验证了GChgnn框架的图分类效果。

总的来说,GChgnn框架对诸多应用场景中的大规模图分类问题均有很好的适应性,并且各个模块可以根据需求进行单独调整。最重要的是,GChgnn框架将图分类任务中的目标从图数据转化为超节点的全新形式,并将现有方法各自的优势充分结合,为日后基于相似度计算与基于图神经网络的图分类方法提供了新的启发,填补了利用异质图神经网络实现自监督图分类任务的空白。

参考文献
[1]
Wang X, Ji H Y, Shi C, et al. Heterogeneous graph attention network[C]//WWW'19: The World Wide Web Conference. May 13-17, 2019, San Francisco, CA, USA. New York: ACM, 2019: 2022-2032. DOI: 10.1145/3308558.3313562.
[2]
Kriege N M, Johansson F D, Morris C. A survey on graph kernels[J]. Applied Network Science, 2020, 5(1): 1-42. Doi:10.1007/s41109-019-0195-3
[3]
Nikolentzos G, Siglidis G, Vazirgiannis M. Graph kernels: a survey[J]. Journal of Artificial Intelligence Research, 2021, 72: 943-1027. Doi:10.1613/jair.1.13225
[4]
Foggia P, Percannella G, Vento M. Graph matching and learning in pattern recognition in the last 10 years[J]. International Journal of Pattern Recognition and Artificial Intelligence, 2014, 28(1): 1450001. Doi:10.1142/S0218001414500013
[5]
Ma Y, Wang S H, Aggarwal C C, et al. Graph convolutional networks with EigenPooling[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. August 4-8, 2019, Anchorage, AK, USA. New York: ACM, 2019: 723-731. DOI: 10.1145/3292500.3330982.
[6]
Ying R, You J X, Morris C, et al. Hierarchical graph representation learning with differentiable pooling[C]//Proceedings of the 32nd International Conference on Neural Information Processing Systems. December 3-8, 2018, Montréal, Canada. New York: ACM, 2018: 4805-4815. DOI: 10.48550/arXiv.1806.08804.
[7]
Khasahmadi A H, Hassani K, Moradi P, et al. Memory-based graph networks[EB/OL]. 542020: arXiv: 2002.09518. (2020-02-21)[2023-03-06] https://arxiv.org/abs/2002.09518.
[8]
Lee J, Lee I, Kang J. Self-attention graph pooling[C]//International Conference on Machine Learning. PMLR, 2019: 3734-3743. DOI: 10.48550/arXiv.1904.08082.
[9]
Shawe-Taylor J, Cristianini N. Kernel methods for pattern analysis[M]. Cambridge, UK: Cambridge University Press, 2004. Doi:10.1017/CBO9780511809682
[10]
Haussler D. Convolution kernels on discrete structures[R]. Department of Computer Science, University of California at Santa Cruz, 1999.
[11]
Borgwardt K M, Kriegel H P. Shortest-path kernels on graphs[C]//Fifth IEEE International Conference on Data Mining (ICDM'05). November 27-30, 2005, Houston, TX, USA. IEEE, 2006: 8pp. . DOI: 10.1109/ICDM.2005.132.
[12]
Shervashidze N, Vishwanathan S V N, Petri T, et al. Efficient graphlet kernels for large graph comparison[C]//Artificial Intelligence and Statistics. PMLR, 2009: 488-495.
[13]
Shervashidze N, Schweitzer P, Van Leeuwen E J, et al. Weisfeiler-lehman graph kernels[J]. Journal of Machine Learning Research, 2011, 12: 2539-2561.
[14]
Yanardag P, Vishwanathan S V N. Deep graph kernels[C]//Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. August 10-13, 2015, Sydney, NSW, Australia. New York: ACM, 2015: 1365-1374. DOI: 10.1145/2783258.2783417.
[15]
Li Y J, Gu C J, Dullien T, et al. Graph matching networks for learning the similarity of graph structured objects[EB/OL]. 2019: arXiv: 1904.12787. (2019-04-29)[2023-03-06]https://arxiv.org/abs/1904.12787.
[16]
Bai Y S, Ding H, Bian S, et al. SimGNN: a neural network approach to fast graph similarity computation[C]//Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining. February 11-15, 2019, Melbourne VIC, Australia. New York: ACM, 2019: 384-392. DOI: 10.1145/3289600.3290967.
[17]
Gilmer J, Schoenholz S S, Riley P F, et al. Neural message passing for quantum chemistry[C]//Proceedings of the 34th International Conference on Machine Learning-Vol 70. August 6-11, 2017, Sydney, NSW, Australia. New York: ACM, 2017: 1263-1272. DOI: 10.48550/arXiv.1704.01212.
[18]
Zhang M H, Cui Z C, Neumann M, et al. An end-to-end deep learning architecture for graph classification[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2018, 32(1). Doi:10.1609/aaai.v32i1.11782
[19]
Morris C, Ritzert M, Fey M, et al. Weisfeiler and leman go neural: higher-order graph neural networks[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33(1): 4602-4609. Doi:10.1609/aaai.v33i01.33014602
[20]
Niepert M, Ahmed M, Kutzkov K. Learning convolutional neural networks for graphs[C]//Proceedings of the 33rd International Conference on Machine Learning-Vol 48. June 19-24, 2016, New York, NY, USA. New York: ACM, 2016: 2014-2023. DOI: 10.48550/arXiv.1605.05273.
[21]
Tzeng R C, Wu S H. Ego-CNN: distributed, egocentric representations of graphs for detecting critical structures[C]//Proceedings of the 36th International Conference on Machine Learning, 2019. DOI: 10.48550/arXiv.1906.09602.
[22]
Sun Y Z, Han J W. Meta-path-based search and mining in heterogeneous information networks[J]. Tsinghua Science and Technology, 2013, 18(4): 329-338. Doi:10.1109/TST.2013.6574671
[23]
Debnath A K, Lopez de Compadre R L, Debnath G, et al. Structure-activity relationship of mutagenic aromatic and heteroaromatic nitro compounds. Correlation with molecular orbital energies and hydrophobicity[J]. Journal of Medicinal Chemistry, 1991, 34(2): 786-797. Doi:10.1021/jm00106a046
[24]
Wang X, Lu Y F, Shi C, et al. Dynamic heterogeneous information network embedding with meta-path based proximity[J]. IEEE Transactions on Knowledge and Data Engineering, 2022, 34(3): 1117-1132. Doi:10.1109/TKDE.2020.2993870
[25]
Wale N, Watson I A, Karypis G. Comparison of descriptor spaces for chemical compound retrieval and classification[J]. Knowledge and Information Systems, 2008, 14(3): 347-375. Doi:10.1007/s10115-007-0103-5
[26]
Borgwardt K M, Ong C S, Schönauer S, et al. Protein function prediction via graph kernels[J]. Bioinformatics, 2005, 21(supp 1): i47-i56. Doi:10.1093/bioinformatics/bti1007
[27]
Narayanan A, Chandramohan M, Chen L H, et al. subgraph2vec: learning distributed representations of rooted sub-graphs from large graphs[EB/OL]. 2016: arXiv: 1606.08928. (2016-06-29)[2023-03-06] https://arxiv.org/abs/1606.08928.
[28]
Kondor R, Pan H. The multiscale Laplacian graph kernel[C]// Proceedings of the 30th International Conference on Neural Information Processing Systems. December 5-10, 2016, Barcelona, Spain. New York: ACM, 2016: 2990-2998. DOI: 10.48550/arXiv.1603.06186.
[29]
Dai H J, Dai B, Song L. Discriminative embeddings of latent variable models for structured data[C]//Proceedings of the 33rd International Conference on International Conference on Machine Learning-Volume 48. June 19-24, 2016, New York, NY, USA. New York: ACM, 2016: 2702-2711. DOI: 10.48550/arXiv.1603.05629.
[30]
Atwood J, Towsley D. Diffusion-convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2016, 29. Doi:10.48550/arXiv.1511.02136
[31]
Veličković P, Cucurull G, Casanova A, et al. Graph attention networks[J]. International Conference On Learning Representations, 2018. Doi:10.48550/arXiv.1710.10903
[32]
Peng H, Li J X, Gong Q R, et al. Motif-matching based subgraph-level attentional convolutional network for graph classification[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2020, 34(4): 5387-5394. Doi:10.1609/aaai.v34i04.5987
[33]
Lu Y F, Shi C, Hu L M, et al. Relation structure-aware heterogeneous information network embedding[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33(1): 4456-4463. Doi:10.1609/aaai.v33i01.33014456