CN113837382B - 图神经网络的训练方法和系统 - Google Patents
图神经网络的训练方法和系统 Download PDFInfo
- Publication number
- CN113837382B CN113837382B CN202111131282.5A CN202111131282A CN113837382B CN 113837382 B CN113837382 B CN 113837382B CN 202111131282 A CN202111131282 A CN 202111131282A CN 113837382 B CN113837382 B CN 113837382B
- Authority
- CN
- China
- Prior art keywords
- node
- graph data
- data structure
- nodes
- graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 173
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000005070 sampling Methods 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 17
- 238000000547 structure data Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施方式提供了一种图神经网络的训练方法和系统,该训练方法包括:获取原始图数据结构,原始图数据结构包括:多个原始结点和原始边,原始边用于表示相连的原始结点之间的关联关系;基于图神经网络的第一数量,将原始图数据结构分为第一数量的第一图数据结构,第一图数据结构包括至少一个第一结点和至少一个第二结点,第二结点与至少一个第一结点通过原始边连接,其中,不同第一图数据结构的第一结点不同,第一数量是预先配置的;基于第一图数据结构,训练图神经网络。本公开能够对于不同数据量的原始图数据结构,均可以进行图神经网络的训练,并支持在线训练,训练效率高。
Description
技术领域
本公开的实施方式涉及计算机技术领域,更具体地,本公开的实施方式涉及一种图神经网络的训练方法和系统。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
图神经网络是一种新型的人工智能神经网络,其输入为图结构数据,输出为表征向量,用于表示对性质特征的高度概括。其中,图结构数据中的结点为对象,边为对象之间的关联关系。训练得到的图神经网络可以用于对对象的性质预测、分类以及回归。
目前的图神经网络的训练方式,采用单机对结点和/或边的数量较小的图结构数据进行训练,采用多机对结点和/或边的数量较大的图结构数据进行训练。但是对于结点和/或边的数量较大的图结构数据,如果训练机器较少时,会存在无法载入该图结构数据,进而出现无法训练的问题。
发明内容
在本上下文中,本公开的实施方式期望提供一种图神经网络的训练方法和系统,以解决现有技术无法采用较少的训练机器对数据量较大的图结构数据进行训练的问题。
在本公开实施方式的第一方面中,提供了一种图神经网络的训练方法,包括:获取原始图数据结构,原始图数据结构包括:多个原始结点和原始边,原始边用于表示相连的原始结点之间的关联关系;基于图神经网络的第一数量,将原始图数据结构分为第一数量的第一图数据结构,第一图数据结构包括至少一个第一结点和至少一个第二结点,第二结点与至少一个第一结点通过原始边连接,其中,不同第一图数据结构的第一结点不同,第一数量是预先配置的;基于第一图数据结构,训练图神经网络。
在本公开的再一个实施例中,基于第一图数据结构,训练图神经网络,包括:基于第一图数据结构,确定多个目标线数据结构,目标线数据结构包括主结点和至少一个辅结点,其中主结点和其中一个辅结点通过原始边连接,辅结点之间通过原始边连接,主结点和辅结点的数量之和为预先配置的采样长度,采样长度为大于1的正整数,主结点为第一图数据结构中的第一结点,任一辅结点为第一图数据结构中第一结点或第二结点;根据多个目标线数据结构,训练图神经网络。
在本公开的再一个实施例中,基于第一图数据结构,确定多个目标线数据结构,包括:提取预设个数的第一图数据结构,组合成第二图数据结构;确定第二图数据结构内的任一第一结点为键结点,与键结点具有关联关系的结点为值结点;根据键结点和值结点,确定第二图数据结构对应的多个结点序列;基于结点序列,确定多个目标线数据结构。
在本公开的再一个实施例中,基于结点序列,确定多个目标线数据结构,包括:在第一图数据结构中获取多个第一结点;对于任一第一结点,在结点序列中查询与第一结点相同的第一键结点;确定与第一键结点属于同一结点序列的一个值结点;执行结点序列查询步骤:根据当前采样长度,在结点序列中查询当前值结点作为新的键结点所在的结点序列,在结点序列中确定新的键结点所对应的一个值结点作为辅结点或停止采样,其中,新的键结点为除第一键结点之外的其他键结点;在第一键结点和对应的所有辅结点数量未达到采样长度的情况下,继续执行结点序列查询步骤;在第一键结点和对应的所有辅结点数量达到采样长度的情况下,则将第一键结点作为目标线数据结构的主结点,根据所有辅结点之间的采样顺序,构成目标线数据结构。
在本公开的再一个实施例中,图神经网络的训练方法,还包括:接收第一配置参数,第一配置参数包括:第二数量的查询服务器;调度第二数量的查询服务器,并将属于同一第二图数据结构的结点序列对应存储在各查询服务器中。
在本公开的再一个实施例中,基于图神经网络的第一数量,将原始图数据结构分为第一数量的第一图数据结构,包括:基于图神经网络的第一数量和原始图数据结构中原始结点的序号,确定原始结点对应的标识信息;将标识信息相同的原始结点作为第一结点归类;遍历与第一结点直接相连的第二结点;根据第一结点和第二结点构建第一图数据结构。
在本公开的再一个实施例中,提取预设个数的第一图数据结构,组合成第二图数据结构,包括:获取第一图数据结构的标识信息,标识信息为大于或等于1的正整数,各第一数据结构的标识信息按照从小到大的顺序排序;基于标识信息与预设第二图数据结构的数量,确定对应的哈希值;将哈希值相同的第一图数据结构进行提取,并组合成第二图数据结构。
在本公开的再一个实施例中,根据多个目标线数据结构,训练图神经网络,包括:接收第二配置参数,第二配置参数包括:第一数量的容器;在资源库中调度第一数量的容器及容器对应的参数服务器;将多个目标线数据结构,对应分配给第一数量的容器;采用容器和参数服务器,训练图神经网络。
在本公开的再一个实施例中,图神经网络的训练方法,还包括:获取第一对象结点信息,将第一对象结点信息输入图神经网络,输出与第一对象结点信息相关联的第二对象结点信息。
在本公开实施方式的第三方面中,提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现如上述任一项的方法。
在本公开实施方式的第二方面中,提供了一种图神经网络的训练系统,包括:分布式存储器和训练装置;
分布式存储器用于获取原始图数据结构,原始图数据结构包括:多个原始结点和原始边,原始边用于表示相连的原始结点之间的关联关系,以及
基于图神经网络的第一数量,将原始图数据结构分为第一数量的第一图数据结构,第一图数据结构包括至少一个第一结点和至少一个第二结点,第二结点与至少一个第一结点通过原始边连接,其中,不同第一图数据结构的第一结点不同,第一数量是预先配置的;
训练装置用于基于第一图数据结构,训练图神经网络。
在本公开的再一个实施例中,训练装置包括:查询服务器和训练单元;
查询服务器用于,基于第一图数据结构,确定多个目标线数据结构,目标线数据结构包括主结点和至少一个辅结点,其中主结点和其中一个辅结点通过原始边连接,辅结点之间通过原始边连接,主结点和辅结点的数量之和为预先配置的采样长度,采样长度为大于1的正整数,主结点为第一图数据结构中的第一结点,任一辅结点为第一图数据结构中第一结点或第二结点;
训练单元,用于根据多个目标线数据结构,训练图神经网络。
在本公开的再一个实施例中,查询服务器具体用于:提取预设个数的第一图数据结构,组合成第二图数据结构;确定第二图数据结构内的任一第一结点为键结点,与键结点具有关联关系的结点为值结点;根据键结点和值结点,确定第二图数据结构对应的多个结点序列;基于结点序列,确定多个目标线数据结构。
在本公开的再一个实施例中,查询服务器在基于结点序列,确定多个目标线数据结构时,具体用于:在第一图数据结构中获取多个第一结点;对于任一一第一结点,在结点序列中查询与第一结点相同的第一键结点确定与第一键结点属于同一结点序列的一个值结点;执行结点序列查询步骤:根据当前采样长度,在结点序列中查询当前值结点作为新的键结点所在的结点序列,在结点序列中确定新的键结点所对应的一个值结点作为辅结点或停止采样,其中,新的键结点为除第一键结点之外的其他键结点;在第一键结点和对应的所有辅结点数量未达到采样长度的情况下,继续执行结点序列查询步骤;在第一键结点和对应的所有辅结点数量达到采样长度的情况下,则将第一键结点作为目标线数据结构的主结点,根据所有辅结点之间的采样顺序,构成目标线数据结构。
在本公开的再一个实施例中,训练单元包括:资源调度器;
资源调度器用于:接收第一配置参数,第一配置参数包括:第二数量的查询服务器;以及调度第二数量的查询服务器;
查询服务器,用于将属于同一第二图数据结构的结点序列对应存储在各查询服务器中。
在本公开的再一个实施例中,分布式存储器具体用于:基于图神经网络的第一数量和原始图数据结构中原始结点的序号,确定原始结点对应的标识信息;将标识信息相同的原始结点作为第一结点归类;遍历与第一结点直接相连的第二结点;根据第一结点和第二结点构建第一图数据结构。
在本公开的再一个实施例中,查询服务器在提取预设个数的第一图数据结构,组合成第二图数据结构时,具体用于:获取第一图数据结构的标识信息,标识信息为大于或等于1的正整数,各第一数据结构的标识信息按照从小到大的顺序排序;基于标识信息与预设第二图数据结构的数量,确定对应的哈希值;将哈希值相同的第一图数据结构进行提取,并组合成第二图数据结构。
在本公开的再一个实施例中,训练单元包括,资源调度器、容器和参数服务器,
资源调度器,用于接收第二配置参数,第二配置参数包括:第一数量的容器;以及在资源库中调度第一数量的容器及容器对应的参数服务器;将多个目标线数据结构,对应分配给第一数量的容器;采用容器和参数服务器,训练图神经网络。
在本公开的再一个实施例中,图神经网络的训练系统,还包括:应用装置;
应用装置,用于获取第一对象结点信息,将第一对象结点信息输入图神经网络,输出与第一对象结点信息相关联的第二对象结点信息。
在本公开实施方式的第三方面中,提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现如上述任一项的方法。
在本公开实施方式的第四方面中,提供了一种计算设备,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现如第一方面中任一项的方法。
根据本公开实施方式的将原始图数据结构分为多个第一图数据结构,并基于第一图数据结构,训练图神经网络,进而可以使训练机器能够一次载入数据量更少的第一图数据结构进行图神经网络的训练,避免需要载入整个原始图数据结构。再者,第一图数据结构中包括的第一结点和第二结点之间具有关联关系,能够保证第一图数据结构可用于图神经网络的训练。此外,不同的第一图数据结构具有不同的第一结点,可以保证各个第一图数据结构组合后具有原始数据结构的各个结点,并且在图神经网络的训练过程中不会出现重复训练的问题。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性地示出了一种图神经网络的训练方法图;
图2根据本公开实施方式的应用场景图;
图3示意性地示出了根据本公开一实施例的图神经网络的训练方法的步骤流程图;
图4示意性地示出了根据本公开一实施例的原始图数据结构分为第一图数据结构的结构示意图;
图5示意性地示出了根据本公开另一实施例的图神经网络的训练方法的步骤流程图;
图6示意性地示出了根据本公开一实施例的目标线数据结构的示意图;
图7示意性地示出了根据本公开一实施例的基于第二图数据结构得到结点序列的示意图;
图8示意性地示出了根据本公开一实施例的图神经网络的训练系统的结构框图;
图9示意性地示出了根据本公开一实施例的存储介质的结构示意图;
图10示意性地示出了根据本公开一实施例的电子设备的结构框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种图神经网络的训练方法、介质、装置和计算设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本公开人发现,图神经网络的训练过程一般是将底层图作为训练图,并通过在整张训练图上传递、转换和聚合结合特征信息,从而学习神经网络基元以生成单结点嵌入向量,以便进行下游任务的落地。图神经网络按照训练图的数据量大小,可分以下三种情况训练。1)单机可载入,运行速率正常,即整个训练图可以单机载入至计算机存储介质,如内存及GPU显存,计算速率满足需求。2)单机可载入,但运行速率过低,即整个训练图可以单机载入至计算机存储介质,但计算速率不满足需求。3)单机不可载入,即由于整个训练图的数据量过大,单台计算机存储介质仅能载入部分图数据,无法完全载入整个训练图。
图1示出了一种场景图,以解决上述问题,图1中,方式(a)对应的是当训练图的数据量较小时,可以将训练图直接载入只有一个单机R的训练系统11,进行模型的训练。方式(b)对应的是当训练图的数据量较大时,可以将训练图直接载入有多个单机R的训练系统12,进行模型的训练。方式(c)对应的是当训练图的数据量较大时,无法将训练图直接载入有多个单机R的训练系统13,进行模型的训练。则将训练图拆分成子图,载入有多个单机R的训练系统13,再进行模型的训练。
上述方式虽然能够基于不同数据量的训练图,均进行图神经网络的训练,但是需要构建三种不同的训练方案,且三种训练方案间差异较大、没有复用性。并且需要基于不同训练方案设置不同训练逻辑,落地复杂。此外,对于在线的图神经网络的训练,训练图的数据量会持续增加,图1所示的方式无法满足从单机任务到多机任务的切换,需要对训练系统进行重启后才能完成任务的切换。
进一步的,对于图1中的方式(C),采用现有的KV(键值)数据库进行训练图的读取,然后得到相应的子图,存在灵活性差以及较难自定义采样算子的问题。并且对于数据量较大的训练图,KV数据库很难支持以及自定义扩展。再者,对于大规模的图神经网络的训练任务,KV数据库占用资源无法弹性扩缩,复用性较低,会造成严重的浪费现象。
基于上述问题,本公开提供一种图神经网络的训练方法,可以通过基于图神经网络的第一数量,将原始图数据结构分为第一数量的第一图数据结构,然后基于第一图数据结构,训练图神经网络。可见,本公开能够灵活的配置第一数量,进而划分原始图数据结构。实现对于不同数据量的原始图数据结构,采用一套训练逻辑实现图神经网络的训练。
应用场景总览
参考图2,图2为本公开提供的一种图神经网络的训练方法的应用场景图,图2中包括:终端21和图神经网络的训练系统22。其中,终端21可以接收用户的各配置参数,例如,第一数量的图神经网络、第二数量的查询服务器、读取训练样本的目录等,然后终端21将配置参数发送给图神经网络的训练系统22,图神经网络的训练系统22,即可根据这些配置参数进行图神经网络的训练。
示例性方法
下面结合图2的应用场景,参考图3来描述根据本公开示例性实施方式的用于图神经网络的训练方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
本公开可以是基于kubernetes(为容器服务而生的一个可移植容器的编排管理工具)实现的。具体如下:
参照图3,示出本公开提供的一种图神经网络的训练方法的流程示意图。该图神经网络的训练方法应用于图神经网络的训练系统,本公开实施例提供一种图神经网络的训练方法具体包括以下步骤:
S301,获取原始图数据结构。
其中,可以从数据库中获取原始图数据结构。原始图数据结构包括:多个原始结点和原始边,原始边用于表示相连的原始结点之间的关联关系。
参照图4,原始图数据结构41包括原始结点411(原始图数据结构41中的原始结点1至原始结点15)和原始边412,原始图数据结构41中的1至15可以表示原始结点的序号。其中,在图4中,采用原始边412代表相邻结点的关联关系。示例性的,原始结点411可以表示化学领域中的每个原子,原始边412则可以表示化学键。又例如,原始结点411可以表示社交网络领域中的用户,原始边412则可以表示用户之间的关系。又例如,原始结点411可以表示地图领域中的地点,原始边412则可以表示地点之间的路径。
S302,基于图神经网络的第一数量,将原始图数据结构分为第一数量的第一图数据结构。
其中,第一图数据结构包括至少一个第一结点和至少一个第二结点,第二结点与至少一个第一结点通过原始边连接,其中,不同第一图数据结构的第一结点不同,第一数量是预先配置的。
第一数量可以是用户通过终端配置的,具体的,用户可以根据要训练的原始图数据结构的原始结点以及原始边的数量配置,当原始图数据结构的原始结点以及原始边的数量较小,可以采用一个容器训练时,用户可以配置第一数量为1,则第一图数据结构与原始图数据结构相同。可以理解,通过配置第一数量,原始图数据结构可以被拆分成1至N中任意数量的第一图数据结构。
示例性的,参照图4,将原始图数据结构41分为4个第一图数据结构42,分别为42(a)、42(b)、42(c)和42(d)。其中,每个第一图数据结构42均包括:第一结点421和第二结点422。各个第一图数据结构42的第一结点421组合起来为原始图数据结构41的所有原始结点411。第二结点422在原始图数据结构41中是与第一结点421通过原始边412连接的原始结点。进一步的,例如第一图数据结构42(a),在原始图数据结构41中选取任意4个原始结点(如原始结点1,5,9,13)作为第一图数据结构42(a)的第一结点,然后在原始图数据结构41中确定与原始结点1,5,9,13通过原始边连接的原始结点作为第一图数据结构42(a)的第二结点,在第一图数据结构42(a)中,通过原始边将具有关联关系的第一结点和第二结点相连。
在本公开中,可以根据用户配置的第一数量,将原始图数据结构拆分成第一数量的第一图数据结构,使各第一图数据结构组合后即覆盖了所有原始图数据结构的原始结点,不会导致训练样本的丢失。并且,能够使第一图数据结构保持原始图数据结构中对应原始结点之间的关联关系,使满足后续图神经网络的训练的样本需求。此外,只需要将原始图数据结构拆分成第一数量的第一图数据结构这一套逻辑,即可满足在原始图数据结构的数据量为任意值时,均可以进行图神经网络的训练,并不针对不同数据量的原始图数据结构,构建不同逻辑进行图神经网络的训练。
S303,基于第一图数据结构,训练图神经网络。
在本公开中,将第一图数据结构作为训练样本,训练对应的图神经网络。其中,具有第一数量的第一图数据结构,则得到第一数量的图神经网络。
根据本公开实施方式的将原始图数据结构分为多个第一图数据结构,并基于第一图数据结构,训练图神经网络,进而可以使训练机器能够一次载入数据量更少的第一图数据结构进行图神经网络的训练,避免需要载入整个原始图数据结构。再者,第一图数据结构中包括的第一结点和第二结点之间具有关联关系,能够保证第一图数据结构可用于图神经网络的训练。此外,不同的第一图数据结构具有不同的第一结点,可以保证各个第一图数据结构组合后具有原始数据结构的各个结点,并且在图神经网络的训练过程中不会出现重复训练的问题。
其中,参照图5,示出另一种图神经网络的训练方法步骤流程图,可,具体如下:
S501,获取原始图数据结构。
S501的具体实现过程参照S301,在此不再赘述。
S502,基于图神经网络的第一数量和原始图数据结构中原始结点的序号,确定原始结点对应的标识信息。
具体的,根据公式I=Hash(nodeid)%N确定原始结点对应的标识信息,其中该公式中I表示标识信息,nodeid表示原始结点的序号,N表示第一数量。可以理解,是根据原始结点的序号和第一数量,进行求余值。将余值相同的原始结点哈希对应至同一标识信息I。
示例性的,参照图4,第一数量为4,原始结点的序号为1至15,则序号1除以第一数量4,余值为1。序号2除以第一数量4,余值为2。序号3除以第一数量4,余值为3。序号4除以第一数量4,余值为0。序号5除以第一数量4,余值为1。依次循环,则序号1,5,9和13对应的余值为1,则将余值为1对应的原始结点,哈希至对应的标识信息(如I=1)。序号2,6,10和14对应的余值为2,则将余值为2对应的原始结点,哈希至对应的标识信息(如I=2)。序号3,7,11和15对应的余值为3,则将余值为3的原始结点,哈希至对应的标识信息(如I=3)。序号4,8和12对应的余值为0,则将余值为0的原始结点,哈希至对应的标识信息(如I=4)。
S503,将标识信息相同的原始结点作为第一结点归类。
示例性的,参照图4,原始结点1,5,9和13的标识信息相同,则将原始结点1,5,9和13作为第一图数据结构42(a)的第一结点。原始结点2,6,10和14的标识信息相同,则将原始结点2,6,10和14作为第一图数据结构42(b)的第一结点。原始结点3,7,11和15的标识信息相同,则将原始结点3,7,11和15作为第一图数据结构42(c)的第一结点。原始结点4,8和12的标识信息相同,则将原始结点4,8和12作为第一图数据结构42(d)的第一结点。
S504,遍历与第一结点直接相连的第二结点。
其中,是在原始图数据结构中遍历与第一结点通过原始边相连接的第二结点。
示例性的,参照图4,对于归为一类的第一结点1,5,9和13,在原始图数据结构41中,确定与第一结点1连接的第二结点为原始结点5。确定第一结点5连接的第二结点为原始结点2、8和1。确定第一结点9连接的第二结点为原始结点3、8、10和15。确定第一结点13连接的第二结点为原始结点12、10和14,至此确定了归为一类的第一结点1,5,9和13对应的各个第二结点。采用相同的方式,确定其他归为一类的第一结点对应的第二结点,在此不再赘述。
S505,根据第一结点和第二结点构建第一图数据结构。
其中,采用归为一类的第一结点和对应的第二结点构建为一个第一图数据结构。每个第一图数据结构具有对应的标识信息。
示例性的,参照图4,同一第一图数据结构中的第一结点为归为一类的原始结点。第一图数据结构42(a)对应的标识信息为1,第二图数据结构42(b)对应的标识信息为2,第一图数据结构42(c)对应的标识信息为3,第一图数据结构42(d)对应的标识信息为4。
此外,第一图数据结构中,相连接的第一结点和第二结点之间通过原始边连接。
S506,基于第一图数据结构,确定多个目标线数据结构。
其中,具体的,目标线数据结构包括主结点和至少一个辅结点,其中主结点和其中一个辅结点通过原始边连接,辅结点之间通过原始边连接,主结点和辅结点的数量之和为预先配置的采样长度,采样长度为大于1的正整数。主结点为第一图数据结构中的第一结点,任一辅结点为第一图数据结构中第一结点或第二结点。
具体的,辅结点之间串联连接,即一个目标线数据结构包括一个主结点和N-1个辅结点,N为采样长度。当N等于2时,只有一个辅结点,该辅结点与主结点连接。当N大于2时,第1个辅结点和主结点连接,第i个辅结点和第i-1个辅结点连接,i取2至N-1的正整数。
示例性的,参照图4和图6,其中,图6是图4中的第一图数据结构42(a)对应的多个目标线数据结构61,如图6中的61(a)、61(b)、61(c)和61(d)。图6中各目标线数据结构61的主结点611为图4中第一图数据结构42(a)的第一结点421,辅结点612为图4中第一图数据结构42(a)的第一结点421或第二结点422。
进一步的,采样长度是用户根据需要设置的,图6中的采样长度是4,也可以根据需要设置为其他值,在此不加以限定。此外,一个第一图数据结构对应的目标线数据结构的数量小于或等于该第一图数据结构第一结点的数量,示例性的,如图4中的第一图数据结构42(a)的第一结点有4个,则确定的对应的目标线数据结构的数量可以是图6中的目标线数据结构中的部分或者全部。
在本公开的一种可选实施例中,基于第一图数据结构,确定多个目标线数据结构,包括:提取预设个数的第一图数据结构,组合成第二图数据结构;确定第二图数据结构内的任一第一结点为键结点,与键结点具有关联关系的结点为值结点;根据键结点和值结点,确定第二图数据结构对应的多个结点序列;基于结点序列,确定多个目标线数据结构。
其中,得到的第二图数据结构是要对应存储在查询服务器中,因此查询服务器的数量和第二图数据结构的数量相同,则可以根据第二图数据结构的数量,将第一图数据结构进行组合。示例性的,参照图4和图7,将第一图数据结构42(a)和第一图数据结构42(c)组合成第二图数据结构71(a),将第一图数据结构42(b)和第一图数据结构42(d)组合成第二图数据结构71(b)。
示例性的,参照图7,包括多个结点序列72,如72(a)至72(q)。其中,结点序列72中括号中的结点为值结点,括号外的结点为键结点。结点序列72(a)至72(h)为第二图数据结构71(a)对应的结点序列。结点序列72(j)至72(q)为第二图数据结构71(b)对应的结点序列。
其中,在图7中,第二图数据结构71(a)的第一结点为1,3,5,7,9,13和15,则将第一结点作为键结点,查找对应键结点的值结点。其中,第一结点1只和5具有关联关系通过原始边连接,则键结点1的值结点为5,键结点1和值结点5组成结点序列72(a)。同样第一结点3和结点2以及结点9具有关联关系,则键结点3的值结点为2和9,则键结点3和值结点2,值键点9组成结点序列72(b)。采用相同的方式确定结点序列72(c)至72(q),在此不再赘述。
此外,本公开的图神经网络的训练方法,还包括:接收第一配置参数,第一配置参数包括:第二数量的查询服务器;调度第二数量的查询服务器,并将属于同一第二图数据结构的结点序列对应存储在各查询服务器中。
其中,第一配置参数可以是用户通过终端配置的,也可以是默认配置的。通常情况下,当原始图数据结构较大时,无法载入对应的查询服务器,因此,将原始图数据结构分为多个第二图数据结构,能够方便载入查询服务器。每个查询服务器中存储有一个第二图数据结构以及第二图数据结构对应的结点序列。在后续执行训练步骤时,则可以在对应的查询服务器查询需要的结点。
进一步的,提取预设个数的第一图数据结构,组合成第二图数据结构,包括:获取第一图数据结构的标识信息,标识信息为大于或等于1的正整数,各第一数据结构的标识信息按照从小到大的顺序排序;基于标识信息与预设第二图数据结构的数量,确定对应的哈希值;将哈希值相同的第一图数据结构进行提取,并组合成第二图数据结构。
其中,第二图数据结构的数量和查询服务器的数量相同,可以是预先配置的。可以给第一图数据结构进行按照顺序排序,确定标识信息。标识信息的对应的哈希值的计算公式为I=Hash(I)%M,其中该式中J为哈希值,I为标识信息,M为第二图数据结构的数量。
示例性的,各第一数据结构的标识信息按照从小到大的顺序排序,参照图4,第一图数据结构42(a)的标识信息为1,第一图数据结构42(b)的标识信息为2,第一图数据结构42(c)的标识信息为3,第一图数据结构42(d)的标识信息为4。第二图数据结构的数量为2。则标识信息为1对应的哈希值的计算方式为,标识信息1除以第二图数据结构的数量值2,余值为1,则哈希值为1。则标识信息为2对应的哈希值的计算方式为,标识信息2除以第二图数据结构的数量值2,余值为0,则哈希值为0。则标识信息为3对应的哈希值的计算方式为,标识信息3除以第二图数据结构的数量值2,余值为1,则哈希值为1。则标识信息为4对应的哈希值的计算方式为,标识信息4除以第二图数据结构的数量值2,余值为0,则哈希值为0。标识信息为1和3的哈希值相同,则将标识信息1和3对应的第一图数据结构进行组合得到第二图数据结构。标识信息为2和4的哈希值相同,则将标识信息2和4对应的第一图数据结构进行组合得到第二图数据结构。
其中,基于结点序列,确定多个目标线数据结构,包括:在第一图数据结构中获取多个第一结点;对于任一第一结点,在结点序列中查询与第一结点相同的第一键结点;确定与第一键结点属于同一结点序列的一个值结点;执行结点序列查询步骤:根据当前采样长度,在结点序列中查询当前值结点作为新的键结点所在的结点序列,在结点序列中确定新的键结点所对应的一个值结点作为辅结点或停止采样,其中,新的键结点为除第一键结点之外的其他键结点;在第一键结点和对应的所有辅结点数量未达到采样长度的情况下,继续执行结点序列查询步骤;在第一键结点和对应的所有辅结点数量达到采样长度的情况下,则将第一键结点作为目标线数据结构的主结点,根据所有辅结点之间的采样顺序,构成目标线数据结构。
其中,从第一图数据结构中获取第一结点数量也可以是预先配置的。
示例性的,参照图4、图6和图7,其中,先在第一图数据结构42(a)中获取到第一结点1,5,9和13。然后对于任一第一结点,如第一结点1,将该第一结点1作为第一键结点1,在图7中的结点序列中查找到对应的结点序列72(a),则将该第一键结点1作为图6中目标线数据结构61(a)的主结点1。然后在结点序列72(a)中查找到第一键结点1对应的一个值结点5,将该值结点5作为图6中目标线数据结构61(a)的第一个辅结点5。然后确定当前采样长度为2(主结点1和辅结点5),小于预设的采样长度4。则继续将值结点5作为新的键结点,在图7中查找到对应的结点序列72(c),随机确定结点序列72(c)其中一个值结点8作为图6中目标线数据结构61(a)的第二个辅结点8,确定当前采样长度为3,小于预设的采样长度4。则继续将值结点8作为新的键结点,在图7中查找到对应的结点序列72(n),随机确定结点序列72(n)其中一个值结点9作为图6中目标线数据结构61(a)的第三个辅结点9,确定当前采样长度为4,达到了预设的采样长度4,则停止采样。将第一键结点1作为目标线数据结构61(a)的主结点,根据所有辅结点之间的采样顺序,构成目标线数据结构61(a)。在本公开中,任一目标线数据结构都可以采用上述方式得到,在此不再赘述。
此外,需要补充的是,由于结点序列对应存储在查询服务器中,因此在查找结点序列时,需要在多个查询服务器中跳转查询。例如,上述示例中,结点序列72(a)和结点序列72(c)是在第二图数据结构71(a)对应的查询服务器中查找。结点序列72(n)是在第二图数据结构71(b)对应的查询服务器中查找。
S607,根据多个目标线数据结构,训练图神经网络。
其中,根据多个目标线数据结构,训练图神经网络,包括:接收第二配置参数,第二配置参数包括:第一数量的容器;在资源库中调度第一数量的容器及容器对应的参数服务器;将多个目标线数据结构,对应分配给第一数量的容器;采用容器和参数服务器,训练图神经网络。
具体的,容器的数量与第一图数据结构的数量相同,各容器与第一图数据结构一一对应,将主结点属于同一第一图数据结构的第一结点的目标线数据结构对应分配给同一容器进行训练。可以理解,一个容器获取到的各目标线数据结构的主结点属于同一个第一图数据结点的第一结点。
示例性的,参照图6,图6中的各目标线数据结构分配给同一个容器,其中,图6中的各目标线数据结构的主结点分别为1,5,9,10,该主结点1,5,9,10为第一图数据结构42(a)的第一结点。
进一步的,采用容器和参数服务器,训练图神经网络,包括:容器根据被分配的多个目标线数据结构,从对应的参数服务器获取图神经网络的第一参数;根据第一参数,训练对应的图神经网络,得到图神经网络的第二参数;容器将第二参数发送给对应的参数服务器进行保存。
在公开中,还可以给各个容器和参数服务器配置预设个数的CPU,预设大小的内存,以及配置GPU或者不配置GPU。
S608,获取第一对象结点信息,将第一对象结点信息输入图神经网络,输出与第一对象结点信息相关联的第二对象结点信息。
其中,训练得到图神经网络可以用于对与某一结点具有关联关系的其他结点的预测。
示例性的,对象结点信息可以是用户结点信息,用户结点信息包括:用户的ID信息,则获取第一用户结点信息,将第一用户结点信息输入图神经网络,输出与第一用户结点信息相关联的第二用户结点信息。其中,输出的第二用户结点信息可以是第一用户所关注或者最近聊天频繁的第二用户的ID信息。
本公开对不同数据量的原始图数据结构分为第一数量的第一图数据结构,能够实现对不同数据数量的原始图数据结构的自如。并且通过预选配置第一数量的容器以及第二数量的查询服务器,能够合理控制容器和查询服务器的数量。再者,对于图神经网络的线上训练,即原始图数据结构的原始结点数和原始边持续增加的情况,可以通过设置第一数量的值,弹性支持线上训练。此外,原始图数据结构分为第一数量的第一图数据结构能够支持各种自定义算子的原始图数据结构,并且第一图数据结构分布式存储能够支持更高频率的读取操作。并且存储在查询服务的第二图数据结构和结点序列可以根据图神经网络的训练任务结束,自动删除,减少资源的消耗。综上,本公开能够基于对不同数据量的原始图数据结构,均能采用本公开的一套逻辑执行训练任务,极大了提高了图神经网络的训练效率。
示例性系统
在介绍了本公开示例性实施方式的方法之后,接下来,参考图8对本公开示例性实施方式的图神经网络的训练系统进行说明。
参考图8所示,为本公开实施例公开的一种图神经网络的训练系统12的结构示意图。其中,图神经网络的训练系统12,包括:分布式存储器121和训练装置122;
分布式存储器121用于获取原始图数据结构41,原始图数据结构41包括:多个原始结点和原始边,原始边用于表示相连的原始结点之间的关联关系,以及
基于图神经网络的第一数量,将原始图数据结构41分为第一数量的第一图数据结构42,第一图数据结构包括至少一个第一结点和至少一个第二结点,第二结点与至少一个第一结点通过原始边连接,其中,不同第一图数据结构的第一结点不同,第一数量是预先配置的;
训练装置122用于基于第一图数据结构42,训练图神经网络。
其中,用户可以通过终端11配置各配置参数,包括针对分布式存储器121的第一参数,该第一参数包括:第一数量,读取原始图数据结构的位置等。则分布式存储器121根据读取原始图数据结构的位置,从对应的样本库81中读取原始图数据结构41,然后根据第一数量,将原始图数据结构41分为多个第一图数据结构42。
进一步的,分布式存储器121能够在图神经网络的训练过程中,高效的读取原始图数据结构。并且按照第一数量构建第一图数据结构的分布式服务,并为容器在第一图数据结构中读取主结点提供高效的读取方案。
在本公开的再一个实施例中,训练装置122包括:查询服务器1221和训练单元1222;
查询服务器1221用于,基于第一图数据结构42,确定多个目标线数据结构61,目标线数据结构包括主结点和至少一个辅结点,其中主结点和其中一个辅结点通过原始边连接,辅结点之间通过原始边连接,主结点和辅结点的数量之和为预先配置的采样长度,采样长度为大于1的正整数,主结点为第一图数据结构中的第一结点,任一辅结点为第一图数据结构中第一结点或第二结点;
训练单元122,用于根据多个目标线数据结构61,训练图神经网络。
其中,包括多个查询服务器1221,每个查询服务器1221从分布式存储器121中获取到预设个数第一图数据结构42,将预设个数的第一图数据结构42组合成第二图数据结构71存储,然后基于第二图数据结构71生成多个结点序列72。多个查询服务器1221组合工作得到多个目标线数据结构61。
在本公开的再一个实施例中,查询服务器1221具体用于:提取预设个数的第一图数据结构,组合成第二图数据结构;确定第二图数据结构内的任一第一结点为键结点,与键结点具有关联关系的结点为值结点;根据键结点和值结点,确定第二图数据结构对应的多个结点序列;基于结点序列,确定多个目标线数据结构。
在本公开的再一个实施例中,查询服务器1221在基于结点序列,确定多个目标线数据结构时,具体用于:在第一图数据结构中获取多个第一结点;对于任一一第一结点,在结点序列中查询与第一结点相同的第一键结点确定与第一键结点属于同一结点序列的一个值结点;执行结点序列查询步骤:根据当前采样长度,在结点序列中查询当前值结点作为新的键结点所在的结点序列,在结点序列中确定新的键结点所对应的一个值结点作为辅结点或停止采样,其中,新的键结点为除第一键结点之外的其他键结点;在第一键结点和对应的所有辅结点数量未达到采样长度的情况下,继续执行结点序列查询步骤;在第一键结点和对应的所有辅结点数量达到采样长度的情况下,则将第一键结点作为目标线数据结构的主结点,根据所有辅结点之间的采样顺序,构成目标线数据结构。
在本公开的再一个实施例中,训练单元1222包括:资源调度器Z;资源调度器Z用于:接收第一配置参数,第一配置参数包括:第二数量的查询服务器;以及调度第二数量的查询服务器;
查询服务器1221,用于将属于同一第二图数据结构的结点序列对应存储在各查询服务器中。
其中,多个查询服务器1221组成查询引擎X,该查询引擎X还可以包括请求路由1223。查询引擎能够在图神经网络的训练过程中,提供第二图数据结构以及结点序列的存储,并且为目标线数据结构的采样提供标准化接口。
在本公开的再一个实施例中,分布式存储器121具体用于:基于图神经网络的第一数量和原始图数据结构中原始结点的序号,确定原始结点对应的标识信息;将标识信息相同的原始结点作为第一结点归类;遍历与第一结点直接相连的第二结点;根据第一结点和第二结点构建第一图数据结构。
在本公开的再一个实施例中,查询服务器1221在提取预设个数的第一图数据结构,组合成第二图数据结构时,具体用于:获取第一图数据结构的标识信息,标识信息为大于或等于1的正整数,各第一数据结构的标识信息按照从小到大的顺序排序;基于标识信息与预设第二图数据结构的数量,确定对应的哈希值;将哈希值相同的第一图数据结构进行提取,并组合成第二图数据结构。
在本公开的再一个实施例中,训练单元1222包括,资源调度器Z、容器R和参数服务器P,
资源调度器Z,用于接收第二配置参数,第二配置参数包括:第一数量的容器;以及在资源库中调度第一数量的容器及容器对应的参数服务器;将多个目标线数据结构,对应分配给第一数量的容器;采用容器和参数服务器,训练图神经网络。
其中,参照图8,容器R和参数服务器P组成训练集群Q,容器R和第一图数据结构42一一对应,容器R从对应的第一图数据结构42中获取到预设数量的第一结点,然后将第一结点通过训练单元发送给请求路由,请求路由根据第一结点,确定第一结点所在的查询服务器,在对应的查询服务器查找对应的结点序列,进而查找到以第一结点为键结点的值结点。
进一步的,训练单元1222能够在图神经网络的训练过程中,基于得到的目标线数据结构进行模型训练,能够提供单机(一个容器)或多机(多个容器)分布式的模型训练能力。
此外,资源调度器能够接收终端11配置的配置参数,调控资源(容器、参数服务器和查询服务器),部署查询引擎(查询服务器及请求路由)和训练集群(容器和参数服务器)。并且能够调用的预设的图神经网络的训练脚本,该训练脚本用于训练图神经网络。资源调度器还用于给每个容器和参数服务器配置CPU、内存以及GPU。
在资源调度器完成训练集群的部署后,各容器按照预先配置的镜像文件,启动对应的容器,以及启动对应用于图神经网络训练的脚本文件。脚本文文件启动后。各容器,启动相应的服务,并向主参数服务器报告心跳,待所有的容器和参数服务器均启动完成后,主参数服务器广播通知各参数服务,宿主机广播通知各容器,开始图神经网络的训练。
在图神经网络的训练过程中,在参数服务器中读取参数,并进行前向计算和后向计算,计算出对应参数的梯度信息,回传给对应的参数服务器,进行参数的更新。
在本公开的再一个实施例中,图神经网络的训练系统,还包括:应用装置1224;
应用装置1224,用于获取第一对象结点信息,将第一对象结点信息输入图神经网络,输出与第一对象结点信息相关联的第二对象结点信息。
训练装置1222训练得到的图神经网络传输给应用装置1224,以使应用装置搭载该图神经网络,执行相应的预测功能。
本公开提供的图神经网络的训练系统可以执行上述图神经网络的训练方法,具体参照上述方法实施例,在此不再赘述。
本公开提供的图神经网络的训练系统,能够对不同数据量的原始图数据结构分为第一数量的第一图数据结构,能够实现对不同数据数量的原始图数据结构的自如。并且通过预选配置第一数量的容器以及第二数量的查询服务器,能够合理控制容器和查询服务器的数量。再者,对于图神经网络的线上训练,即原始图数据结构的原始结点数和原始边持续增加的情况,可以通过设置第一数量的值,弹性支持线上训练。此外,原始图数据结构分为第一数量的第一图数据结构能够支持各种自定义算子的原始图数据结构,并且第一图数据结构分布式存储能够支持更高频率的读取操作。并且存储在查询服务的第二图数据结构和结点序列可以根据图神经网络的训练任务结束,自动删除,减少资源的消耗。综上,本公开能够基于对不同数据量的原始图数据结构,均能采用本公开的一套逻辑执行训练任务,极大了提高了图神经网络的训练效率。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,参考图9对本公开示例性实施方式的存储介质进行说明。
参考图9所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品90,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性计算设备
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图10对本公开示例性实施方式的计算设备进行说明。
图10显示的计算设备100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,计算设备100以通用计算设备的形式表现。计算设备100的组件可以包括但不限于:上述至少一个处理单元101、上述至少一个存储单元102,连接不同系统组件(包括处理单元101和存储单元102)的总线103。
总线103包括数据总线、控制总线和地址总线。
存储单元102可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1021和/或高速缓存存储器1022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)1023。
存储单元102还可以包括具有一组(至少一个)程序模块1024的程序/实用工具1025,这样的程序模块1024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备100也可以与一个或多个外部设备104(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口105进行。并且,计算设备100还可以通过网络适配器106与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器106通过总线103与计算设备100的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了音频处理装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (14)
1.一种图神经网络的训练方法,包括:
获取原始图数据结构,所述原始图数据结构包括:多个原始结点和原始边,所述原始边用于表示相连的原始结点之间的关联关系;
基于图神经网络的第一数量,将所述原始图数据结构分为所述第一数量的第一图数据结构,所述第一图数据结构包括至少一个第一结点和至少一个第二结点,所述第二结点与至少一个所述第一结点通过所述原始边连接,其中,不同所述第一图数据结构的第一结点不同,所述第一数量是预先配置的;
提取预设个数的所述第一图数据结构,组合成第二图数据结构;
确定所述第二图数据结构内的任一所述第一结点为键结点,与所述键结点具有关联关系的结点为值结点;
根据所述键结点和所述值结点,确定所述第二图数据结构对应的多个结点序列;
在第一图数据结构中获取多个所述第一结点;
对于任一第一结点,在所述结点序列中查询与所述第一结点相同的第一键结点;
确定与所述第一键结点属于同一结点序列的一个值结点;
执行结点序列查询步骤:根据当前采样长度,在所述结点序列中查询当前值结点作为新的键结点所在的结点序列,在所述结点序列中确定所述新的键结点所对应的一个值结点作为辅结点或停止采样,其中,所述新的键结点为除所述第一键结点之外的其他键结点;
在所述第一键结点和对应的所有辅结点数量未达到采样长度的情况下,继续执行所述执行结点序列查询步骤;
在所述第一键结点和对应的所有辅结点数量达到采样长度的情况下,则将所述第一键结点作为目标线数据结构的主结点,根据所述所有辅结点之间的采样顺序,构成所述目标线数据结构;
根据多个所述目标线数据结构,训练所述图神经网络。
2.根据权利要求1所述的图神经网络的训练方法,还包括:
接收第一配置参数,所述第一配置参数包括:第二数量的查询服务器;
调度所述第二数量的查询服务器,并将属于同一所述第二图数据结构的结点序列对应存储在各所述查询服务器中。
3.根据权利要求1所述的图神经网络的训练方法,所述基于图神经网络的第一数量,将所述原始图数据结构分为所述第一数量的第一图数据结构,包括:
基于所述图神经网络的第一数量和所述原始图数据结构中所述原始结点的序号,确定所述原始结点对应的标识信息;
将所述标识信息相同的原始结点作为第一结点归类;
遍历与所述第一结点直接相连的第二结点;
根据所述第一结点和所述第二结点构建所述第一图数据结构。
4.根据权利要求1所述的图神经网络的训练方法,所述提取预设个数的所述第一图数据结构,组合成第二图数据结构,包括:
获取所述第一图数据结构的标识信息,所述标识信息为大于或等于1的正整数,各所述第一图数据结构的标识信息按照从小到大的顺序排序;
基于所述标识信息与预设所述第二图数据结构的数量,确定对应的哈希值;
将所述哈希值相同的所述第一图数据结构进行提取,并组合成第二图数据结构。
5.根据权利要求1所述的图神经网络的训练方法,所述根据多个所述目标线数据结构,训练所述图神经网络,包括:
接收第二配置参数,所述第二配置参数包括:所述第一数量的容器;
在资源库中调度所述第一数量的所述容器及所述容器对应的参数服务器;
将多个所述目标线数据结构,对应分配给所述第一数量的容器;
采用所述容器和所述参数服务器,训练所述图神经网络。
6.根据权利要求1所述的图神经网络的训练方法,还包括:
获取第一对象结点信息,将所述第一对象结点信息输入所述图神经网络,输出与所述第一对象结点信息相关联的第二对象结点信息。
7.一种图神经网络的训练系统,包括:分布式存储器和训练装置;
所述分布式存储器用于获取原始图数据结构,所述原始图数据结构包括:多个原始结点和原始边,所述原始边用于表示相连的原始结点之间的关联关系,以及
基于图神经网络的第一数量,将所述原始图数据结构分为所述第一数量的第一图数据结构,所述第一图数据结构包括至少一个第一结点和至少一个第二结点,所述第二结点与至少一个所述第一结点通过所述原始边连接,其中,不同所述第一图数据结构的第一结点不同,所述第一数量是预先配置的;
所述训练装置用于基于所述第一图数据结构,训练所述图神经网络;
所述训练装置包括:查询服务器和训练单元;
所述查询服务器用于:
提取预设个数的所述第一图数据结构,组合成第二图数据结构;
确定所述第二图数据结构内的任一所述第一结点为键结点,与所述键结点具有关联关系的结点为值结点;
根据所述键结点和所述值结点,确定所述第二图数据结构对应的多个结点序列;在第一图数据结构中获取多个所述第一结点;
对于任一第一结点,在所述结点序列中查询与所述第一结点相同的第一键结点;
确定与所述第一键结点属于同一结点序列的一个值结点;
执行结点序列查询步骤:根据当前采样长度,在所述结点序列中查询当前值结点作为新的键结点所在的结点序列,在所述结点序列中确定所述新的键结点所对应的一个值结点作为辅结点或停止采样,其中,所述新的键结点为除所述第一键结点之外的其他键结点;
在所述第一键结点和对应的所有辅结点数量未达到采样长度的情况下,继续执行所述执行结点序列查询步骤;
在所述第一键结点和对应的所有辅结点数量达到采样长度的情况下,则将所述第一键结点作为目标线数据结构的主结点,根据所述所有辅结点之间的采样顺序,构成所述目标线数据结构;
所述训练单元,用于根据多个所述目标线数据结构,训练所述图神经网络。
8.根据权利要求7所述的图神经网络的训练系统,所述训练单元包括:资源调度器;
所述资源调度器用于:接收第一配置参数,所述第一配置参数包括:第二数量的查询服务器;以及
调度所述第二数量的查询服务器;
所述查询服务器,用于将属于同一所述第二图数据结构的结点序列对应存储在各所述查询服务器中。
9.根据权利要求7所述的图神经网络的训练系统,所述分布式存储器具体用于:
基于所述图神经网络的第一数量和所述原始图数据结构中所述原始结点的序号,确定所述原始结点对应的标识信息;
将所述标识信息相同的原始结点作为第一结点归类;
遍历与所述第一结点直接相连的第二结点;
根据所述第一结点和所述第二结点构建所述第一图数据结构。
10.根据权利要求7所述的图神经网络的训练系统,所述查询服务器在提取预设个数的所述第一图数据结构,组合成第二图数据结构时,具体用于:
获取所述第一图数据结构的标识信息,所述标识信息为大于或等于1的正整数,各所述第一图数据结构的标识信息按照从小到大的顺序排序;
基于所述标识信息与预设所述第二图数据结构的数量,确定对应的哈希值;
将所述哈希值相同的所述第一图数据结构进行提取,并组合成第二图数据结构。
11.根据权利要求7所述的图神经网络的训练系统,所述训练单元包括,资源调度器、容器和参数服务器,
所述资源调度器,用于接收第二配置参数,所述第二配置参数包括:所述第一数量的容器;以及
在资源库中调度所述第一数量的所述容器及所述容器对应的参数服务器;
将多个所述目标线数据结构,对应分配给所述第一数量的容器;
采用所述容器和所述参数服务器,训练所述图神经网络。
12.根据权利要求7所述的图神经网络的训练系统,还包括:应用装置;
所述应用装置,用于获取第一对象结点信息,将所述第一对象结点信息输入所述图神经网络,输出与所述第一对象结点信息相关联的第二对象结点信息。
13.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被执行时,实现如权利要求1至6中任一项所述的方法。
14.一种计算设备,包括:存储器和处理器;
所述存储器用于存储程序指令;
所述处理器用于调用所述存储器中的程序指令执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111131282.5A CN113837382B (zh) | 2021-09-26 | 2021-09-26 | 图神经网络的训练方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111131282.5A CN113837382B (zh) | 2021-09-26 | 2021-09-26 | 图神经网络的训练方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113837382A CN113837382A (zh) | 2021-12-24 |
CN113837382B true CN113837382B (zh) | 2024-05-07 |
Family
ID=78970227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111131282.5A Active CN113837382B (zh) | 2021-09-26 | 2021-09-26 | 图神经网络的训练方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113837382B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114662204B (zh) * | 2022-04-07 | 2023-03-31 | 清华大学 | 基于图神经网络的弹性杆系结构体系数据处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348573A (zh) * | 2019-07-16 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 训练图神经网络的方法、图神经网络设备、装置、介质 |
CN111694957A (zh) * | 2020-05-29 | 2020-09-22 | 新华三大数据技术有限公司 | 基于图神经网络的问题单分类方法、设备及存储介质 |
CN111931002A (zh) * | 2020-06-30 | 2020-11-13 | 华为技术有限公司 | 一种匹配方法以及相关设备 |
CN111985622A (zh) * | 2020-08-25 | 2020-11-24 | 支付宝(杭州)信息技术有限公司 | 一种图神经网络训练方法和系统 |
CN112464292A (zh) * | 2021-01-27 | 2021-03-09 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护训练图神经网络的方法及装置 |
CN112819103A (zh) * | 2021-03-04 | 2021-05-18 | 吉林大学 | 基于图神经网络的特征识别方法、装置、存储介质及终端 |
CN112862093A (zh) * | 2021-01-29 | 2021-05-28 | 北京邮电大学 | 一种图神经网络训练方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020182989A1 (en) * | 2019-03-13 | 2020-09-17 | Deepmind Technologies Limited | Scheduling computation graphs using neural networks |
-
2021
- 2021-09-26 CN CN202111131282.5A patent/CN113837382B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348573A (zh) * | 2019-07-16 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 训练图神经网络的方法、图神经网络设备、装置、介质 |
CN111694957A (zh) * | 2020-05-29 | 2020-09-22 | 新华三大数据技术有限公司 | 基于图神经网络的问题单分类方法、设备及存储介质 |
CN111931002A (zh) * | 2020-06-30 | 2020-11-13 | 华为技术有限公司 | 一种匹配方法以及相关设备 |
CN111985622A (zh) * | 2020-08-25 | 2020-11-24 | 支付宝(杭州)信息技术有限公司 | 一种图神经网络训练方法和系统 |
CN112464292A (zh) * | 2021-01-27 | 2021-03-09 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护训练图神经网络的方法及装置 |
CN112862093A (zh) * | 2021-01-29 | 2021-05-28 | 北京邮电大学 | 一种图神经网络训练方法及装置 |
CN112819103A (zh) * | 2021-03-04 | 2021-05-18 | 吉林大学 | 基于图神经网络的特征识别方法、装置、存储介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113837382A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102971724B (zh) | 与数据中心环境内的基于单元式虚拟资源的管理有关的方法和装置 | |
US9477503B2 (en) | Resource management server, resource management method and storage medium for identifying virtual machines satisfying resource requirements | |
US7207040B2 (en) | Multi-CPUs support with thread priority control | |
US20090282413A1 (en) | Scalable Scheduling of Tasks in Heterogeneous Systems | |
CN110795029B (zh) | 一种云硬盘管理方法、装置、服务器及介质 | |
CN104050042A (zh) | Etl作业的资源分配方法及装置 | |
CN112199189A (zh) | 深度学习模型对资源受限边缘设备的适应 | |
CN113485962B (zh) | 日志文件的存储方法、装置、设备和存储介质 | |
CN112465146A (zh) | 一种量子与经典混合云平台以及任务执行方法 | |
CN112698952A (zh) | 计算资源统一管理方法、装置、计算机设备及存储介质 | |
CN113837382B (zh) | 图神经网络的训练方法和系统 | |
CN111290712B (zh) | 块设备创建方法、装置、云计算管理系统及存储介质 | |
CN110706148B (zh) | 人脸图像处理方法、装置、设备和存储介质 | |
CN114238237A (zh) | 任务处理方法、装置、电子设备和计算机可读存储介质 | |
CN110196751B (zh) | 互扰服务的隔离方法及装置、电子设备、存储介质 | |
CN114237894A (zh) | 容器调度方法、装置、设备以及可读存储介质 | |
CN112527450B (zh) | 基于不同资源的超融合自适应方法、终端及系统 | |
CN114039919A (zh) | 流量调度方法、介质、装置和计算设备 | |
KR20170111838A (ko) | 사물 기능과 클라우드 서비스를 활용한 자율 서비스 구성 방법 | |
CN112015535B (zh) | 任务处理方法、装置、电子设备、存储介质 | |
CN111984740B (zh) | 业务数据表处理方法、装置、计算机设备和存储介质 | |
CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN113127430A (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
US20240143873A1 (en) | Method and System to Determine Optimal Rack Space Utilization | |
CN116798103B (zh) | 基于人工智能的人脸图像处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |