APP下载

基于重要性池化的层级图表示学习方法

2021-01-22张红梅李浩然张向利

桂林电子科技大学学报 2020年4期
关键词:池化特征提取层级

张红梅,李浩然, 张向利

(1.桂林电子科技大学 信息与通信学院,广西 桂林 541004;2.桂林电子科技大学 广西高校云计算与复杂系统重点实验室,广西 桂林 541004)

近年来,随着机器学习技术的不断发展,特别是卷积神经网络(convolutional neural network,简称CNN)的优秀表现,研究人员开始将卷积操作扩展到图数据,希望利用卷积操作强大的特征提取能力给图任务带来更有效的解决方法。但传统图神经网络在大规模图分类任务上存在训练过程中噪声信息过多以及对于图的层级表征信息挖掘不完整等问题。因此,基于图的神经网络算法亟待进一步的研究。

图神经网络(graph neural network,简称GNN)这一概念是由Gori等[1]首次提出,作为循环神经网络的一种泛化形式而引入。Bruna等[2]提出的图卷积神经网络(graph convolutional network,简称GCN),通过傅里叶变换将图的Laplacian矩阵从空间域转换至频域,基于频域中的概念创造性地将可训练的卷积操作应用于图数据。文献[3-4]在原始GCN的基础上分别提出了2种简化操作,在降低了算法复杂度的同时极大地提高了算法的效率。但这些GNN算法都存在一定的局限性,它们在本质上是平坦的,特征信息仅通过节点的边缘传播,无法以层级的方式推断和表示信息。因此,Ying等[5]提出了一种可微分的图池化方法(DiffPool),通过端到端的形式学习图的层级表示,但该方法空间复杂度较大,且参数的数量与节点数相关,对于大型图数据集不够友好。Gao等[6]使用gPool池化方法达到了与DiffPool相当的性能,并且对空间复杂度进行了优化,取得了明显优势,但未考虑图结构特征信息的提取。

另一方面,深度学习的成功在于深层的网络结构,因此神经网络通常会采用增加网络层数的策略来提高模型的分类效果[7]。但在传统图神经网络中,当网络层数堆叠至2层以上,模型的分类效果会随着层数的增加而下降[3],这是由于更多的层会传播更多来自邻域的噪声信息。鉴于残差连接[8]在传统深度学习中的成功应用,有研究人员尝试将残差网络与图神经网络结合[3],但效果并不理想。于是,Xu等[9]提出了一种跳跃知识网络架构(jumping knowledge networks,简称JK Net),将每层图卷积的输出都连接到网络的最后一层,并且在最后一层引入自适应的特征聚合机制,为每个节点分配合适的权重和感受野,这为后续的研究提供了新的思路。

综上所述,现有GNN算法在处理图分类任务时通常存在3个问题:1)处理大图数据集时模型复杂度较高;2)浅层结构不能完整地挖掘出节点和图的表示信息;3)对于图数据层级结构特征的挖掘不够深入。为了解决上述问题,提出一种端到端的基于重要性池化的层级图表示学习方法。

1 算法框架

基于重要性池化的层级图表示学习方法框架如图1所示。本方法以层内-层间联合特征提取结构为基础,包括层内特征提取模块和层间特征提取模块2个部分。首先利用GNN对输入图数据进行特征提取,之后利用图池化层对处理后的节点进行重要性采样,并将每层形成的新图输入RNN单元,以自适应地为每个节点分配合适的感受野,最后经过一个多层感知机(multilayer perceptron,简称MLP)对处理后的图数据进行分类。

图1 本方法框架

1.1 层内特征提取模块

以图G=(V,E)为例,其中V为图的节点集合,E为图的边集合。设N为节点数,F为特征维度,则A∈RN×N为邻接矩阵,X∈RN×F为节点特征矩阵,D∈RN×N为节点度矩阵。

层内特征提取模块主要实现了采样重要节点的功能。采用GNN提取每层的特征,为节点生成新的特征。利用新的特征矩阵计算每个节点在可训练向量p上的一维投影分数,以此作为节点采样标准,降序选择投影分数最大的k个节点组成一张新的子图,这个采样过程称为top-rank。

选择GCN作为特征提取网络,以第l(l=0,1,…,L)层为例,经过图卷积神经网络得到新的特征表示,

(1)

为了进一步减小特征图的尺寸,将Xl+1输入池化层进行池化处理。池化层采用gPool算法的下采样方法,定义一个可训练的一维投影向量p∈RF′,计算每个节点特征向量在投影向量p上的一维投影分数y,并对其进行归一化和非线性处理,

(2)

(3)

(4)

输出的新图与原始图相比尺寸较小,同时保留了原始图中大部分的特征和属性,并且由于节点的选择与邻接矩阵的更新同步,新图中节点之间的连接具有与原始图一致的连通性。为了得到均匀的特征分布,需要对Xl+1进行归一化处理,得到输出的新的特征矩阵,

(5)

其中⊙为哈达玛积,表示对2个维度完全相同的向量或矩阵进行对应位置元素相乘。

由于每经过一次层内特征提取,节点数N会缩减为kN,导致每层输出的特征矩阵形状并不相同,给后续的计算带来不便。因此,对每层的输出Xl+1进行Readout处理,得

