基于多头注意力机制的半监督卷积网络嵌入
2021-08-12崇志强马世乾徐福华周作静
崇志强 马世乾 郭 悦 徐福华 周作静
1(国网天津市电力公司电力科学研究院 天津 300380)2(国网天津静海供电有限公司 天津 735412)
0 引 言
近年来,随着信息社会的发展,对网络或图结构信息表示与利用的研究已成为学界的热点问题[1]。网络嵌入已经成为网络分析的一种范式,引起了研究者广泛关注。其目的是将网络中的每个节点映射到一个低维向量空间,得到节点的低维向量表示。节点的表示向量可以应用于许多下游分析任务,如节点分类[2]、链路预测[3]。
一般而言,经典的网络嵌入方法可以分为两类:基于网络结构的方法和融合外部信息的方法(一般为文本信息)。前者通常基于随机游走[4]、局部邻居[5]。但上述方法忽略了网络丰富的外部信息,模型无法收敛至全局最优。此外,这些方法使用短而固定的节点邻居范围,无法捕捉全局的结构信息。
目前存在许多融合文本信息的网络嵌入方法,但这些方法一般对文本信息与网络结构信息分别建模,最终简单地拼接两个表示向量得到最终的表示[6],这导致两种模态的信息难以有机地整合。此外,这些方法使用循环神经网络或卷积神经网络作为编码器,但是循环神经网络本身的序列依赖导致其无法实现大规模并行计算,而卷积神经网络则受限于卷积核的大小,无法捕捉到文本的长距离特征。节点标签是另一个重要的外部信息,充分利用标签信息将进一步增强节点向量的表示能力,但现实中并非所有网络节点都被标记,合理利用标记节点和未标记节点对网络嵌入过程具有重要意义。
针对以上问题,本文提出了一种基于多头注意力机制的半监督卷积网络嵌入方法(SMAC),以更好地捕捉和融合网络的结构信息和外部信息。具体而言,模型以网络中的边作为样本,分别提取一条边上两个节点对应的子网络;利用多头注意机制[7]作文本编码器,对子网络中各节点的文本进行编码,得到各节点的文本表示向量,多头注意力机制能很好地解决文本的长距离依赖问题,同时可以并行计算;将各节点的文本表示向量作为可训练的节点特征输入图卷积神经网络[8],可以捕获任意尺度的结构信息;以半监督学习的方式将标签信息引入节点表示。模型充分融合了网络的结构、文本与标签信息,得到表示性较强的节点表示向量。
1 相关工作
传统的网络嵌入算法通常将网络表示为图,并使用数据点的特征向量构建关联图,例如数据的k近邻图。由此,利用关联图[9]可以将数据点嵌入到低维空间中,得到节点的向量表示。基于该思想,大量的网络嵌入方法被提出,例如LLE[10]、IsoMap[11]和拉普拉斯特征映射[12]等。然而,这些算法通常依赖于求解邻接矩阵的特征向量,其复杂度至少是节点数的平方,因此导致效率低下,并且难以应用于大规模网络。
近年来,网络嵌入逐渐成为了一个热门的研究课题。Deepwalk[4]是第一种将深度学习引入网络嵌入的方法,作为一种基于网络拓扑结构的方法,它在网络上执行截断的随机游走,并使用SkipGram[13]学习节点嵌入。除了网络的拓扑结构外,节点通常与其自身的属性信息紧密相关,例如文本内容、节点标签等。为了进一步考虑节点的属性信息,Yang等[14]提出了文本关联的Deepwalk模型(TADW),在矩阵分解框架下,将节点的内容引入到网络嵌入中。MMDW[15]考虑监督标签信息,同时学习网络表示和最大边缘分类器,将标签信息引入学习过程。
虽然现有的相关方法综合考虑了网络拓扑结构和节点属性信息,但是这些方法通常是对属性信息和拓扑结构分别建模,并对两部分表示进行简单拼接以得到最终的表示。因此针对该问题,本文提出一种基于多头注意力机制的半监督卷积网络嵌入方法。利用多头注意力机制及图卷积神经网络,本文提出的模型可以充分融合网络拓扑结构、节点的文本内容、节点的标签信息,进而得到表示性更强的节点向量。
2 网络嵌入模型
本文提出了一种基于多头注意力机制的半监督卷积网络嵌入方法,模型充分融合了网络的结构、文本与标签信息。图1从整体上阐述了模型的结构,由节点文本编码器和节点结构编码器两部分组成。
图1 基于多头注意力机制的半监督卷积网络嵌入模型
节点内容编码器采用N层多头注意力机制编码文本信息,很好地解决了文本地长距离依赖问题,使得最终学得的文本表示向量更好地反应语义深度信息。节点结构编码器由L层图卷积神经网络组成,通过堆叠的多层结构,能够捕获任意尺度的结构信息。模型整体流程如下:(1) 模型以边为样本,提取边两端的节点u、v对应的子网络sub_Gu和sub_Gv;(2) 将子网络中的所有节点通过节点内容编码器映射到潜在语义空间,得到节点的文本表示;(3) 由多层图卷积神经网络组成的节点结构编码器以网络拓扑结构与节点文本表示为输入,融合节点文本与网络结构信息;(4) 用半监督学习的方式融入节点标签信息。模型通过采样边来对部分节点进行学习,不需要将所有节点的信息放入显存,能较好地应用于实际场景中的大规模图。
2.1 问题描述
首先给出如下基本的符号和定义:
定义1信息网络。信息网络表示为G=(V,E,T,L),其中:V为网络中节点的集合,E⊂V×V为网络中边的集合。T为网络中节点的文本信息集合,L为网络中节点的标签集合。Tu=(xu1,xu2,…,xum)表示节点u的文本信息,其中xui代表第i个词,m为文本长度。节点u的文本表示向量和最终表示向量分别为uT和uR。本文使用的图均为无向、无权重图,可通过按权重采样边的策略将算法扩展至有权重图。
定义2子网络。节点u的子网络表示为sub_Gu,由u本身和它的相邻节点组成,称u为中心节点,其余节点为u节点的邻居节点。为保证模型训练时批次大小相同,本文采样固定数量的邻居节点。
2.2 节点文本编码器
长文本是现实世界中常见的文本形式,例如:在论文引用网络中,摘要作为网络节点文本信息就是一种长文本。传统的文本编码器无法解决长文本建模时的长距离依赖问题。而多头注意力机制的每个头是一个自我注意机制,它通过计算当前词与其他词之间注意力权重,使得当前词和句子中任意词都发生了联系,能够很好地解决长距离依赖问题。因此,本文基于多头注意机制对文本特征进行编码。节点文本编码器由位置编码器、多头注意力机制和前馈神经网络组成。
2.2.1位置编码器
为了保留输入文本中单词的相对位置信息,需在节点文本编码器得底部构造位置编码器编码单词的相对位置信息。位置编码器有多种选择,比如正弦和余弦函数和独热编码。其中独热编码为最简单的位置编码器,而其他编码方式将增加模型复杂度。实验表明,独热编码在不降低模型性能的情况下,能够加快模型收敛速度。
首先,文本原始单词通过映射得到词向量,则u的文本信息可表示为Tu=(wu1,wu2,…,wum),其中:wui∈Rd为xui的词向量,d为词向量的维度,m为节点文本中包含词的个数。位置编码器可形式化地表示为矩阵Pu=(pu1,pu2,…,pum),其中pui∈Rm是独热向量。将位置编码器与使本文的文本编码器进行拼接,得到多头注意力机制的输入,这样的输入包含了词的相对位置关系,即eu=(wu1⊕pu1,wu2⊕pu2,…,wum⊕pum),其中⊕表示拼接操作。
2.2.2多头注意力机制
(1)
(2)
(3)
(4)
将多头注意力机制中所有头的输出拼接成一个向量,之后乘一个权重矩阵WO,即可得到多头注意力机制的输出结果,计算式表示如下:
Ou=(z1⊕z2⊕…⊕zh)WO
(5)
式中:WO∈Rhdk×dm,为一个可训练的权重矩阵。
2.2.3前馈神经网络
除了多头注意力机制外,节点文本编码器的每一层都包含一个全连接的前馈网络FFN。前馈神经网络由两个使用ReLU的线性变换组成,计算式表示为:
(6)
2.3 节点结构编码器
无向网络中的子网络存在两个基本问题:
1) 在一个子网络中,中心节点与相邻节点的关系是对称的。在u的子网络sub_Gu中,邻居节点ui包含的信息应该向中心节点u聚合,而在ui的子网络中情况则相反。
2) 同一个子网络中的邻居节点的排列通常是无序的。例如,在u的子网络sub_Gu中有三个邻居u1、u2、u3,其下标是任意的,并不能表示该子网络中邻居节点的优先级。
在通过节点文本编码器获得节点文本表示向量的基础上,模型使用图卷积神经网络[8]来建模网络结构,因其可以捕获任意尺度的结构信息。图卷积操作关心每个节点的隐藏状态如何更新,通过邻居节点隐藏状态的聚合来更新中心节点的隐藏状态。假设节点结构编码器由L层图卷积操作组成,第l层的更新过程可以表示为:
(7)
(8)
M=(E+I)D-1
(9)
(10)
通过图卷积神经网络,模型可以很好地解决子网络的两个基本问题。对称矩阵M可以满足子网络中中心节点与邻居节点的对称连接关系。此外,式(8)具有置换不变性,即改变邻居节点的顺序不会影响聚合过程。随着多层图卷积网络的叠加,每个节点递归地聚合来自每层子网络的信息,并将自己的信息扩散到相邻节点。
2.4 半监督学习
样本标签蕴含了样本的类别信息。现实中的大规模网络只有少数节点具有标注明确的标签,而大部分节点是未标注的,因此需要半监督学习的方法对标签信息进行建模。基于节点结构编码器的输出向量,SMAC共同优化了无标签节点的无监督学习损失和有标签节点的有监督学习损失。
在论文引用网络中,两篇具有引用关系的论文在内容上会具有一定的相似性。对于无标签节点,目标函数Lunlabel由两部分组成,即描述同边相连节点的文本内容相似度的Ltt,和节点结构编码器输出的表示向量的相似度Lss。Lunlabel、Ltt和Lss和计算式分别表示为:
Lunlabel(u)=αLss(u)+βLtt(u)
(11)
(12)
(13)
式中:α、β为控制权重。式(12)与式(13)中条件概率p定义为:
(14)
相比于无标签节点,带标签节点的目标函数通过标签匹配损失来融合标签信息,Lmatch(ul)计算式为:
(15)
式中:Ω为正则化项。
使用全连接层将节点表示向量uR映射到标签空间,得到节点标签分布的预测。标签匹配损失的目的在于最小化预测的标签分布与真实分布的距离,计算式表示为:
Llabel(u)=αLss(u)+βLtt(u)-τLmatch(u)
(16)
式中:α、β和τ用来控制带标签节点目标函数各部分的权重。
本文所采用的半监督学习方式是为了联合优化无标签节点的无监督学习过程和带标签节点的监督学习过程。SMAC的整体目标函数定义为:
(17)
式中:Lu和Ll分别是无标签节点和带标签节点的集合。
2.5 优 化
为了最大化目标函数,需要计算式(14)形式的条件概率,而条件概率在计算代价上是昂贵的。故本文采用负采样技术[16]降低计算代价。对于同边相连的两个节点u和v,使用负采样来计算条件概率的过程,计算式可表示为:
(17)
(18)
式中:σ为Sigmoid函数;dv为节点v的度。使用随机梯度下降对模型进行优化。
3 实 验
3.1 数据集
本文在两个广泛应用于网络公开嵌入的论文引用网络公开数据集Cora与Citeseer上进行了实验。
Cora是一个论文引用网络,共包含人工智能领域的7个类,分别为实例学习、遗传算法、神经网络、概率方法、强化学习、规则学习和机器学习理论。数据集中的节点文本为论文的摘要,网络的边代表着论文之间的引用关系。CiteSeer是另外的一个论文引用网络,共包含科学领域的10个类,分别为农学、考古学、生物学、计算机科学、金融经济学、工业工程学、材料科学、石油化学、物理学和社会科学。数据集中节点内容为论文的标题,同样地,网络的边代表论文间引用关系。
本文删除了低频词和无效的论文。表1总结了预处理后的两个数据集的统计数据。可以看出,Cora包含更丰富的内容信息。Citeseer中的节点更有特色,因为它们属于更多样化的类。需要注意的是,这两个网络都被视为无向图和无权图。
表1 数据集统计信息
3.2 对比方法
为了验证SMAC的性能,本文将该模型与其他几种常用的网络嵌入方法的实验效果进行了对比,所选择的方法如下:
① Deepwalk[4]:它通过随机游走的方式产生节点序列,之后生成节点向量表示。参照文献[4],游走数量设为10,游走长度设为80,窗口大小设为10。
② LINE[5]:通过节点间的一阶与二阶相似度建模网络结构。参数设置参照文献[5],同时使用一阶与二阶相似度,负采样个数设为5。
③ GraRep[17]:在矩阵分解的框架下,考虑到了网络的全局结构信息。节点最终表示为1至7阶相似度下节点表示的拼接。
④ GCN[8]:它将欧氏空间中的卷积操作扩展到了非欧氏空间,并使用一种基于边标签的传播规则实现半监督学习。节点特征采用TF-IDF形式的文本信息。
⑤ TADW[14]:它在一个矩阵分解的框架下同时学得文本表示与结构表示,最后对两者做拼接形成最终节点表示。采用TF-IDF形式的节点文本特征。
3.3 链接预测
网络嵌入的输出为网络中节点的低维向量表示,这个表示向量可以用作推理网络结构。在现实世界中,网络往往是不完全的。例如在社交网络中,两个互相认识的人可能并没有好友关系(可以视作网络中的边)。网络节点表示应该保留网络不同阶的相似度信息,或不同尺度的结构信息。因此,这些节点表示可以用作预测网络中缺失的边。这就是链接预测任务。
对于链接预测任务,本文用一种广泛使用的评测方法AUC评价SMAC与对比算法在链接预测任务上的性能。AUC是一个概率值,表示在数据集中随机挑选一个正样本与负样本,模型根据计算得到的分数将正样本排在负样本前面的概率。AUC值越大,模型就能更好地区分应该存在的链接与不该存在的链接。计算方式如下:
(19)
(20)
AUC=1-lrank
(21)
式中:π(·)表示若输入条件成立则为1,否则为0;D+与D-分别代表正、负样本的集合。式(20)的含义为:考虑每一对正、负样本,若正例的分数小于反例,则计一个“罚分”,若两者相等,则计0.5个“罚分”。用1减去总计罚分即为最终AUC的值。需要注意的是,AUC的计算存在随机性,同样的节点表示在同样的测试集上的两次计算结果可能不同。本文采用求20次AUC取平均值的方式,以降低随机性的影响。
表2和表3分别为SMAC及对比算法在Cora与Citeseer数据集上的链接预测实验结果。p表示训练边的比例,即仅保留网络中p比例的边作为训练集进行模型训练,将模型结果(节点表示向量)在剩余1-p比例边的网络上作测试;表中每个单元格表示对应行列状态下的AUC值。训练集测试集经十折交叉验证划分,最终结果为10次交叉验证的均值。超参数设置为α=0.3、β=0.3、τ=0.4,节点文本编码器和节点结构编码器的层数分别为1和3。
表2 Cora数据集上链接预测实验结果 %
表3 Citeseer数据集上链接预测实验结果 %
3.4 节点分类
节点分类是评价网络嵌入模型最为常见的任务,旨在为每个节点预测一个标签类别。
本文使用的两个数据集上的节点分类均为多分类问题(Cora为7分类,CiteSeer为10分类)。在得到节点表示向量后,用支持向量机作分类器,在不同的带标签节点比例下进行模型训练与测试。本文使用的节点分类评测指标为微平均F1-Score(Micro_F1)其具体计算方法为:
(22)
式中:Micro_P和Micro_R分别为微平均准确率和召回率;TPi即为第i类样本正确分类的个数;N代表整体样本数;Micro_F1越大代表分类性能越好。超参数设置为α=0.2、β=0.3、τ=0.5,节点文本编码器和节点结构编码器的层数分别为1和3。表4和表5分别为SMAC及对比算法在Cora与Citeseer数据集上的节点分类的Micro_F1值结果。
表4 Cora数据集上节点分类实验结果 %
表5 Citeseer数据集上节点分类实验结果 %
续表5 %
3.5 结果分析
由表2至表4可见,SMAC的性能均为最优或次优,这说明了SMAC模型的有效性。将表2、表4与表3、表5对比可发现,几乎所有的模型在Citeseer上的性能都要比在Cora上的性能差。本文认为这是因为Citeseer相较于Cora更为稀疏(见表1边密度)。这说明网络的稀疏性仍为网络嵌入领域的一大挑战。
结合表2和表3可发现,在训练边比例较小时,Deepwalk、LINE和GraRep性能很差(AUC值越接近0.5,模型学到的有用信息越少)。这是因为仅依赖网络结构(即节点与节点的连接关系)的网络嵌入方法在网络中保留的边较少的情况下,无法学得恰当的参数。与之相反,结合文本信息的算法在训练边比例较小时均取得了不错的成绩,说明文本信息的确是节点重要特征。
另外,对比其他算法,SMAC在Citeseer上的性能下降相比Cora要更大。这是因为Cora中节点的文本特征为论文摘要,属于长文本;而Citeseer中节点文本特征为论文题目。这从另一侧面印证了SMAC的多头注意力机制对建模长文本、解决长距离依赖问题的有效性。
分析表4与表5可发现,随着带标签节点比例的增加,各模型的微平均F1-Score均增加。但一般情况下,结合文本信息的方法优于仅依赖网络结构的方法,说明结构特征不足以为节点分类任务提供足够的识别信息。而半监督的GCN和本文提出的SMAC优于其他方法,说明半监督方法能够较好地集成标签信息。
4 结 语
网络嵌入是机器学习、表示学习等领域的重要研究方向之一,有着重要的学术意义与应用价值。本文对信息网络的网络嵌入方法进行了探讨,提出了一种基于多头注意力机制的半监督卷积网络嵌入方法(SMAC)。SMAC的优势有三个方面:(1) 多头注意机制可以很好地解决长依赖问题,更好地编码文本信息;(2) SMAC利用图卷积网络对子网络的特征进行聚合,可以捕获任意尺度的结构信息;(3) SMAC以半监督的方式将标签信息引入到学习过程中,进一步提高了表示能力。