刘颖颖,叶海良,曹飞龙
(中国计量大学 理学院,浙江 杭州 310018)
近几年,人们对图神经网络(graph neural networks,GNN)[1]的研究兴趣增加了很多。图神经网络是一种强大的处理图结构数据的神经网络类型,广泛应用于节点分类[2-4]和图分类[5-6]等任务。经典的图神经网络包括图卷积网络(graph convolutional networks,GCNs)[7],图注意力网络(graph attention networks,GAT)[8]等。目前,大多数GCN模型[9-11]仅限于浅层网络架构,这种浅层架构限制了网络提取高阶信息的能力。然而,当直接加深网络层数时,它们通常遭遇过拟合或过平滑问题,从而导致网络性能不佳。因此,如何将图神经网络推广到深层结构是当前的具有挑战的问题。
实现加深图神经网络的关键是解决过拟合或过平滑问题。过拟合问题源于训练数据分布有限,解决此问题通常采用过采样[12-14]和插值[15-17]的方法来学习拟合训练数据。图随机神经网络[18]设计了一种随机传播策略对图数据进行增强,表现出比现有的GNNs更好的泛化能力。边删除技术(DropEdge)[13]在每个训练阶段从输入图中随机删除一定数量的边,从而动态地生成与原始图中不同的邻接矩阵,以增加输入数据的多样性。然而,这些方法往往在通过随机增加或删除图的节点和边的过程中破坏了原始图数据,从而导致信息丢失。本文利用局部和全局相结合的架构,通过全局分支加入原始信息改善了这一方法存在的问题。
随着图网络层数的增加,节点的特征变得越来越难以区分,这就产生了过平滑问题。许多学者提出了深度模型优化网络体系,可以有效地解决这一问题。残差网络(residual network,resNet)[19-20]采用简单堆叠层中的残差连接,为梯度传播提供额外的路径,由此解决了消失梯度问题并使网络层数大幅度增加。深度图神经网络(deep graph neural networks,DeepGCNs)[21]继续扩展了这一想法,Li等[21]将密集连接[22-23]和扩张卷积[24]结合起来,使训练深度网络更具有稳定性。图神经网络变体(simple and deep graph convolutional networks,GCNII)[25]采用初始残差和恒等映射的结合,这有效地缓解了过平滑问题,并且文中提供了相应的理论证明。
虽然上述工作提出了许多提取深层特征的方法,且在节点分类任务上取得了比较好的性能。然而,大部分深度图网络对不同层的特征融合仍然不够充分,这在很大程度上限制了不同层特征的融合。大多数模型超参数需要人为设定,这使得网络框架的效率大大降低。
为了克服上述不足,本文设计了一个基于自适应特征更新的动态深度图神经网络框架来学习深层有效特征。所提出的方法是一种深度局部分支和全局分支相结合的架构。在深度局部分支中,通过DropEdge在每个训练阶段动态地生成不同的邻接矩阵,从而增加数据多样性,缓解过拟合问题。随后,将所得数据输入自适应恒等映射滤波器进行特征提取。在滤波器中,将自适应恒等映射添加到滤波器函数可使模型达到至少与其浅层模型相同的效果。此外,本文还添加了存储块以存储每层更新后的特征。特别地,所设计的存储块通过自适应权重加入更新后的特征信息,动态地保留各阶节点之间的特征。最后将存储块的特征和初始特征经过卷积进行融合改变其维度,以便于进行节点分类。在全局分支中,通过卷积将原始特征与深度特征进行融合,以保证原始信息在整体框架中的完整性。
总之,本文首先采用局部特征和全局特征相结合的方法,构建了基于自适应特征更新的动态深度图神经网络框架。其次,我们提出了一种自适应策略,以数据驱动的方式学习多项式滤波器系数和各阶特征组合系数。最后,将提出的框架与基于采样的方法相结合,以提高输入数据的多样性。模型的训练达到128层,在数据集上的实验结果验证了所提模型的正确性和有效性。
图卷积网络:图卷积网络是近年来提出的一种将传统卷积运算应用于图结构的网络模型,它依然存在着深度学习[26]中复杂度的问题。图卷积操作中的滤波函数f(L)通常用拉普拉斯多项式近似:
(1)
(2)
式(2)中,σ(·)为激活函数。
DropEdge:为了对原始图数据进行数据增强,有学者提出DropEdge[13]机制。即从原始图中随机删除边,缓解节点随着层数的增加收敛到一个平稳点,从而解决过平滑现象。DropEdge按一定比例随机丢弃输入图中的边,也旨在通过生成的邻接矩阵变体Adrop来提高模型泛化能力,从而提高数据多样性。生成的邻接矩阵与初始邻接矩阵A之间的关系为
(3)
式(3)中,A′是根据比率保留邻接矩阵,其中p是邻接矩阵中边总数的丢弃率。
(4)
在已有工作的基础上,本文设计了一种基于自适应特征更新的动态深度图神经网络框架,它具有深度局部分支和全局分支的融合架构,如图1。全局分支是为了防止初始节点的特征被来自高阶节点的特征掩盖。通过在整体网络中添加全局分支特征提取来优化其结构,其目的是学习捕获节点及其邻域结构特征的浅层信息并减少原始信息的丢失。深度局部分支采用DropEdge得到新的邻接矩阵,并将其输入到自适应恒等映射滤波器中。滤波器更新后的特征添加到自适应跳跃连接存储块中,通过自适应跳跃连接完成深度特征传播。深度局部分支有利于加深网络层的数量,并能够自适应的储存高阶节点之间的信息。
图1 基于自适应特征更新的动态深度图神经网络框架Figure 1 Structure of dynamic deep graph neural network based on adaptive feature update
在深度局部分支中,我们首先设计了与现有的DropEdge相结合的方法得到初始局部图特征。随后,初始局部图特征通过构建的自适应恒等映射滤波器进行深层特征更新。最后,局部深层节点特征在自适应跳跃连接存储块中自适应交互学习并实现信息储存。存储块输出特征与初始局部图特征融合实现信息利用率最大化。
首先,通过GCN卷积聚合初始节点特征和经过DropEdge处理变化的邻接矩阵,构建一个局部图特征输入应用于深度局部分支。这一操作将初始特征维度压缩到与深度局部隐藏层相同的维度,初始局部图特征定义为
(5)
其外,为了将网络扩展到深层以增强其特征提取能力,自适应恒等映射添加到滤波器中是一种有效的手段。自适应恒等映射滤波器能够表示任意系数的K阶多项式滤波器,模型的第l层定义为
(6)
最后,在深度局部分支中构造一个自适应跳跃连接存储块,保证不同层之间的特征动态融合,并且当融合更多层信息时避免了信息冗余。更新的深层特征X(l)进入存储块,存储块通过添加参数α的自适应跳跃连接向前传递。随着层数加深,各层更新特征不断加入到存储块中,各层信息连接参数也随之发现动态变化。在层组合中,深层特征来补充每个自适应跳跃连接存储块,在保留特征的局部特征的同时,利用了所有层的信息。深层特征X(l)和存储块的输出特征H(l)之间的关系定义为
H(l)=αH(l-1)+X(l),l=1,2,…L。
(7)
式(7)中,H(l)为自适应跳跃连接存储块的输出,H(l-1)为初始存储块,H(0)由构建的局部图特征X(0)传入,参数α初始值范围设置为[-1,1],并通过反向传播进行进行动态更新。L为深度局部分支总层数。
在X(0)和H(l)之间使用跳跃连接,它将初始局部图特征与存储块输出特征组合起来,以便组合所有层的节点信息并最大化来自浅层的信息。通过图卷积将深度局部分支的特征压缩到节点分类的维度,最后深度局部分支的特征为
(8)
由于深度局部分支聚合没有考虑初始图信息,仅使用了经过DropEdge处理后的邻接矩阵。为了保留初始特征的完整信息,本文将全局分支获得的节点特征与通过深度局部分支获得的节点特征连接起来,将其作为全局分支后的输出特征H′。最后,深度局部分支和全局分支携带的不同信息完成聚合,最终的输出特征Y为
(9)
(10)
本文考虑三个数据集:Cora、Citeseer和Pubmed。这三个数据集是节点分类任务常用的基准数据集,每个数据集都由以下八个文件(三种类型)组成:第一种类型:x、tx、allx;第二种类型:y、ty、ally是对应的标签;第三种类型:图形、测试、索引。表1统计了实验中数据集的组成。
表1 实验中使用的数据集的统计数据Table 1 Statistics of datasets used in experiments
Cora由机器学习论文组成,是近年来该图形深度学习的热门数据集。在面向数据集中,本文分为以下七类:基于案例的,遗传算法,神经网络,概率法,强化学习,规则学习理论等。数据可以转换为模型中的任务,并且可以在训练集中访问节点特征。
Citeseer是一个关于论文数据集,由3 327篇论文的图表组成,包含六个标签:代理,AI(人工智能),DB(数据库),IR(信息检索),ML(机器语言)和HCI(人机交互)。它总共有3 703个功能部件和3 327个节点。
Pubmed是19 717份与糖尿病相关的论文的数据集。Pubmed中的每篇论文都由术语频率逆文档频率(TF-IDF)向量表示。它总共有500个功能部件和19 717个节点。
本文采用GCNII[25]和DropEdge[13]中使用的全监督训练方式,分别对每个数据集里的文件进行训练、验证和测试。模型的初始学习率为0.02,L2正则化系数设置为0.000 01,线性层的丢弃率为0.5。本模型采用自适应学习率优化算法(adaptive moment estimation,Adam)[28]训练网络中的权值与偏置。该模型有自适应调整机制,能够自适应地平衡卷积层中特征和储存信息块的参数。因此,模型需要调整的唯一参数p是邻接矩阵中边的丢弃率。
本文模型与其它基于图神经网络的模型进行精度比较,将这些基准图网络主要分为三类。首先,我们比较三种先进的浅层图卷积模型:GCNs[7]、GAT[8]、近似个性化传播(approximate personalized popagation of nural pedictions,APPNP)[29]。其次,我们比较最近的深度模型:GCNII[25],跳跃知识网络(jumping knowledge networks,JKNet)[30],ResGCN[19],DropEdge[13]分别在三个不同的主干模型中(DropEdge-GCN、DropEdge-JKNet、DropEdge-ResGCN)。最后,我们比较最近的图数据增强模型:自适应采样图卷积网络(adaptive sampling towards fast graph representation learning,AS-GCN)[31],节点分类图正则神经网络(neural graph learning-nodeNet,NodeNet)[32],几何图卷积网络(geometric graph convolutional networks,Geom-GCN)[33],边蒸馏(link distillation,LinkDist)[34]和随机点对的对比蒸馏(contrastive training with negative links,CoLinkDist)[34]。为了确保公平的评价指标,实验中固定了隐藏单元的数量,每个数据集以相同的比例进行相同的训练和测试过程。
为了真实地反映该模型对不同的数据集的影响,我们对模型的参数进行了大量的随机搜索,选择最终的最佳精度结果。
表2展示了本文模型在2、4、8、16、32、64、128层情形下Cora、Citeseer和Pubmed数据集的性能,最佳精度结果以粗体突出显示。节点分类测试精度取得了较大的提高,平均精度提高了0.6%~2.0%。从模型深度的角度上来看,所提出模型突破了4层的网络层数,随着网络层数的增加,分类精度得到一定程度的改善。其中,在Cora和Pubmed两个数据集上,网络层数增加到128层时,分类精度最高;在Citeseer数据集上,随着网络层数增加,分类精度在16层时达到最佳,随后略微下降。从后续的消融实验也可以看出,GCN模型当层数超过4层时,精度会有明显的断层式下降。本文模型的精度随着层数加深并没有显著下降,这表明模型对缓解过平滑的问题起到了一定作用。本文网络深度增加到128层,成功地将普通的GCN扩展到深度模型。
表2 不同深度的分类精度结果汇总Table 2 Summary of classifification accuracy results with various depths %
表3展示了本文的模型与基准模型在Cora、Citeseer和Pubmed数据集上进行的精度比较,最佳精度的层数标注在括号中。我们可以观察到浅层模型GCN在三个数据集上的性能都非常低,这表明只使用浅层框架限制了节点分类任务。浅层模型与深层模型相比,层数较高的节点会从邻居节点获得更多的信息。我们增加了自适应跳跃储存层,既得到深层特征又融合了各阶特征,因此获得了较高精度。此外,GAT,ResGCN和Geom-GCN不优于GCNII这一事实验证了恒等映射技术更为重要。另一方面,我们注意到,当层数超过32时,DropEdge的卷积性能迅速下降,这表明了简单的数据增强只能加深有限的网络层数。与其它网络相比,我们模型中可变的参数量较少,更容易调整模型的精度。我们的模型相比于其他的模型达到了最高的层数,成功地实现了提高网络深度这一目的,并在数据集上取得较好的结果。
表3 不同对比方法的分类精度结果汇总Table 3 Summary of classifification accuracy results with different comparison methods %
本节基于Cora、Citeseer和Pubmed三个数据集进行超参数实验。模型中有三个参数,其中自适应恒等映射滤波器和自适应跳跃连接存储块中的参数将在模型中进行自适应调整。根据表4的结果,我们将评估DropEdge的参数p丢弃率的影响,并检查其抗鲁棒性的潜在性能。一些对抗性攻击图数据的论文[35-37]分析了图神经网络在参数的变化下容易出现显著的性能下降的问题,此问题也引起了我们的关注。故本文对网络结构进行综合性改进,其它参数也得到了自适应的调整。为了能够在深度网络中观察到实验的性能,我们选择精度最高的层进行超参数的讨论。例如,在Cora数据集实验中,我们固定了l=128层。为了显示模型在这些超参数扰动下的稳定性,p的参数以0.1为区间步长,取值范围为[0.1,1.0)。我们将网格搜索范围设置为{0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9}。我们对图数据进行不同边扰动,利用超参数实验来评估模型的鲁棒性。
表4 DropEdge超参数实验Table 4 Hyper-parameter experiments of DropEdge
在三个数据集的不同边丢弃扰动条件下,实验的精度仍保持一定的稳定性。在90%的边被丢弃,导致原始图数据信息过度损失的情况下,三个数据集上的准确率仍没有明显的下降趋势。这一比较突出了我们的模型能够适应更广泛的数据,我们的方法可以从数据中学习适当的滤波器多项式的系数,减少图滤波器相关的超参数,为训练模型和提高鲁棒性提供强大的指导。这些观察结果表明,通过优化模型,它在不同等级的扰动下仍然有较强的鲁棒性。
在本节中,我们将讨论图神经网络对自适应恒等映射滤波器和自适应跳跃连接存储块的评估技术,以及通过添加全局分支和DropEdge对模型的整体改进。我们在该模型上进行消融实验,并将其与原始图神经网络进行比较。表明了我们的方法显著提高了网络性能,并验证了框架中不同组块的影响,以确保深度模型的有效性。在模块自适应恒等映射滤波器(adaptive identity mapping,AIM)、自适应跳跃连接存储块(adaptive residual connection storage block,ARS)、全局分支(global branch,global)和DropEdge中,我们在与实验装置相同的条件下,对Cora、Citeseer、Pubmed数据集在2、4、8、16、32、64、128层进行实验。
我们从图2~4中得到了6个观察结果。
图2 Cora数据集消融研究Figure 2 Ablation study of Cora
图3 Citeser数据集消融研究Figure 3 Ablation study of Citeser
图4 Pubmed数据集消融研究Figure 4 Ablation study of Pubmed
第一,当以原始的GCN作为初始实验时,在三个数据集上只能进行浅层实验,在层数加深的过程中,精度大大降低。
第二,直接将自适应恒等映射应用于GCN时,其性能略优于GCN,它可以延缓过平滑的问题,但当层数超过8层时,精度仍然大幅度降低。
第三,直接将自适应跳跃连接存储块应用于GCN的深化效果显著,但在网络层的深化过程中,精度呈下降趋势。
第四,应用自适应恒等映射和自适应跳跃连接存储块,使模型能够克服过度平滑,保持稳定性。这表明两个块应该一起使用,否则,自适应恒等映射倾向于学习无用的零映射。
第五,在网络保持稳定的深层环境后,我们添加了DropEdge来进一步提高网络的精度,这说明了通过生成邻接矩阵不同变体提高了模型泛化能力。
第六,在网络保持稳定和趋于更深层后,模型加入全局分支,这一操作使网络更好地利用初始节点的信息,有利于网络整体的稳定性。
通过消融实验的比较,我们发现应用混合组块明显优于使用其任一组块。它不仅增加了网络层的层数,而且在三个数据集上的结果精度明显更高,这验证了本文模型的有效性。所提出的模型随着层数的增加而保持了较高的精度,并且网络的层数达到128层,有效地缓解过拟合和过平滑问题。
由于图神经网络在逐渐加深其网络层数时会出现过拟合和过平滑的问题,大多数图网络方法均具有较浅层的网络结构。本文基于此问题创建了基于自适应特征更新的动态深度图神经网络,进而缓解了此现象,以更好地完成节点分类任务。在模型的整体调整中,全局分支上的浅层节点为网络的深度扩展发挥了指导性的作用。在深度局部分支中,经过DropEdge进行动态数据增强,构建自适应图滤波器更新深层特征,并用自适应跳跃连接存储块实现不同阶特征的动态储存。对Cora、Citeseer和Pubmed数据集进行实验,所提出的方法与其他节点分类方法相比较网络层数可以增加到128层,且有效缓解了过拟合和过平滑问题,在节点分类任务中精度得到显著提高。
本文提出的方法从整体来看具有较好的性能,然而对于在大规模的图数据是否适用还有待研究,这很大程度上是由于层数的增加,大规模图数据采样充分性往往是不确定的。