一种融合结构和属性信息的多模态深度网络嵌入方法与流程

文档序号:16934914发布日期:2019-02-22 20:36阅读:296来源:国知局
一种融合结构和属性信息的多模态深度网络嵌入方法与流程

本发明涉及复杂网络分析技术领域,尤其涉及一种融合结构和属性信息的多模态深度网络嵌入方法。



背景技术:

网络嵌入,又称网络表示学习,能够对网络数据进行合理表示以作为机器学习算法的输入,对很多复杂网络分析任务,如节点标签分类、链路预测等至关重要。现今的真实网络规模庞大,网络嵌入方法用低维的向量来表示网络中的节点,并同时保持节点原有特征,能够有效减小网络的存储空间,降低后续网络分析任务的计算复杂度。

经对现有技术的文献检索发现,大部分的网络嵌入方法可以分为基于结构信息的网络嵌入方法和属性网络嵌入方法。基于结构信息的网络嵌入方法通常针对在嵌入空间中保持节点的结构亲近度的目标来进行学习。这一类的方法忽视了网络中节点所携带的大量属性信息,例如社交网络中的用户节点资料、学术网络中的论文节点的文本信息等等。现有研究表明,节点的属性特征对很多网络分析任务同样重要。属性网络嵌入方法同时考虑节点的结构信息与属性信息,目标是在嵌入空间中保持节点的结构特征和属性特征。传统的方法大多基于矩阵分解来得到节点的表示。这些线性的方法无法刻画网络高度非线性的结构,并且它们并不是基于原始的属性信息,而是通过统一方法计算得到的属性相似度矩阵来进行后续的学习,这样得到的表示在后续应用中会有局限性。liziliao等人2018年在《ieeetransactionsonknowledgeanddataengineering》上发表文章“attributedsocialnetworkembedding”,提出一个基于多层感知机的深度模型框架来融合节点的结构特征和属性特征,然后设计目标函数使得随机游走路径中的节点产生相似的低维表示。此方法的深度模型具有较强的表示学习能力,能够刻画网络高度非线性的结构,但是这一类通过节点的随机游走采样节点邻居来描述邻居结构的假设,缺乏明确的目标来说明保证了怎样的网络结构和属性相似。

因此,本领域的技术人员致力于开发一种融合结构和属性信息的多模态深度网络嵌入方法,以期能够把网络中的节点映射到低维的嵌入空间,并且有效保持节点的结构特征和属性特征。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何克服现有的浅层线性方法难以刻画网络高度非线性结构的不足,并在有效保持节点的结构特征和属性特征的前提下,将网络中的节点映射到低维的嵌入空间。

为实现上述目的,本发明提供了一种融合结构和属性信息的多模态深度网络嵌入方法,包括如下步骤:

步骤1、t表示第t次迭代,赋初值t=0;

步骤2、对节点的原始结构信息和属性信息进行预处理计算,分别得到高阶的结构特征yis(1)和属性特征yia(1)

步骤3、基于深度学习方法中的自编码器,建立进行网络表示学习的神经网络,所述神经网络包括编码器部分和解码器部分,利用所述编码器部分对输入的所述结构特征和所述属性特征进行编码计算;

步骤4、利用所述解码器部分对编码器的输出向量yi(k)进行解码计算;

步骤5、将解码器的输出向量按对应维度分解为重构的结构特征和重构的属性特征

步骤6、通过预处理的逆过程,计算得到重构的原始邻接向量与属性向量

步骤7、当t为0时,基于所述步骤1~6这6步所建立的整个多模态深度学习过程,把每两个全连接层的计算看作受限玻尔兹曼机来进行预训练,也就是为后续的参数更新提供一个在最优值附近的初始值,得到所有参数的初始值为

当t不为0时,执行步骤8;

步骤8、基于在嵌入空间中保持节点的结构亲近度和属性亲近度latt计算目标函数lmix,其中,结构亲近度的目标函数分为一阶结构亲近度目标函数l1st和二阶结构亲近度目标函数l2nd;

步骤9、计算所述目标函数lmix对本发明中所涉及的参数的偏导数;

步骤10、根据随机梯度下降法进行参数更新;

步骤11、t=t+1;

步骤12、判断所述目标函数lmix是否趋近于收敛,若未收敛,则跳转至所述步骤2继续执行所述步骤2及后续其他步骤,直至收敛;若已收敛,则结束。

进一步地,所述步骤2包括:

步骤2.1、建立描述网络原始结构信息的邻接矩阵矩阵中向量代表节点i对应的邻接矩阵,矩阵中元素si,j代表节点i和节点j的连接情况,1代表有边相连,0代表不存在边;

步骤2.2、建立描述网络原始属性信息的属性矩阵矩阵中向量代表节点i的属性向量,根据真实网络中节点属性信息的高度非对称情况,以非对称形式来记录节点的属性信息,矩阵中元素ai,j代表节点i对应的属性j情况,1代表具有该属性,0代表不具有该属性;

步骤2.3、每个节点的信息都由一个所述邻接向量和一个所述属性向量来描述,用全连接的单层神经网络分别对节点的所述邻接向量si和所述属性向量ai进行预处理得到其高阶特征,具体方式为,特征向量的每个元素由所述邻接向量或所述属性向量的所有元素加权后经过非线性激活函数sigmoid得到,节点i的结构特征yis(1)和属性特征yia(1)计算公式如下:

yis(1)=σ(wts(1)si+bts(1))

yia(1)=σ(wta(1)ai+bta(1))

其中,wts(1)为所述邻接向量的权重矩阵,wta(1)为所述属性向量的权重矩阵,bts(1)为所述邻接向量的偏置向量,bta(1)为所述属性向量的偏置向量,σ表示sigmoid函数。

进一步地,以节点i为例,所述步骤3包括:

步骤3.1、将预处理得到的结构特征yis(1)和属性特征yia(1)串联,作为编码器的输入数据yi(1)

步骤3.2、按照计算顺序,输入数据依次经过编码器的输入层、隐藏层、输出层,每一层输出向量的计算方式如下:

yi(k)=σ(wt(k)yi(k-1)+bt(k)),k=2,...,k

其中,k为编码器的总层数,编码器最终的输出向量为yi(k)

进一步地,所述编码器的输入层和输出层都是单层神经网络,而所述编码器隐藏层的数量则根据网络规模来确定,网络规模越大则所述编码器隐藏层数量越多,所述编码器输入层的单元数为输入数据的维度,所述编码器输出层的单元数为表示向量的维度,从所述编码器的输入层到隐藏层到输出层数据的维度逐层减小,默认设置每个上层网络的单元数为下层网络单元数的一半。

进一步地,所述步骤4包括:

步骤4.1、将编码器的输出向量yi(k)作为解码器的输入数据

步骤4.2、按照计算顺序,输入数据依次经过解码器的输入层、隐藏层、输出层,所述解码器相当于所述编码器的逆过程,所述解码器的每一层输出向量的计算方式如下:

其中,k为解码器的总层数,为解码器k层与k+1层之间的权重矩阵,为解码器k层与k+1层之间的偏置向量,解码器的最终输出向量为即为重构的编码器输入数据。

进一步地,所述解码器的输入层的单元数和所述编码器的输出层的单元数一致,所述解码器的输出层的单元数和所述编码器的输入层的单元数一致,所述解码器的隐藏层的单元数和所述编码器倒序的隐藏层单元数一致。

进一步地,所述步骤6中计算原始邻接向量与属性向量的计算公式为:

其中,为所述邻接向量的权重矩阵,为所述属性向量的权重矩阵,为所述邻接向量的偏置向量,为所述属性向量的偏置向量,σ表示sigmoid函数。

进一步地,所述步骤8包括:

步骤8.1、通过最小化连边权重较大的节点对在嵌入空间中的距离,使节点的一阶结构亲近度在嵌入空间中得到保持,对应的目标函数l1st为:

步骤8.2、通过最小化输入的邻接向量和重构的邻接向量之间的误差,使节点间的二阶结构亲近度在嵌入空间中得到保持,同时,增加对非零元素重构误差的惩罚项来避免重构过程倾向于零元素的重构,从而使模型对网络的稀疏性具有鲁棒性,对应的目标函数l2nd为:

其中,e表示哈达玛积,为邻接矩阵的非零元素的惩罚项,当否则

步骤8.3、根据所述步骤1.2中节点属性向量的高度非对称情况,通过最小化输入的属性向量和重构的属性向量之间的误差,使节点间的属性亲近度在嵌入空间中得到保持,同时,根据真实网络中属性信息稀疏并且属性信息正匹配能够描述节点间的相似性的情况,为非零元素的重构误差增加惩罚项,使得模型对网络的属性稀疏情况具有鲁棒性,对应的目标函数latt为:

其中,为属性矩阵的非零元素的惩罚项,当否则

步骤8.4、计算目标函数正则化项来避免过拟合问题,计算公式为:

步骤8.5、根据所述步骤8.1~步骤8.4中的三个目标函数latt,l1st和l2nd,并结合所述步骤8.4中的正则化项lreg,计算最终的目标函数:

其中,λ、α、υ分别是目标函数中所述属性亲近度、所述二阶亲近度、所述正则化项所占的权重。

进一步地,所述步骤9包括:

步骤9.1、初步展开所述目标函数lmix对权重矩阵的偏导数如下:

步骤9.2、展开所述属性亲近度目标函数对权重矩阵的偏导数项:

步骤9.3、计算

步骤9.4、由于故得到

步骤9.5、基于反向传播算法,迭代计算得到

步骤9.6、根据所述步骤9.2~步骤9.5,计算得到:

步骤9.7、参照步骤9.2~步骤9.6,计算得到所述二阶结构亲近度目标函数l2nd对所述权重矩阵的偏导数项:

步骤9.8、展开所述一阶结构亲近度目标函数对所述权重矩阵的偏导数项:

其中,l=d-s,d∈rn×n为对角矩阵,di,i=∑jsi,j,根据迭代计算得到;

步骤9.9、参照所述步骤9.2~步骤9.8,计算所述目标函数lmix对所述偏置向量的偏导数如下:

进一步地,所述步骤10包括:

步骤10.1、基于所述步骤9得到所述目标函数lmix对所有参数的偏导数以及

步骤10.2、对所述权重矩阵进行参数更新:

其中,ε为学习率,r为迭代次数;

步骤10.3、对所述偏置向量进行参数更新:

与现有技术方案相比,本发明具有如下的有益效果:

1、根据本发明提供的融合结构和属性信息的多模态深度网络嵌入方法,可以有效刻画网络的高度非线性结构,描述网络结构和节点属性之间的高阶关联性,并且很好地在嵌入空间中保持节点的结构特征和属性特征。

2、根据本发明提供的融合结构和属性信息的多模态深度网络嵌入方法,能够克服其他算法在学习新加入节点的表示时的不足,通过将新加入节点的信息用训练好的参数进行计算,能够得到新加入节点的有效表示。

3、根据本发明提供的融合结构和属性信息的多模态深度网络嵌入方法,所获得的节点表示相较于其他算法,能够在后续的网络应用中有更好的表现。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的可视化计算过程;

图2是本发明的一个较佳实施例的流程图;

图3是本发明和其他5个网络嵌入方法在学术网络cora上的网络重构性能对比图;

图4是本发明和其他5个网络嵌入方法在学术网络citeseer上的网络重构性能对比图;

图5是本发明和其他5个网络嵌入方法在社交网络unc上的网络重构性能对比图;

图6是本发明和其他5个网络嵌入方法在社交网络oklahoma上的网络重构性能对比图;

图7为本发明和其他5个网络嵌入方法在学术网络cora上的节点属性预测任务性能对比图;

图8为本发明和其他5个网络嵌入方法在学术网络citeseer上的节点属性预测任务性能对比图;

图9为本发明和其他5个网络嵌入方法在社交网络unc上的节点属性预测任务性能对比图;

图10为本发明和其他5个网络嵌入方法在社交网络oklahoma上的节点属性预测任务性能对比图。

具体实施方式

以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。

