一种基于监督对比学习与结构推断的图分类训练方法

文档序号:32601482发布日期:2022-12-17 16:09阅读:27来源:国知局
一种基于监督对比学习与结构推断的图分类训练方法

1.本发明涉及图数据结构的拓扑信息提取及对比学习方法,针对难以使用传统方法对图数据结构进行分类的问题,设计了一种基于监督对比学习与结构推断的图分类训练模型。


背景技术:

2.图数据结构(图)是一类关系数据结构的总称,通常用来表征真实世界中蕴含复杂相互关系的系统,例如社交网络、蛋白质网络以及交通网络等。具体而言,每个图由节点和边组成,其中每个节点对应一个或具体或抽象的实体,节点上的特征抽象于该实体的具体特征,每条边代表了一对实体之间存在的相互关系,这种节点和边的关系构成了图的拓扑信息结构。图分类任务就是将每个图的拓扑结构和特征进行总结,将不同的图划分到不同的类别中的过程。现今,图分类任务已经被应用于许多领域中,例如化学分子性质预测、脑疾病分类、点云图像分类(point cloud classification)等等。
3.现在比较流行的图分类方法大致可以分为两类:图核方法(graph kernel,gk)和图神经网络(graph neural networks)。一般的图核方法有随机游走核方法、最短路径核方法、韦氏雷曼核方法等等。图核方法需要人工定义核函数对图的拓扑结构信息进行概括,在更为一般的数据集中缺少普适性和可学习性,这限制了图核方法的使用。图神经网络对当下流行的人工神经网络算法进行改造,使其适应图数据的拓扑性质,具有优良的可拓展性和可学习性。由于图神经网络可以拥有较深的结构,因此可以采用堆叠深度的方法获取图的隐藏拓扑信息。但是,一昧增加图神经网络层数会导致节点特征过平滑,减弱特征可识别性。为了解决这个问题,而提出了子图神经网络和图神经网络共同构成了层次化的特征提取模型。但是在图分类问题上仍缺少针对性的设计,无法充分挖掘图神经网络的性能。
4.在一般分类领域,采用对比学习可以加强模型的分类能力,但是在图分类领域还缺少相关尝试,尤其是缺少监督对比学习的内容。同时,针对图本身的质量可以通过结构推断构建有利于图分类的增强图结构。结构推断是一种通过序列采样对图进行结构推断的技术,可以直观表达图的深层拓扑信息,提升图数据质量。


技术实现要素:

5.针对当前采用对比学习的图分类任务中缺少标签信息和数据增强手段依赖先验知识的问题,本发明提出了一种基于监督对比学习与结构推断(supervised contrastive learning with structure inference into graph neural networks,supcosine)的图分类模型。首先,该模型通过结构推断充分挖掘图数据本身的拓扑信息作为原本图数据的增强图。然后通过标签进行随机采样构建样本正负例对,并使用层次化的图神经网络分别对正负例样本进行学习以提取整图嵌入。最后,通过普通分类损失和监督对比学习损失共同指导层次化图神经网络的学习过程,提升嵌入的分类性能。
6.实现本发明的主要思路是:根据模拟时间序列对图在信息流通过程中的各个边进
行评分,挖掘具有重要信息枢纽的节点和边从而提取图的潜藏深层拓扑特征。这些拓扑特征与原本的图结合能够将原本需要多层gnns才能提取的信息直接表现在拓扑结构的改变上,从而在gnn层数一定的情况下提升其信息提取能力。在对整个模型的训练指导方面采用监督对比学习和传统分类学习结合的方式。在图分类任务中引入监督对比学习能够提升嵌入的独特性,同时,在自监督对比学习中引入标签信息能够帮助对比学习损失明确学习方向,增大不同类别嵌入之间的区别性,从而提升模型整体的分类性能。
7.一种基于监督对比学习与结构推断的图分类方法,包括以下步骤:
8.步骤一,数据获取:基于mutag、ptc、proteins及imdbbinary等数据集,获取图分类所需要的基本数据,即邻接矩阵a与节点特征x。
9.步骤二,生成模拟时间序列:基于步骤一种获取的基本数据,对每个图的邻接矩阵a生成相应的模拟时间序列集合c。
10.步骤三,结构推断:根据每张图的时间序列集合c通过后验计算各个边的邻接概率,并应用于,并应用阈值k产生增强图
11.步骤四,构建正负例样本:将获取的和x根据图标签进行划分为正负例样本g
p
和gn。
12.步骤五,产生子图嵌入:对正负例样本g
p
和gn,在每个节点上采用宽度优先搜索产生相应的子图划分,并在相应的子图上应用子图神经网络产生子图嵌入。
13.步骤六,产生图嵌入:将子图嵌入进行评分和采样构建能够代表当前图数据的一维嵌入,并利用该嵌入生成相应的图分类标签p。
14.步骤七,监督对比学习:将正负样本的图嵌入和相应的监督标签通过对比学习函数计算损失,图分类标签p和真实标签计算一般分类损失,将二者结合构成最终的分类损失。
15.步骤八,模型根据分类损失进行迭代更新,待收敛后采用最终的图分类标签p'作为最终的图分类模型输出。
16.与现有技术相比,本发明具有以下明显的优势和有益效果;
17.(1)融合结构推断和标签信息,增强了对比学习在图分类任务中的能力。
18.(2)基于结构推断的数据增强方式不需要先验知识,增广了模型使用范围,加速了模型学习速度。
19.(3)将图数据上的自监督对比学习扩展为标签监督下的对比学习,增强了其对比学习能力。
20.(4)在ptc上的实验结果表明,本发明可以提升图分类性能,在广义图分类数据上具有较好的可推广性。
附图说明
21.图1:本方法所涉及模型的流程图。
22.图2:消融实验。
23.图3:训练过程模型精度对比。
具体实施方式
24.下面阐述本发明的具体实施方式和详细步骤,本发明具体实现的流程如图1所示,具体包括:
25.(步骤一)数据获取:为了验证本发明所提出模型的有效性,在mutag、ptc、imdbbinary及proteins数据集上进行实验,评估该模型的分类性能。其中mutag和ptc数据集是化合物分子数据集,每个图代表了一个化合分子。imdbbinary是互联网电影数据库,每个节点代表一个演员,而边代表两个演员出现在同一个电影中。proteins则是蛋白质分子数据集,其拓扑结构表示了相应蛋白质分子在空间中的拓扑形状。对上述数据集中的每个图,均可表示为g=(v,e),其中v表示节点集合,e表示边的集合。对一个属性图而言,可进一步表达为g=(x,a)|x∈rn×d,a∈rn×n,其中x是各节点属性的集合,a是邻接矩阵表现了图的拓扑结构,n是每个时间序列中节点的数量,d则是节点特征维度的最大值。
26.(步骤二)生成模拟时间序列:本发明采用融合节点度的仿真感染程序针对数据集中的每个图产生数据模拟序列。首先选取图内的节点,之后根据其度数和相邻节点度数的差值生成各个邻居的感染概率。根据该感染概率计算相应的感染时间和感染节点,并进行相应的标记。在限定时间内重复上述过程可以得到一条节点的时间感染序列。对于每个图,我们生成1000条时间感染序列以进行结构推断。
27.(步骤三)结构推断:根据每张图的时间序列进行后验计算各个边的连接概率,并应用阈值ξ产生增强图a