(6)

其中,S∈R2F′为处理后具有固定尺寸的输出,大小与节点数目无关,只与特征维度有关。

1.2 层间特征提取模块

层间特征提取模块主要实现保留重要特征的功能,模块架构采用层次结构,因为对于捕获图的结构信息来说,层次表示非常关键。将整个模型的层级输出经过Readout处理后,以序列数据的形式依次输入RNN,在训练过程中自适应地融合了不同层的特征信息,实现对于图数据层级表示的捕获。

在GNN模型中节点特征的更新规则是每经过一层网络,都会聚集来自该节点一阶邻居的特征信息,在理想状态下,当经过足够次数的更新后,每个节点都能完全包含整张图的特征信息。当模型层数较少时,输出的结果无法获得节点完整的特征表示,但当模型层数过多时,又会造成过平滑的问题,即每个节点都具有相似的特征表示,反而失去了其个体的独特性。因此,将层内特征提取模块输出的信息Sl+1按照序列的形式输入RNN,通过训练为每个节点分配感受野,从而自适应地将不同层的特征信息融入最终的节点特征表示。以LSTM为例,每层节点特征的更新公式为

(7)

图2 网络模型示例图

3 仿真实验与分析

3.1 实验环境介绍和数据集

实验硬件环境:CPU处理器为8核Intel(R)Xeon(R) E5-260,32 GiB内存;GPU显卡为GeForce GTX 1080 TiB,16 GiB内存;软件环境包括64位Windows 10,CUDA 9.0,Python 3.6.4,Pytorch 1.1.0。

从基准数据集[10]选择4个常用的图分类数据集。1)D&D:该数据集包含1 178个蛋白质结构,每个蛋白质由一张图表示,其中节点代表氨基酸,若2个节点之间的距离小于6 Å,则建立一条边,预测任务是将蛋白质结构分类为酶、非酶。2)PROTEINS:一组蛋白质分子交互网络数据集,节点代表二级结构元素,若节点处于氨基酸序列或紧密的3D空间,则建立边缘,预测任务是对蛋白质功能进行判断。3)NCI1:非小细胞肺癌活性筛选的化合集的平衡子集,预测任务是将每种酶分为2类。4)MUTAG:由188种化合物组成的数据集,节点表示原子,边缘表示化学键,预测任务是根据化合物对细菌的诱变作用分为2类。数据集主要参数如表1所示。每个数据集10%作为训练集,其余为测试集。

表1 数据集主要参数

3.2 模型和参数设置

模型采用图2网络结构,并在层内特征提取模块之间加入BatchNorm层对输出进行归一化。为了保证对比实验的有效性,对比模型的GNN设置为3层。

超参数设置:3个特征提取模块池化率k=0.8,L2正则化的权重衰减系数为10-5,初始学习率为10-5,每经过200个训练步骤将学习率降低为原来的1/2,批量处理尺寸为128。选择Adam作为参数优化器,使用L2正则化防止训练过拟合,选择负对数似然作为损失函数,损失值连续10次迭代后不再下降时,停止训练。

3.3 准确率分析

实验采用了SAGPool[11]和DiffPool[5]模型作为对比,在4个数据集上的检测准确率如表2所示。从表2可看出,本方法的分类精度明显优于对比模型。结合表1可得,本方法使用的数据集越大,其效果提升越明显。这是因为在层内特提取模块中应用了池化层,每经过一次池化操作,不可避免地会损失一些信息,大数据集在经过池化操作后,仍能保留大部分特征信息,而小数据集可能因为损失了大部分信息,导致剩余的特征信息不足以保证自身表达的完整性。

表2 不同方法的数据集检测准确率对比 %

3.4 损失值分析

图3~6为SAGPool、DiffPool和本方法在4个基准数据集上的损失曲线变化。从图3~6可看出,本方法的损失曲线更早收敛,且损失值收敛于一个更小的值,这是由于循环单元的门结构对于层间传播的噪声具有很好的抑制作用。

图3 D&D数据集的损失曲线

图4 PROTEINS数据集的损失曲线

图5 NCI1数据集的损失曲线

图6 MUTAG数据集的损失曲线

4 结束语

针对传统图神经网络处理大规模图数据集时模型复杂度较高、浅层结构不能完整地挖掘出图数据的表示信息以及对于层级结构特征的挖掘不够深入的问题,提出了一种端到端的基于重要性池化的层级图表示学习方法。通过层内特征提取模块,将图粗粒化为高级分子结构,实现对特征图尺寸的压缩,以减少参数的数量,并避免过拟合;通过层间特征提取模块,实现了节点自适应分配权重和感受野,在训练过程中合理地融合了不同层的特征信息。实验验证了该方法的有效性,未来工作考虑将本方法扩展至其他领域数据集,以解决更多实际问题。

猜你喜欢

池化特征提取层级
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
军工企业不同层级知识管理研究实践
基于军事力量层级划分的军力对比评估
基于Gazebo仿真环境的ORB特征提取与比对的研究
职务职级并行后,科员可以努力到哪个层级
基于卷积神经网络和池化算法的表情识别研究
基于Daubechies(dbN)的飞行器音频特征提取
用于手写汉字识别的文本分割方法
Bagging RCSP脑电特征提取算法