本发明提供了一种融合结构和属性信息的多模态深度网络嵌入方法,包括如下步骤:

步骤1、t表示第t次迭代,赋初值t=0;

步骤2、对节点的原始结构信息和属性信息进行预处理计算,分别得到高阶的结构特征yis(1)和属性特征yia(1)

具体地,步骤2包括:

步骤2.1、建立描述网络原始结构信息的邻接矩阵矩阵中向量代表节点i对应的邻接矩阵,矩阵中元素si,j代表节点i和节点j的连接情况,1代表有边相连,0代表不存在边;

步骤2.2、建立描述网络原始属性信息的属性矩阵矩阵中向量代表节点i的属性向量,根据真实网络中节点属性信息的高度非对称情况,以非对称形式来记录节点的属性信息,矩阵中元素ai,j代表节点i对应的属性j情况,1代表具有该属性,0代表不具有该属性;

步骤2.3、每个节点的信息都由一个所述邻接向量和一个所述属性向量来描述,用全连接的单层神经网络分别对节点的所述邻接向量si和所述属性向量ai进行预处理得到其高阶特征,具体方式为,特征向量的每个元素由所述邻接向量或所述属性向量的所有元素加权后经过非线性激活函数sigmoid得到,节点i的结构特征yis(1)和属性特征yia(1)计算公式如下:

yis(1)=σ(wts(1)si+bts(1))

yia(1)=σ(wta(1)ai+bta(1))

其中,wts(1)为所述邻接向量的权重矩阵,wta(1)为所述属性向量的权重矩阵,bts(1)为所述邻接向量的偏置向量,bta(1)为所述属性向量的偏置向量,σ表示sigmoid函数。

步骤3、基于深度学习方法中的自编码器,建立进行网络表示学习的神经网络,该神经网络包括编码器部分和解码器部分,利用所述编码器部分对输入的所述结构特征和所述属性特征进行编码计算;

具体地,以节点i为例,步骤3包括:

步骤3.1、将预处理得到的结构特征yis(1)和属性特征yia(1)串联,作为编码器的输入数据yi(1)

步骤3.2、按照计算顺序,输入数据依次经过编码器的输入层、隐藏层、输出层,所述编码器的输入层和输出层都是单层神经网络,而所述编码器隐藏层的数量则根据网络规模来确定,网络规模越大则所述编码器隐藏层数量越多,所述编码器输入层的单元数为输入数据的维度,所述编码器输出层的单元数为表示向量的维度,从所述编码器的输入层到隐藏层到输出层数据的维度逐层减小,默认设置每个上层网络的单元数为下层网络单元数的一半,每一层输出向量的计算方式如下:

yi(k)=σ(wt(k)yi(k-1)+bt(k)),k=2,...,k

其中,k为编码器的总层数,编码器最终的输出向量为yi(k)

步骤4、利用所述解码器部分对编码器的输出向量yi(k)进行解码计算;

具体地,步骤4包括:

步骤4.1、将编码器的输出向量yi(k)作为解码器的输入数据

步骤4.2、按照计算顺序,输入数据依次经过解码器的输入层、隐藏层、输出层,所述解码器相当于所述编码器的逆过程,所述解码器的输入层的单元数和所述编码器的输出层的单元数一致,所述解码器的输出层的单元数和所述编码器的输入层的单元数一致,所述解码器的隐藏层的单元数和所述编码器倒序的隐藏层单元数一致,所述解码器的每一层输出向量的计算方式如下:

其中,k为解码器的总层数,为解码器k层与k+1层之间的权重矩阵,为解码器k层与k+1层之间的偏置向量,解码器的最终输出向量为即为重构的编码器输入数据。

步骤5、将解码器的输出向量按对应维度分解为重构的结构特征和重构的属性特征

步骤6、通过预处理的逆过程,计算得到重构的原始邻接向量与属性向量计算公式为:

其中,为所述邻接向量的权重矩阵,为所述属性向量的权重矩阵,为所述邻接向量的偏置向量,为所述属性向量的偏置向量,σ表示sigmoid函数。;

