一种图神经网络预训练方法

文档序号:33992772发布日期:2023-04-29 15:58阅读:33来源:国知局
一种图神经网络预训练方法

本发明涉及图神经网络预训练,尤其涉及一种图神经网络预训练方法。


背景技术:

1、近年来,随着深度学习在计算机视觉和自然语言领域的成功,把深度学习带入图结构领域成为最近的热点,因而图神经网络快速的发展,最近已经被证明在图结构数据的强大的建模工具。

2、然而,训练图神经网络模型通常需要大量的特定任务的标记数据,而获取这些数据往往非常昂贵;处理过程中,在手动特征提取时需要特定领域的知识,且人工添加标记费时费力。

3、因此,如何节省人力,克服数据标记量大导致标记困难的缺点,是一个需要考虑的问题。


技术实现思路

1、本发明的目的是为了解决现有技术中存在的缺点,而提出的一种图神经网络预训练方法。

2、为了实现上述目的,本发明采用了如下技术方案:

3、一种图神经网络预训练方法,图神经网络通过在数据集上做预训练,训练好的模型在具体任务中做微调,其中,图g=(v,e),顶点特征层数为k,权重矩阵为非线性函数为σ,顶点v的邻居表示为n(v),聚合操作为具体步骤包括:

4、s1:对顶点v进行固定大小的k阶邻居采样;

5、s2:在顶点上进行k次聚合操作的迭代式计算,其中,每次计算的第k层表示由第k-1层生成;

6、s3:在第k次迭代中,每个顶点v将其邻居顶点的表示通过聚合函数聚合为单个向量;

7、s4:在聚合邻居顶点表示后,将顶点当前层的表示与聚合的邻居向量连接起来,输入到非线性激活函数中生成新的顶点表示;

8、s5:将顶点迭代k次后的表示作为顶点的嵌入;若执行顶点分类任务,将顶点嵌入输入到softmax层,通过输出结果y^来预测顶点分类,最后采用交叉熵损失函数l来更新参数;

9、s6:在反向传播过程中,计算第i层参数的梯度要用到第i+1层的顶点特征,对第i层的参数wi的梯度表示为

10、s7:用的结果来更新第i层的参数矩阵,从而完成一次训练迭代的过程,最后重复s2至s7步直到参数收敛,完成整个训练过程。

11、优选的:所述图神经网络预训练方法中,图结构深度学习采用的python库为dgl,通过与主流的深度学习框架集成,实现从传统的张量运算到图运算的自由转换,dgl提供基于消息传递的编程模型来完成计算,结合消息融合优化技术提升系统的性能。

12、进一步的:所述图神经网络预训练方法中,dgl的api包括:

13、消息函数:

14、累和函数:

15、其中,是一个消息函数,定义在边上,通过将边的特征与两端的顶点特征组合来生成消息,是在每个顶点上定义的更新函数,通过使用reduce操作汇总其传入的消息来更新顶点特征,在图神经网络中,这些功能由神经网络模块进行参数化,⊕为求和运算、均值、最大值、最小值或lstm网络中的一种。

16、进一步优选的:所述图神经网络预训练方法中,基于pytorch构建深度学习库pytorchgeometric,基于该深度学习库利用专用cuda内核,对非结构化数据进行建模和高性能训练。

17、作为本发明一种优选的:所述图神经网络预训练方法中,pytorch geometric提供一个简单的消息传递api,将卷积算子推广到不规则域,具体表示为:

18、

19、其中,⊕表示可微置换不变函数,如求和、均值或最大值,整个模型通过gather和scatter顶点特征以及对其进行矢量化的元素计算来实现。

20、作为本发明进一步优选的:所述深度学习库采用coo格式编码边索引,一个维度表示源顶点,另一个维度表示目标顶点。

21、作为本发明再进一步的方案:所述图神经网络预训练方法中,根据图神经网络是将标准神经网络与迭代图传播结合起来的这一特点,通过neugraph在数据流中引入以顶点为中心的消息传递模型,将图模型和数据流模型结合,来支持并行图神经网络计算,通过neugraph将图计算的优化方法,引入到了数据流框架中,来支持高效的图神经网络训练。

22、在前述方案的基础上:所述图神经网络预训练方法包括小批量训练方法的并行计算方法、利用图数据流的并行计算方法和基于mapreduce模型的并行计算方法;

23、其中,所述小批量训练方法的并行计算方法包括:

24、s11:通过对目标顶点进行一阶或多阶邻居的采样,将训练目标顶点所需要的每层邻居都采样到内存中;

25、s12:然后计算目标顶点的表示并用于最终任务。

26、在前述方案的基础上优选的:所述图神经网络预训练方法中,利用图数据流的并行计算方法,将图处理的方式引入到图神经网络的并行计算中,具体包括如下步骤:

27、s21:首先将图的边信息,图的邻接矩阵进行分块处理,在并行处理边的信息块时,引入边对应的源顶点信息和目标顶点信息来计算边上的中间信息;

28、s22:然后根据边对应的目的顶点对中间信息进行聚合计算;