。对于每个图的时间序列集合c:(c1,...,cq)∈rq×n,其中q是时间序列的数量,n是每个时间序列中节点的数量,c1,...,cq为时间序列的各个元素。根据集合c计算相应的邻接矩阵m就是要最大化概率函数φ(c;m)。在时间窗口[0,t]内,感染过程从节点vi到节点vj的转移方程f(tj|ti;m
i,j
)为:
[0028][0029]
其中ti为节点vi的感染时间,tj为节点vj的感染时间,ti,tj≤t,e为自然底数,m
i,j
为邻接矩阵m第(i,j)项。则由节点vi到节点vj的转移概率方程φ()可以定义为:
[0030][0031]
其中tk为时间ti至tj之间的所有时刻,将所有满足vi(ti<tj)条件的概率相加即可得到在tj时刻满足当前时间感染序列的邻接矩阵m的概率分布:
[0032][0033]
对于每个时间序列的所有时刻t,将相应的概率分布相乘可以得到该时间序列c条件下,任意时刻t的邻接矩阵m的后验概率分布:
[0034][0035]
该根据该概率分布和条件独立性假设,时刻t的可能性邻接矩阵m及相应的时间序列c的概率密度如下所示:
[0036][0037]
由于(5)式仅表达了单个时间序列c的概率分布,对于集合c则需要求解f(c;m)=∏
c∈c
f(c;m),最终对于m的求解可以得到如下形式:
[0038]
max
m≥0

c∈c logf(c;m)
ꢀꢀꢀ
(6)
[0039]
在采用阈值ξ过滤噪音后得的m,并通过产生增强图a

作为数据的增强邻接矩阵。
[0040]
(步骤四)构建正负例样本:对每个标签的每个样本而言,采用其本身和相应的标签为正例,采用其他标签中样本的抽样作为负例。针对数据集中的每个样本,根据标签划分成属于当前标签的样本和不属于当前标签的样本。在不属于当前标签的集合中随机选择一个样本作为当前样本的负例,和原本的样本共同构成正负例对。
[0041]
(步骤五)产生子图嵌入:对每个节点采用宽度优先搜索产生相应的子图划分,并在相应的子图上应用子图神经网络产生子图嵌入。对图上的每个节点vi应用宽度优先搜索(breath-first-search,bfs)和搜索上限阈值β产生相应的子图gi和相应的节点集合s
bfs
(vi)。在该集合上应用子图神经网络产生初始化的节点特征过程如下:
[0042][0043][0044]
其中,x是节点的初始特征,h
(0)
是节点vi用于图神经网络的初始化特征,aggeregate是用于聚合邻居特征的聚合函数,combine则是计算邻居特征和当前节点特征的函数。通过式(7)和式(8),我们可以计算得到整个图的初始特征h
(0)

[0045]
(步骤六)产生图嵌入:将子图嵌入进行评分和采样构建能够代表当前图数据的一维嵌入。在子图嵌入h
(0)
的基础上采用多个邻域聚合层构成深度图神经网络,其中每层的特征更新函数如下:
[0046][0047]
其中l≥1代表了当前聚合的层号,表示节点vi的邻域节点的集合,γ为相应的加权参数mlp则是用于学习聚合方法的多层感知机。在若干层学习后,整个图的节点特征表示可以用表示,其中dn是第l层的节点特征维度。为了将图中若干个节点的特征表示融合成一个单一的表示整个图的嵌入,首先我们应用可学习的topk函数选择k个重要节点:
[0048][0049]
其中,idx表示选择的节点编号,表示可学习的参数向量。对于选择好的节点应用下列公式可以计算得到最终的图嵌入r:
[0050][0051][0052]
其中,是权重矩阵,ds是超节点的维度数量,是整个图的嵌入表达,p为本次学习的图标签预测。
[0053]
(步骤七)监督对比学习:将正负样本的图嵌入和相应的监督标签通过对比学习函数计算损失并和一般分类损失组合,构成最终的分类损失。我们采用交叉熵损失作为一般分类损失:
[0054][0055]
其中y为各个图的真实标签信息。我们采用引入标签信息后的对比学习损失可以表示为如下形式:
[0056][0057]
其中ω={1,...,2m}代表了当前批数据中所有的样本的下标(包括正例和负例),φ(.)表示了当前批数据中所有正例样本的下标,对于每个正例样本i存在相应的负例样本p,τ是相应的温度控制超参数,γ(i)为除了样本i以外的所有样本的集合。通过提前根据标签构建正负例样本对的方法,在公式(14)中隐含了标签信息从而提升对比学习在图分类任务中的指导质量。最终损失如下:
[0058][0059]
其中λ是控制监督对比学习部分占比的超参数。
[0060]
(步骤八)模型根据分类损失进行迭代更新,待收敛后采用最终的图分类标签p

作为最终的图分类模型输出。
[0061]
为了充分验证本方法的优越性,我们在mutag、ptc、proteins、imdbbinary数据集上和许多现存的图分类方法进行了比较。这些方法大致可以分为两类:图神经网络方法和图对比学习方法。其中图神经网络方法包括graphsage、gin、dagcn、ppgn、capsgnn、sgn等,图对比学习方法包括graphcl、infograph、m-gcl、gxn、sgin、sugar等。使用分类精度(acc)作为比较指标,结果以均值(%)
±
标准差的形式如表1所示:
[0062]
表1 mutag、ptc、proteins、imdbbinary数据集上各方法对比
[0063]
方法mutagptcproteinsimdbbinarygraphsage79.8
±
13.9-65.9
±
2.772.4
±
3.6gin89.4
±
5.664.6
±
7.076.2
±
2.875.1
±
5.1dagcn87.2
±
2.0562.9
±
9.676.3
±
4.3-ppgn90.6
±
8.766.2
±
6.577.2
±
4.773.0
±
5.8capsgnn86.7
±
6.9-72.0
±
1.172.2
±
0.9sgn89.5
±
7.464.1
±
3.776.3
±
4.176.5
±
5.7graphcl86.8
±
1.3-74.4
±
0.571.1
±
0.4infograph89.0
±
1.161.7
±
1.4-73.0
±
0.9
m-gcl89.7
±
1.162.5
±
1.7-74.2
±
0.7gxn86.1
±
8.363.5
±
5.879.9
±
4.178.6
±
2.3sgin94.1
±
2.773.6
±
4.379.0
±
3.277.9
±
4.3sugar96.7
±
4.177.5
±
2.881.3
±
0.973.0
±
3.5supcosine(ours)98.3
±
2.587.8
±
10.480.0
±
3.683.0
±
3.2
[0064]
从上表中我们可以看到,我们的模型与其他几种方法相比均具有较高的准确率均值,在四种数据集上基本都达到了最高的性能水平。在mutag、ptc和ibdbbinary数据集上,与第二强的方法相比我们的方法分别达到了1.0%、10%和4.4%的性能提升,而在proteins数据集上也达到了并列第一的水平。和其他图对比学习方法相比,我们的方法取得了显著的进步,这证明了我们策略的有效性。
[0065]
为了进一步说明所提出方法各个模块的有效性,我们在四个数据集上分别进行了相应的消融实验。对比的基础方法(base)采用没有添加结构推断和监督对比学习部分的gin模型,在此基础上分别增加结构推断模块(+struinf)和监督对比学习部分(supgcon),以及融合所有模块的最终模型(supcosine)。其数据结果在图2中进行了展示。在大多数情况下结构推断模块的性能要优于单纯采用监督对比学习模块的模型,而与base相比,上述两个模块都带来了一定的图分类的性能提升,这证明了其有效性。同时,结合两个模块的supcosine模型取得了非常显著的性能提升,这说明结构推断及监督对比学习模块可以很好地与图神经网络融合,两者相辅相成促使图神经网络能够很好地对图进行分类。
[0066]
为了进一步说明本方法的有效性,我们在图3中展示了gin和我们方法的训练精度曲线图。图中可以看到,我们的方法在一开始就具有相对高的准确度而在训练过程中也具备相当的稳定度。与之相比的是,gin方法在训练过程中波动非常明显,而且在约100个epoch后其训练精度就已经接近100%了,这说明其存在非常明显的过拟合现象,也因此在测试集上其性能反而不如我们的方法。本方法相对稳定的训练过程主要得益于结构推断模块对图中潜藏链接的加强,凸显了不同图的性质特点。而监督对比学习模块则帮助我们的模型学习各种图之间的可识别性,避免训练过程中的过拟合现象,提升模型的可推广性。
[0067]
上述实验表明,本发明所提出的模型supcosine与其他基于图神经网络的图分类方法相比,拥有更优越的性能,在广义的图分类问题上具有较好的适应性,具备良好的可推广性和应用前景。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1