步骤7、当t为0时,基于所述步骤1~6这6步所建立的整个多模态深度学习过程,把每两个全连接层的计算看作受限玻尔兹曼机来进行预训练,也就是为后续的参数更新提供一个在最优值附近的初始值,得到所有参数的初始值为

当t不为0时,执行步骤8;

步骤8、基于在嵌入空间中保持节点的结构亲近度和属性亲近度latt计算目标函数lmix,其中,结构亲近度的目标函数分为一阶结构亲近度目标函数l1st和二阶结构亲近度目标函数l2nd;

具体地,步骤8包括:

步骤8.1、通过最小化连边权重较大的节点对在嵌入空间中的距离,使节点的一阶结构亲近度在嵌入空间中得到保持,对应的目标函数l1st为:

步骤8.2、通过最小化输入的邻接向量和重构的邻接向量之间的误差,使节点间的二阶结构亲近度在嵌入空间中得到保持,同时,增加对非零元素重构误差的惩罚项来避免重构过程倾向于零元素的重构,从而使模型对网络的稀疏性具有鲁棒性,对应的目标函数l2nd为:

其中,e表示哈达玛积,为邻接矩阵的非零元素的惩罚项,当否则

步骤8.3、根据所述步骤1.2中节点属性向量的高度非对称情况,通过最小化输入的属性向量和重构的属性向量之间的误差,使节点间的属性亲近度在嵌入空间中得到保持,同时,根据真实网络中属性信息稀疏并且属性信息正匹配能够描述节点间的相似性的情况,为非零元素的重构误差增加惩罚项,使得模型对网络的属性稀疏情况具有鲁棒性,对应的目标函数latt为:

其中,为属性矩阵的非零元素的惩罚项,当否则

步骤8.4、计算目标函数正则化项来避免过拟合问题,计算公式为:

步骤8.5、根据所述步骤8.1~步骤8.4中的三个目标函数latt,l1st和l2nd,并结合所述步骤8.4中的正则化项,计算最终的目标函数:

其中,λ、α、υ分别是目标函数中所述属性亲近度、所述二阶亲近度、所述正则化项所占的权重。

步骤9、计算所述目标函数lmix对本发明中所涉及的参数的偏导数;

具体地,步骤9包括:

步骤9.1、初步展开所述目标函数lmix对权重矩阵的偏导数如下:

步骤9.2、展开所述属性亲近度目标函数对权重矩阵的偏导数项:

步骤9.3、计算

步骤9.4、由于故得到

步骤9.5、基于反向传播算法,迭代计算得到

步骤9.6、根据所述步骤9.2~步骤9.5,计算得到:

步骤9.7、参照步骤9.2~步骤9.6,计算得到所述二阶结构亲近度目标函数l2nd对所述权重矩阵的偏导数项:

步骤9.8、展开所述一阶结构亲近度目标函数对所述权重矩阵的偏导数项:

其中,l=d-s,d∈rn×n为对角矩阵,di,i=∑jsi,j,根据迭代计算得到;

步骤9.9、参照所述步骤9.2~步骤9.8,计算所述目标函数lmix对所述偏置向量的偏导数如下:

步骤10、根据随机梯度下降法进行参数更新;

具体地,步骤10包括:

步骤10.1、基于所述步骤9得到所述目标函数lmix对所有参数的偏导数以及

步骤10.2、对所述权重矩阵进行参数更新:

其中,ε为学习率,r为迭代次数;

步骤10.3、对所述偏置向量进行参数更新:

步骤11、t=t+1;

步骤12、判断目标函数是否趋近于收敛,若未收敛,则跳转至所述步骤2继续执行所述步骤2及后续其他步骤,直至收敛;若已收敛,则结束。

本实施例的有效性可以通过下面的仿真实验来进一步说明。需要说明的是,实验中应用的参数不影响本发明的一般性。

1)仿真条件:

dellprecisiontower5810,intelxeoncpue5-1620v3@3.50ghz,ram16gbdesktop,操作系统windows10,仿真程序编写语言为python3。

2)仿真内容:

