一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于异质信息网络随机游走的向量表示学习方法及系统

2022-06-11 13:00:07 来源:中国专利 TAG:


1.本发明涉及图神经网络领域,特别涉及一种基于异质信息网络随机游走的向量表示学习方法及系统。


背景技术:

2.近些年来,由于卷积神经网络在图像处理领域取得了卓越的成就,许多研究人员将卷积的思想应用到了图结构上,形成了同质图卷积神经网络,但是由于同质图神经网络在面对异质图结构时,不能区分不同的节点种类和边的种类,所以它在异质图结构上并不能发挥良好的效果。针对这个问题,许多异质图神经网络涌现了出来,但是他们都具有一些缺陷:1、需要人为预定义元路径的类型;2、不能同时考虑所有存在于图结构中的元路径。3、一些模型打乱了异质图中客观存在的序列,所以丢失了可解释性。
3.因此,需要一种可以自动为每一个节点收集元路径同时不人为定义元路径类型的异质图神经模型。


技术实现要素:

4.本发明针对传统异质图神经网络需要人为预定义元路径,不能考虑所有元路径对节点影响的问题,提出了一种基于异质信息网络随机游走的向量表示学习方法及系统,基于随机游走的自适应元路径选择的异质图神经网络模型,该模型可以在链路预测、节点分类、节点聚类以及推荐的任务上取得很好的效果。
5.一种基于异质信息网络随机游走的向量表示学习方法,其特征在于,包括以下步骤:
6.1)异质信息网络预处理构造多个三元组;
7.2)多次随机游走获得多个元路径实例,挑选k条元路径实例;
8.3)对步骤2)获得k条的元路径实例中包含的节点进行维度统一,获得该节点的特征向量表示;
9.4)将步骤3)获得的节点的特征向量输入到bi lstm网络,学习到元路径实例的向量表示;
10.5)将步骤4)获得的元路径实例的向量输入注意力层,先学习到每一条元路径实例对于节点的影响因子,然后通过注意力机制将影响因子和步骤4)获得的元路径实例的向量进行聚合,得到节点的嵌入向量表示;
11.6)将步骤5)获得的节点的嵌入向量,输入到损失函数中,得到损失值,通过优化器多次优化,得到最终的节点向量。
12.步骤1)中,所述的预处理包括:
13.通过随机负采样的方式构造多个三元组,所述的三元组包括:目标节点、正样本节点、负样本节点。
14.步骤2)中,多次随机游走获得多个元路径实例,挑选k条元路径实例,具体包括:
15.2.1)从异质信息网络三元组的节点开始随机游走,当游走到和开始节点类型相同,停止这一次的随机游走,并记录该元路径实例;
16.2.2)重复步骤2.1),得到多个元路径实例(200~2000,优选1000个);
17.2.3)从步骤2.2)中的多个元路径实例挑选k(3~10,优选5~6)条;
18.挑选包括:从出现频率中挑选出最高的k条。
19.步骤3)中,维度统一包括:将具有不同长度和不同特征的节点映射到相同的语义空间。
20.步骤4)中,学习公式为:
21.v1,v2,v3∈p
22.f=concat(f(v1),f(v2),f(v3))
[0023][0024]
其中,(v1,v2,v3)代表了元路径实例p上的节点,f(v1)、f(v2)、f(v3)代表了节点的特征向量,concat为拼接函数,f为拼接后的向量,lstm为一种神经网络结构,embedding为学习得到的元路径实例向量表示。
[0025]
基于异质信息网络随机游走的向量表示学习系统,包括:
[0026]
元路径采集模块,用于从异质信息网络三元组的节点开始随机游走到和开始节点类型相同,记录该元路径实例,重复得到多个元路径实例,从多个元路径实例挑选k条;
[0027]
节点特征聚合模块,用于对k条的元路径实例中包含的节点进行维度统一获得该节点的特征向量表示;
[0028]
元路径实例聚合模块,用于将节点的特征向量输入到bi lstm网络,学习到元路径实例的向量表示;
[0029]
注意力层模块,用于将获得的元路径实例的向量输入注意力层,先学习到每一条元路径实例对于节点的影响因子,然后通过注意力机制将影响因子和元路径实例的向量进行聚合,得到节点的嵌入向量表示。
[0030]
基于随机游走的自适应元路径选择的异质图神经网络模型(即基于异质信息网络随机游走的向量表示学习系统)主要包括以下模块:
[0031]
元路径采集模块:在复杂的异构网络图中,每个节点都有大量的邻居节点和边,其中包含了节点的嵌入信息。为了挖掘每个节点周围的结构信息,我们设计了一种基于随机游走的方法,可以自适应地找到每个节点的“强关联”元路径实例,从而挖掘出隐藏在图结构中的节点嵌入信息。同时,我们不需要预定义多个元路径。
[0032]
节点特征聚合模块:不同类型的节点含有不同类型的特征,这种特性使得每个节点的特征维度各不相同,换而言之,不同类型的节点存在于不同的语义空间之中。我们通过使用cnn来预处理节点的图像特征,parvec来预处理节点的文本数据。再通过bi-lstm网络将这些特征聚合在一起,通过128维度的向量进行表示。
[0033]
元路径实例聚合模块:由于每条元路径都包含了不同的节点,同时不同的元路径包含的节点数量可能不相同,所以我们通过bi-lstm来得到每一条元路径实例的嵌入表示。
[0034]
注意力层模块:由于在异质信息网络具有不均衡性,不同的元路径实例对不同节点的影响都不相同,所以我们通过注意力机制来自动学习每条元路径对于目标节点的注意力系数,从而获得更加准确的节点聚合表示。
[0035]
与现有技术相比,本发明具有如下优点:
[0036]
与传统的现有方法相比,本发明方法不需要人为定义元路径的类型,可以自动且自适应的为每一个节点寻找对应的关联路径,同时在学习节点的嵌入表达时,本发明方法也保留了元路径的客观逻辑序列。本发明方法可以广泛的应用于许多异质信息网络相关的下游任务,如:链路预测,推荐以及节点分类,在这些任务场景中,通过实验结果表明,本发明方法均比现有的方法具有更高的准确率。
附图说明
[0037]
图1为本发明基于异质信息网络随机游走的向量表示学习方法的流程示意图;
[0038]
图2为本发明基于随机游走的自适应元路径采样的异质图神经网络模型流程图。
具体实施方式
[0039]
为了使得本发明的方案、目的、使用场景更加明晰,接下来将结合实施方式和附图,对本发明进行进一步详细描述。
[0040]
如图1所示,一种基于异质信息网络随机游走的向量表示学习方法,包括以下步骤:
[0041]
1)异质信息网络预处理构造多个三元组;
[0042]
2)多次随机游走获得多个元路径实例,挑选k条元路径实例;
[0043]
3)对步骤2)获得k条的元路径实例中包含的节点进行维度统一,获得该节点的特征向量表示;
[0044]
4)将步骤3)获得的节点的特征向量输入到bi lstm网络,学习到元路径实例的向量表示;
[0045]
5)将步骤4)获得的元路径实例的向量输入注意力层,先学习到每一条元路径实例对于节点的影响因子,然后通过注意力机制将影响因子和步骤4)获得的元路径实例的向量进行聚合,得到节点的嵌入向量表示;
[0046]
6)将步骤5)获得的节点的嵌入向量,输入到损失函数中,得到损失值,通过优化器多次优化,得到最终的节点向量。
[0047]
本发明实现了一种基于随机游走的自适应元路径采样的异质图神经网络模型,包括元路径采集模块、节点特征聚合模块、元路径实例聚合模块以及注意力层模块。其中元路径采集模块对于输入的异质图为每一个节点采集周围的元路径实例,节点特征聚合模块通过神经网络网络来得到这些元路径实例中节点的嵌入表示,元路径实例聚合模块通过bi-lstm将拼接在一起的节点表示学习得到元路径实例的向量表表示,最后通过注意力层模块学习得到每条元路径实例的注意力系数然后他们聚合得到最终的节点表示。
[0048]
如图2所示,其中,academicdataset代表了原始的学术数据集,分别有作者(author)节点,文章(paper)节点以及期刊(venue)节点,meta-pathinstancecollection代表了元路径采集模块,nodefeatureaggregation代表了节点特征聚合模块,meta-pathinstanceembedding代表了元路径实例聚合模块,attention layer代表了注意力层模块。接下来我将结合附图以及公式详细介绍模型的工作流程:
[0049]
我们通过输入的异质神经网络,通过随机负采样的方式构造一定数量的三元组,
将三元组输入到我们的模型当中。
[0050]
1、元路径采集模块
[0051]
对于输入的三元组,我们遍历所有节点,并以他们为目标节点进行随机游走。当我们使用随机行走到达与目标节点类型相同的节点时,我们将记录此元路径实例,然后从目标节点开始另一个新的随机行走。为了确保收集到的元路径实例能够准确地表达目标节点的空间和结构信息,我们需要多次重复此步骤。例如,对于学术数据集,我们必须为每个节点重复此步骤1000次,这意味着为每个节点存储1000个元路径实例。对于每个节点通过随机游走收集的元路径实例,我们选择出现频率最高的k个实例作为节点的“强关联”元路径实例。
[0052]
这种策略可以解决问题,因为这种方法具有以下特点:1。在漫游过程中,中间节点将被序列化存储,这部分信息不会被丢弃,这一特性最大限度地保留了网络的秩序和结构,从而可以更好地挖掘网络的结构信息;2.随机游走方法可以自动选择目标节点周围“强关联”的元路径实例。此外,在该方法中,每个节点所选择的元路径实例是不同的,这也保留了网络结构的异构性。此功能确保所挖掘的信息丰富且异构。
[0053]
2、节点特征聚合模块
[0054]
每个元路径实例上有不同类型的节点,每种类型的节点具有不同的特征,特征的维度也不同,这意味着不同类型的节点位于不同的语义空间中。因此,我们需要一些方法来聚合它们的特征并统一维度。
[0055]
具体来说,首先需要对网络中节点的特征进行预处理。例如,使用cnn处理图像特征,使用parvec处理文本特征,将特征维度更改为128维,并将这些特征存储在三维矩阵f中,然后使用bi lstm网络聚合这些特征,以获得长度维度为128维的节点特征向量。这一步骤可以理解为将具有不同长度和不同特征的节点映射到相同的语义空间。聚合的公式为:
[0056]
其中lstm网络的计算公式为:
[0057]
zi=σ(μzf(xi) w
zhi-1
bz)
[0058]
qi=σ(μqf(xi) w
qhi-1
bq)
[0059]
oi=σ(μof(xi) w
ohi-1
bo)
[0060][0061][0062][0063]
3、元路径实例聚合模块
[0064]
我们发现,异构网络中的信息表达是双向的。例如,在学术数据集中,有一个元路径实例(a
1-p
1-a2),在这个序列中,a1在一定程度上通过p1影响a2,而a2也以这种方式影响a1。我们希望这种双向信息也能反映在元路径实例的聚合中。因此,与前一步一样,我们仍然选择bi lstm。这种双向lstm网络可以在两个方向上训练语义信息。与传统方法不同,它们在发现节点无序后输入lstm,并且在输入时保留异构网络的原始结构。这种自然结构的保存使我们的模型更具说服力。
[0065]
元路径的聚合公式为:
[0066]
v1,v2,v3∈p
[0067]
f=concat(f(v1),f(v2),f(v3))
[0068][0069]
在使用bi lstm时,我们将元路径实例理解为具有语义的句子,节点是句子中的单词。与之前的节点向量聚合不同,之前的步骤是平均每个单元的输出。当聚合元路径时,因为我们想要得到该路径的表示,所以我们需要lstm网络的最后一个单元的输出值。我们需要lstm网络最后一个单元的输出作为元路径实例的嵌入。
[0070]
4、注意力层模块
[0071]
在获得每个路径的向量表示之后,我们还需要聚合这些路径以获得目标节点的最终表示。此时,我们必须考虑异构网络的不平衡,这意味着不同的元路径实例对目标节点的影响是完全不同的。因此,我们参考以前的实践,使用注意层来完成聚合操作的这一步。注意力层可以自动学习到每条元路径实例和目标节点之间的注意力系数,从而得到更加精准的节点表示。
[0072]
在得到了节点表示之后,对于每一个三元组的三个节点,通过最大化邻居节点的概率来进行损失值计算,然后使用随机梯度下降的方法对损失值进行优化。再经过30次迭代之后,得到了所有节点的向量表示。针对这些向量表示,我们可以进行许多下游任务如:链路预测、推荐和节点分类。
[0073]
与传统的现有方法相比,本发明的方法不需要人为定义元路径的类型,可以自动且自适应的为每一个节点寻找对应的关联路径,同时在学习节点的嵌入表达时,本发明的方法也保留了元路径的客观逻辑序列。
[0074]
在链路预测的任务场景中,我们的方法要优于现有的技术,数据如表1所示:
[0075]
表1
[0076][0077]
其中,我们使用了auc和f1两种评估指标,得到的的结果均表示我们的方法优于现有方法。
[0078]
在推荐的任务场景中,本发明的方法要优于现有的技术,数据如表2所示:
[0079]
表2
[0080][0081]
其中本发明使用了rec、pre以及f1作为评估指标,得到的结果均表示我们方法优于现有方法。
[0082]
在节点分类的任务场景中,本发明的方法要优于现有的技术,数据如表3所示:
[0083]
表3
[0084]
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献