29、s23:在处理完所有边块之后再对聚合的结果进行变换;

30、s24:将输出结果作为下一层新的顶点特征。

31、在前述方案的基础上进一步优选的:所述图神经网络预训练方法中,基于mapreduce模型的并行计算方法包括如下步骤:

32、s31:在map阶段生成三种信息:顶点自身信息、顶点入边信息及对应的邻居节点特征、顶点出边信息,这三种信息的key值都为顶点编号,value值为对应的信息;

33、s32:按顶点编号进行shuffle后,在reduce阶段,首先将顶点自身信息和顶点入边信息以及对应邻居信息进行合并,形成新的顶点信息,新的顶点信息被传播到出边上用来构造新的出边信息;

34、s33:在k次reduce阶段后,顶点的自身信息就是k阶邻域信息.最后将信息存储起来用于下游的计算任务。

35、本发明的有益效果为:

36、1.本发明根据图中顶点的依赖关系进行信息传播,保留了图结构的信息,为下游深度学习任务提供了更加完整的信息。

37、2.现有标准神经网络无法正确处理图数据的输入,因为其按照特定顺序处理节点特征,而图中的顶点没有自然顺序,本发明采用在顶点上传播信息的计算方式,忽略顶点的输入顺序解决了这个问题。

38、3.本发明的小批量训练方法的并行计算方法,通过结合现有数据流框架并提供高效图操作来加速图神经网络的训练,不需要考虑神经网络的反向传播与计算节点通信,易于系统实现并进行扩展。

39、4.本发明利用图数据流的并行计算方法,能够更好地表达图神经网络的图传播操作部分。

40、5.本发明基于mapreduce模型的并行计算方法,更适用于工业用途的图学习,方案易于部署,同时具有容错能力。



技术特征:

1.一种图神经网络预训练方法,其特征在于,图神经网络通过在数据集上做预训练,训练好的模型在具体任务中做微调,其中,图g=(v,e),顶点特征层数为k,权重矩阵为非线性函数为σ,顶点v的邻居表示为n(v),聚合操作为具体步骤包括:

2.根据权利要求1所述的一种图神经网络预训练方法,其特征在于,所述图神经网络预训练方法中,图结构深度学习采用的python库为dgl,通过与主流的深度学习框架集成,实现从传统的张量运算到图运算的自由转换,dgl提供基于消息传递的编程模型来完成计算,结合消息融合优化技术提升系统的性能。

3.根据权利要求2所述的一种图神经网络预训练方法,其特征在于,所述图神经网络预训练方法中,dgl的api包括:

4.根据权利要求3所述的一种图神经网络预训练方法,其特征在于,所述图神经网络预训练方法中,基于pytorch构建深度学习库pytorch geometric,基于该深度学习库利用专用cuda内核,对非结构化数据进行建模和高性能训练。

5.根据权利要求1所述的一种图神经网络预训练方法,其特征在于,所述图神经网络预训练方法中,pytorch geometric提供一个简单的消息传递api,将卷积算子推广到不规则域,具体表示为:

6.根据权利要求5所述的一种图神经网络预训练方法,其特征在于,所述深度学习库采用coo格式编码边索引,一个维度表示源顶点,另一个维度表示目标顶点。

7.根据权利要求6所述的一种图神经网络预训练方法,其特征在于,所述图神经网络预训练方法中,根据图神经网络是将标准神经网络与迭代图传播结合起来的这一特点,通过neugraph在数据流中引入以顶点为中心的消息传递模型,将图模型和数据流模型结合,来支持并行图神经网络计算,通过neugraph将图计算的优化方法,引入到了数据流框架中,来支持高效的图神经网络训练。

8.根据权利要求1所述的一种图神经网络预训练方法,其特征在于,所述图神经网络预训练方法包括小批量训练方法的并行计算方法、利用图数据流的并行计算方法和基于mapreduce模型的并行计算方法;

9.根据权利要求8所述的一种图神经网络预训练方法,其特征在于,所述图神经网络预训练方法中,利用图数据流的并行计算方法,将图处理的方式引入到图神经网络的并行计算中,具体包括如下步骤:

10.根据权利要求9所述的一种图神经网络预训练方法,其特征在于,所述图神经网络预训练方法中,基于mapreduce模型的并行计算方法包括如下步骤:


技术总结
本发明公开了一种图神经网络预训练方法,涉及图神经网络预训练技术领域;图神经网络通过在数据集上做预训练,训练好的模型在具体任务中做微调,其中,图G=(V,E),顶点特征层数为K,权重矩阵为非线性函数为σ,顶点v的邻居表示为N(v),聚合操作为具体步骤包括:S1:对顶点v进行固定大小的K阶邻居采样;S2:在顶点上进行K次聚合操作的迭代式计算。本发明根据图中顶点的依赖关系进行信息传播,保留了图结构的信息,为下游深度学习任务提供了更加完整的信息。

技术研发人员:邢小雷,赵超
受保护的技术使用者:河北工程大学
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1