在四个真实网络上进行实验来评估算法的效率和效果。真实网络分别为学术网络cora和citeseer,社交网络unc和oklahoma。学术网络中,节点表示文章,连边表示文章之间的引用关系,节点属性为其题目和摘要中的关键词。社交网络中,节点表示用户,连边表示用户之间的好友关系,节点属性为用户的年级、性别、专业等基本资料。

将本实施例与其他5个网络嵌入方法在4个真实网络上进行仿真对比。这5个方法如下,m.belkin等人于2002年在《advancesinneuralinformationprocessingsystems》上发表的“laplacianeigenmapsandspectraltechniquesforembeddingandclustering”中提出的le方法,该方法使用谱分解技术将网络数据映射到地位空间;a.grover等人于2016年在国际会议《sigkdd》上发表的“node2vec:scalablefeaturelearningfornetworks”中提出的node2vec方法,该方法用偏置的随机游走采样网络结构,采用自然语言处理模型来生成网络表示;d.wang等人于2016年在国际会议《sigkdd》上发表的“structuraldeepnetworkembedding”中提出的sdne方法,该方法基于深度自编码器建立模型来保持节点的局部和全局网络结构;前面的方法只考虑了网络结构信息,x.huang等人于2017年在国际会议《siam》上发表的“acceleratedattributednetworkembedding”中提出的aane方法,该方法基于矩阵分解方法的框架来联合利用网络结构和属性信息生成网络表示;l.liao等人于2018年在《ieeetransactionsonknowledge&dataengineering》上发表的“attributedsocialnetworkembedding”中提出的asne方法,该方法采用多层感知机网络来联合社交网络结构和属性信息进行学习,得到的网络表示能够描述特征之间的复杂关系。

本实施例在仿真实验中用mdne表示。本实施例设置表示向量维度为128,预训练迭代次数为500,目标函数更新迭代次数为200。实验中其他方法的参数按照其论文中所述设置为最优。其中,由于社交网络unc、oklahoma网络规模过大以及实验硬件限制,node2vec方法无法得到这两个网络的表示。

本实施例首先验证本发明方法及其他对比方法在各个真实网络上所生成的网络表示的重构原始网络的能力。度量网络重构性能的指标为,其值越大,则说明所使用的网络嵌入方法具有越强的网络重构能力,并且值越大,则度量结果越准确。仿真实验结果如图3~图6所示。在社交网络和学术网络上,基于深度学习技术的sdne、asne、node2vec性能都优于其他对比方法,而基于矩阵分解技术的aane和le则性能较差。本实施例提供的一种融合结构和属性信息的多模态深度网络嵌入方法所得到的网络表示在各个真实网络上都性能最佳,并且随着值的增大,优势更为明显。

本实施例也在真实网络分析任务节点属性预测上进行了和其他方法的对比实验,来验证各个方法在具体任务上的应用性能。度量网络表示的节点属性预测性能的指标为auc。仿真实验验证了不同比例的训练数据的情况下各个方法的auc值,其值越大,则说明所使用的网络嵌入方法所获得的网络表示在节点属性预测任务上准确度越高,性能越好。仿真实验结果如图7~图10所示,asne和le方法在学术网络上性能不错,表现较为稳定,而在社交网络上则性能有较大偏差,sdne方法在各个网络上性能都较好,aane方法在各个网络上性能都较差,而node2vec在学术网络上表现和aane相近。而本实施例所提供的mdne方法在各个网络上都性能最佳,并且随着训练数据比例的减小依旧能够保持很好的性能。

本实施例所提供的一种融合结构和属性信息的多模态深度网络嵌入方法,能够得到网络中节点的低维表示。本实施例基于深度神经网络设计,能够刻画网络的高度非线性结构,所提出的对网络结构和属性信息采用的多模态学习能够提取得到这两种不同模态信息之间的高阶关联性,并且设计的目标函数能够让学习到的网络表示在嵌入空间中有效保持节点的结构特征和属性特征。本实施例所获得的低维网络表示,有效降低了网络的存储空间,并且证明能够在后续的真实网络分析任务中有很好的性能,降低了后续应用的计算复杂度和空间复杂度,对于复杂网络分析领域的研究意义重大。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1