CN114462600A - 一种有向图对应的图神经网络的训练方法及装置 - Google Patents
一种有向图对应的图神经网络的训练方法及装置 Download PDFInfo
- Publication number
- CN114462600A CN114462600A CN202210372957.3A CN202210372957A CN114462600A CN 114462600 A CN114462600 A CN 114462600A CN 202210372957 A CN202210372957 A CN 202210372957A CN 114462600 A CN114462600 A CN 114462600A
- Authority
- CN
- China
- Prior art keywords
- aggregation
- gradient
- node
- current
- 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.)
- Granted
Links
Images
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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种有向图对应的图神经网络的训练方法及装置,方法包括:控制设备获得用户针对图神经网络在正向推理计算中用于进行节点表征聚合的第一算子设置的聚合配置信息后,提供给工作设备,聚合配置信息包括节点表征聚合涉及的参与对象和第一边方向;工作设备中的任一第一设备针对有向图中其持有的局部图中的当前节点,基于聚合配置信息利用第一算子对当前节点进行表征聚合;基于用于进行反向梯度计算的第二算子及根据聚合配置信息确定的梯度来源信息,确定图神经网络的当前梯度,将其发送至控制设备;控制设备基于各工作设备发送的当前梯度,更新图神经网络的模型参数。
Description
技术领域
本说明书涉及图神经网络技术领域,尤其涉及一种有向图对应的图神经网络的训练方法及装置。
背景技术
图神经网络是广为使用的机器学习模型。相对于传统的神经网络,图神经网络不仅能够捕捉节点的特征,而且能够刻画节点之间的关联关系特征,因此,在多项机器学习任务中取得了优异的效果。图神经网络对应的关系网络图分为有向图和无向图,比如在社交网络中,两个用户是好友关系,可以用无向图表达;在用户-商品的网络中,用户和商品的购买行为可以用有向图表达。
图神经网络提供方,可以利用图学习系统(又称图神经网络系统)实现对图神经网络的训练。在目前的图学习系统中,很难基于同一份图数据灵活地结合边的方向进行图神经网络(即模型)的训练,若想实现基于同一份图数据灵活地结合边的方向进行图神经网络的训练,则需要用户对该图数据做额外处理,比如DGL系统(一种图学习系统),其认为所有图均为有向图,在DGL系统中,要将有向图作为无向图,训练其对应的图神经网络时,需要修改该有向图,即将有向图的所有边添加为双向边。之后,才能将有向图作为无向图,训练其对应的图神经网络。这样,增加了用户的数据处理负担也增加了图学习系统的数据存储代价。
发明内容
本说明书一个或多个实施例提供了一种有向图对应的图神经网络的训练方法及装置,以实现无需修改有向图,即可结合不同的边方向实现对其相应图神经网络的训练。
根据第一方面,提供一种有向图对应的图神经网络的训练方法,包括:
控制设备获得用户针对第一算子设置的聚合配置信息,将其提供给若干工作设备;所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
所述若干工作设备中任意的第一设备,针对所述有向图中本方持有的局部图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;并基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,将其发送至控制设备,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
控制设备基于各工作设备发送的当前梯度,更新所述图神经网络的模型参数。
在一种可实施方式中,所述节点表征聚合依赖的第一边方向选自以下之一:所述有向图的入边方向、出边方向,以及所有边方向。
在一种可实施方式中,单个参与对象选自以下之一:被聚合的节点自身、其对应的边,以及邻居节点;
所述节点表征聚合涉及的参与对象包括如下组合之一:节点对应的边;节点对应的邻居节点;节点对应的边和邻居节点的组合;节点自身及其对应的边的组合;节点自身及其对应的邻居节点的组合;节点自身及其对应的边和邻居节点的组合。
在一种可实施方式中,还包括:
所述第一设备基于对所述当前节点进行表征聚合的聚合结果,确定该当前节点对应的预测损失;所述当前梯度还基于所述预测损失而确定。
在一种可实施方式中,所述第一算子至少适用于所述图神经网络的第l+1聚合网络层的聚合;
所述利用所述第一算子对该当前节点进行表征聚合,包括:
获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
利用所述第一算子对所述当前表征进行表征聚合,得到该当前节点在第l+1聚合网络层的聚合表征。
在一种可实施方式中,在所述确定所述图神经网络的当前梯度之前,还包括:
基于所述聚合配置信息以及预设的映射关系,确定所述梯度来源信息,所述映射关系包括各种可能的聚合配置信息与各种可能的梯度来源信息之间的对应关系。
在一种可实施方式中,所述确定所述图神经网络的当前梯度,包括:
获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
基于所述当前参与对象和所述梯度来源信息,获取所述当前节点在第l+1聚合网络层的目标传递梯度;
利用所述第二算子,对所述当前表征及所述目标传递梯度进行梯度计算,得到该第l聚合网络层的模型参数的梯度。
在一种可实施方式中,还包括:
所述第一设备分别将各当前参与对象作为目标对象,利用所述第二算子,对所述目标传递梯度、除所述目标对象外的其他当前参与对象的当前表征以及该第l聚合网络层的模型参数进行梯度计算,得到该目标对象在第l聚合网络层中的梯度,用于第l-1聚合网络层的梯度计算。
在一种可实施方式中,还包括:
所述第一设备从目标数据源加载所述局部图;基于所述局部图和所述第一边方向,生成所述局部图中各节点对应的第一边索引,所述第一边索引指向所对应节点在所述第一边方向上的邻居节点;
所述获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征,包括:
基于所述第一边索引和所述节点表征聚合涉及的参与对象,获取所述当前参与对象在第l聚合网络层的当前表征。
在一种可实施方式中,还包括:
若确定所述第二边方向不同于所述第一边方向,基于所述局部图和所述第二边方向,生成所述局部图中各节点对应的第二边索引,所述第二边索引指向所对应节点在所述第二边方向上的邻居节点;
所述获取所述当前节点在第l+1聚合网络层的目标传递梯度,包括:
基于所述当前参与对象、所述第二边索引和梯度传递来源对象的指示,获取所述目标传递梯度。
在一种可实施方式中,还包括:
所述控制设备,对所述有向图进行分区,得到分区结果,将所述分区结果提供给各工作设备,其中,所述分区结果包括:各工作设备对应的所述有向图的局部图;
所述第一设备从目标数据源加载所述局部图,包括:
所述第一设备从所述目标数据源,基于所述分区结果加载所述局部图。
根据第二方面,提供一种有向图对应的图神经网络的训练方法,通过若干工作设备中的第一设备执行,包括:
从控制设备接收用户针对第一算子设置的聚合配置信息;所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
针对所述有向图中本方持有的局部图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
将所述当前梯度发送给所述控制设备,使其更新所述图神经网络的模型参数。
根据第三方面,提供一种有向图对应的图神经网络的训练方法,包括:
获得用户针对第一算子设置的聚合配置信息,所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
针对所述有向图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
基于所述当前梯度,更新所述图神经网络的模型参数。
根据第四方面,提供一种有向图对应的图神经网络的训练装置,部署于若干工作设备中的第一设备,包括:
接收模块,配置为从控制设备接收用户针对第一算子设置的聚合配置信息;所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
第一聚合模块,配置为针对所述有向图中本方持有的局部图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
第一确定模块,配置为基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
第一发送模块,配置为将所述当前梯度发送给所述控制设备,使其更新所述图神经网络的模型参数。
根据第五方面,提供一种有向图对应的图神经网络的训练装置,包括:
获得模块,配置为获得用户针对第一算子设置的聚合配置信息,所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
第二聚合模块,配置为针对所述有向图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
第二确定模块,配置为基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
更新模块,配置为基于所述当前梯度,更新所述图神经网络的模型参数。
根据第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述有向图对应的图神经网络的训练方法。
根据第七方面,提供一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述有向图对应的图神经网络的训练方法。
根据本说明书实施例提供的方法及装置,控制设备提供有设置图神经网络在正向推理计算中进行节点表征聚合(第一算子)所涉及的参与对象和依赖的边方向的配置功能,使得用户可以根据自身需求,在不修改有向图的前提下,针对第一算子设置其进行节点表征聚合所涉及的参与对象和依赖的第一边方向,即聚合配置信息(即图神经网络正向推理计算中节点表征聚合所需的数据和方向),并且各工作设备可以基于该聚合配置信息确定出梯度来源信息,即反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示(即图神经网络反向梯度计算所需的数据来源指示和方向)以实现对图神经网络的当前梯度的确定,即实现对图神经网络的训练。上述过程中用户无需对有向图进行修改,即可实现灵活的设置图神经网络训练所依赖的边方向和参与对象,结合不同的边方向实现对有向图相应的图神经网络的灵活训练。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施框架示意图;
图2为实施例提供的有向图的一种示意图;
图3为实施例提供的有向图对应的图神经网络的训练方法的一种流程示意图;
图4为实施例提供的由预设的映射关系所构成关系表的一种展示图;
图5为实施例提供的有向图对应的图神经网络的训练方法的一种流程示意图;
图6为实施例提供的有向图对应的图神经网络的训练方法的一种流程示意图;
图7为实施例提供的有向图对应的图神经网络的训练装置的一种示意性框图;
图8为实施例提供的有向图对应的图神经网络的训练装置的一种示意性框图。
具体实施方式
下面将结合附图,详细描述本说明书实施例的技术方案。
本说明书实施例披露一种有向图对应的图神经网络的训练方法及装置,下面首先对方法的应用场景和技术构思进行介绍,具体如下:
如前所述,在目前的图学习系统中,若想实现基于同一份图数据灵活地结合边的方向进行图神经网络的训练,则需要用户对该图数据做额外处理,比如DGL系统(一种图学习系统),其认为所有图均为有向图,在DGL系统中,要将有向图作为无向图训练图神经网络时,需要修改该有向图,即将有向图的所有边添加为双向边。之后,才能将有向图作为无向图训练其对应的图神经网络。这样,明显增加了用户的数据处理负担,也增加了图学习系统的数据存储代价。
鉴于此,发明人提出一种有向图对应的图神经网络的训练方法,图1示出根据本说明书披露的一个实施例的实施框架示意图。如图1所示,该方法通过控制设备A,以及n个工作设备B执行,该控制设备A和n个工作设备B均部署于图学习系统(又称图神经网络系统),该图学习系统基于分布式图学习框架为用户提供训练图神经网络的功能,即该图学习系统可以通过多个工作设备B实现对图神经网络的分布式训练。
具体的,控制设备A可以为用户提供有信息配置界面,用户可以通过该信息配置界面,针对有向图对应的图神经网络进行训练相关信息的配置。用户在存在训练有向图对应的图神经网络的需求时,可以通过控制设备A的该信息配置界面,针对该图神经网络的第一算子设置相应的聚合配置信息,该第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,聚合配置信息包括节点表征聚合涉及的参与对象和依赖的第一边方向。其中,单个参与对象可以选自以下之一:被聚合的节点自身、其对应的边,以及邻居节点,节点表征聚合涉及的参与对象可以包括上述单个参与对象至少一个。第一边方向可以选自以下之一:所述有向图的入边方向、出边方向,以及所有边方向。在第一边方向为所有边方向的情况下,可以实现对有向图中无向对称消息的传递,即将有向图作为无向图训练其对应的图神经网络。
控制设备A获得上述聚合配置信息之后,将该聚合配置信息提供给每个可执行第一算子的工作设备B。每个工作设备B获得该聚合配置信息之后,基于该聚合配置信息执行后续流程,其中,各工作设备执行流程相同,后续以其中任意的第一设备为例进行说明。
该n个工作设备B中任意的第一设备,针对该有向图中本方持有的局部图中的当前节点,基于聚合配置信息(即节点表征聚合涉及的参与对象和依赖的第一边方向),利用第一算子对该当前节点进行表征聚合;之后,在反向梯度计算中,基于与第一算子对应的用于进行反向梯度计算的第二算子,以及基于该聚合配置信息确定的梯度来源信息,即反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示,确定图神经网络的当前梯度。
可以理解的,通过该聚合配置信息可以准确的针对节点确定出对其进行表征聚合所需的相关数据。举例而言,有向图1的局部结构可以如图2所示,用户针对第一算子设置的聚合配置信息中的节点表征聚合涉及的参与对象包括:被聚合的节点对应的边和邻居节点,所依赖的第一边方向为出边方向。例如有向图1中的i节点为当前节点,相应的,基于聚合配置信息,可以确定出参与i节点的表征聚合的参与对象为:出边e和出边e方向上的节点j,即确定出i节点进行表征聚合所需的相关数据。
相应的,基于图神经网络的正向推理计算和反向梯度计算之间的关联关系,可以基于聚合配置信息确定出相对应的梯度来源信息,即反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示。可以理解的,该梯度来源信息可以指示出计算图神经网络的梯度所需的相应数据的获取来源(例如:当前要计算某一网络层的梯度时,从其下一层网络层传递过来的传递梯度的获取来源),进而结合该第二算子以及从获取来源所获取的相应数据,可以确定出图神经网络的当前梯度。之后第一设备B将其确定出的当前梯度发送至控制设备A。控制设备A获得各工作设备发送的当前梯度之后,基于各工作设备发送的当前梯度,更新图神经网络的模型参数。
上述过程,用户无需对有向图进行修改,即可实现灵活的设置图神经网络训练所依赖的边方向和参与对象,结合不同的边方向实现对有向图相应的图神经网络的灵活训练。并且由于用户无需对有向图进行修改,即可实现结合不同的边方向对图神经网络的灵活训练,在一定程度上可以节约图学习系统的数据存储空间(即无需存储现有技术中对有向图的额外的修改数据),并且节约有向图的处理成本。
下面结合具体实施例,对本说明书提供的有向图对应的图神经网络的训练方法进行详细阐述。
图3示出了本说明书一个实施例中有向图对应的图神经网络的训练方法的流程图。该方法可以通过控制设备和若干工作设备实现,其中,该控制设备和若干工作设备均可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。所述方法包括如下步骤S310- S360:
首先,在步骤S310,控制设备A获得用户针对第一算子设置的聚合配置信息。其中,第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,聚合配置信息包括,节点表征聚合涉及的参与对象,和依赖的第一边方向。
一种实现中,控制设备A和若干工作设备B均部署于图学习系统(又称图神经网络系统),该图学习系统基于分布式图学习框架,为用户提供训练图神经网络的功能。控制设备A可以为用户提供可以针对第一算子进行节点表征聚合所需要数据的设置界面,即前述的信息配置界面,用户可以通过该信息配置界面,输入针对第一算子的聚合配置信息,相应的,控制设备A获得用户针对第一算子设置的聚合配置信息。
在一种情况中,图学习系统可以支持多种格式的聚合配置信息的设置,例如:聚合配置信息可以为json格式,例如聚合配置信息可以表示为{input:[ EDGE, OTHER],direction : OUT},其中,input表示第一算子进行节点表征聚合涉及的参与对象,例如设置成上述的[ EDGE, OTHER],表示节点表征聚合涉及的参与对象包括:被聚合的节点的边和邻居节点,direction表示第一算子进行节点表征聚合依赖的第一边方向,例如设置成上述OUT,表示第一边方向为有向图的出边方向。上述聚合配置信息中节点表征聚合涉及的参与对象和依赖的第一边方向,可以联合表示为,进行节点表征聚合需要利用被聚合的节点的出边和其出边方向上的邻居节点。又例如:图学习系统可以提供类似的代码接口,相应的,聚合配置信息可以表示为add_function(name, input, direction),其中,name表示第一算子的名称,input表示第一算子进行节点表征聚合涉及的参与对象,direction表示第一算子进行节点表征聚合依赖的第一边方向。一种实现中,有向图对应的图神经网络可以是任意类型的图神经网络,例如GCN、GTA等。相应的,第一算子可以任意类型的图神经网络中的在正向推理计算中用于进行节点表征聚合的算子。
一个实施例中,节点表征聚合依赖的第一边方向选自以下之一:所训练图神经网络所对应有向图的入边方向、出边方向,以及所有边方向。在第一边方向为所有边方向的情况下,可以实现对有向图中无向对称消息的传递,即将有向图作为无向图训练其对应的图神经网络。
一个实施例中,单个参与对象选自以下之一:被聚合的节点自身、其对应的边,以及邻居节点;相应的,节点表征聚合涉及的参与对象包括如下组合之一:节点对应的边;节点对应的邻居节点;节点对应的边和邻居节点的组合;节点自身及其对应的边的组合;节点自身及其对应的邻居节点的组合;节点自身及其对应的边和邻居节点的组合。
通过上述实施例,可以理解的,节点表征聚合依赖的第一边方向存在3种选择,节点表征聚合涉及的参与对象的所有可能的组合存在6种,相应的,聚合配置信息具体可以包括18(3x6)种可能。
后续的,在步骤S310控制设备A获得聚合配置信息之后,在步骤S320,控制设备A将聚合配置信息提供给若干工作设备。其中,该若干工作设备均可以执行第一算子及第一算子对应的第二算子。一种实现中,控制设备A可以通过广播的方式,将聚合配置信息提供给若干工作设备。另一种实现中,控制设备A可以预先存储有可以分布式联合训练该有向图所对应图神经网络的若干工作设备的地址信息,相应的,控制设备可以基于该若干工作设备的地址信息,将聚合配置信息发送至各工作设备B。
接着,在步骤S330,若干工作设备中任意的第一设备,针对有向图中本方持有的局部图中的当前节点,基于聚合配置信息,利用第一算子对该当前节点进行表征聚合。本步骤中,第一设备B在获得该聚合配置信息之后,将该聚合配置信息存储于本地,其中,可以以数组形式存储聚合配置信息中节点表征聚合涉及的参与对象,以枚举值的形式存储第一边方向。
可以理解的是,为了保证若干工作设备的图神经网络的训练过程的有效执行,第一设备B在获得聚合配置信息之后,可以首先从目标数据源加载其对应的该有向图的局部图。进而,从该局部图的多个节点中,确定出当前节点。在一个实施例中,为了保证各工作设备可以有序的获取其对应的有向图的局部图,在第一设备加载其局部图之前,控制设备A还可以设置为,对有向图进行分区,得到分区结果,然后将分区结果提供给各工作设备,其中,分区结果包括:各工作设备对应的有向图的局部图。相应的,各工作设备可以根据该分区结果,从目标数据源获得其本方所需获得的有向图的局部图。其中,该若干工作设备对应的局部图可以组成该有向图。
可以理解的,该所训练的有向图对应的图神经网络可以是,针对有向图执行目标预测业务的图神经网络。其中,该目标预测业务可以包括但不限于识别风险用户、预测用户购买某商品的概率、预测广告投放类型等。
相应的,有向图可以包括多个节点,其中可能存在部分节点标注有与目标预测业务相关的标签数据,部分节点未标注与目标预测业务相关的标签数据,在训练图神经网络时,需要利用该类具有标签数据的节点进行训练。相应的,第一设备B可以将其持有的局部图中的多个节点中,具有与目标预测业务相关的标签数据的节点作为当前节点,继而针对该当前节点,基于聚合配置信息,利用第一算子对该当前节点进行表征聚合。
其中,在第一设备B持有的局部图中,可能存在一个或多个当前节点,在存在多个当前节点的情况下,第一设备B可以并行或串行的基于聚合配置信息,利用第一算子对各当前节点进行表征聚合。
一种实现中,为了保证第一设备后续流程的顺利执行,第一设备在加载完其对应的局部图之后,可以基于其局部图以及第一边方向,生成该局部图中各节点对应的第一边索引,第一边索引指向所对应节点在第一边方向上的邻居节点。该第一边索引可以辅助寻找当前节点的、第一边方向的连接边以及该第一边方向上的邻居节点。
在一个实施例中,为了保证图神经网络的业务预测结果的准确性,需要保证节点的聚合表征的准确性和全面性,一般会利用节点的多跳邻居节点和/或对应的边,联合确定节点的表征,相应的,图神经网络可以包括多个聚合网络层,用于节点表征聚合,该第一算子至少适用于该图神经网络的第l+1聚合网络层的聚合;相应的,在步骤S330,可以具体设置为如下步骤11:
在步骤11,第一设备B获取当前节点对应的当前参与对象在第l聚合网络层的当前表征;利用第一算子对当前表征进行表征聚合,得到该当前节点在第l+1聚合网络层的聚合表征。
可以理解的,图神经网络的多个聚合网络层可以对应于同一个第一算子,也可以对应于不同算子。也可以理解为图神经网络的每一聚合网络层对应一算子,不同聚合网络层对应的算子可以相同也可以不同,并且,不同算子对应的聚合配置信息可以相同也可以不同。例如第l+1聚合网络层对应第一算子,针对第一算子设置的聚合配置信息包括的节点表征聚合涉及的参与对象为:被聚合的节点的邻居节点和连接边,且节点表征聚合依赖的第一边方向为:出边方向;第l聚合网络层对应其他算子(图神经网络在正向推理计算中用于进行节点表征聚合的算子),针对其他算子设置的聚合配置信息包括的节点表征聚合涉及的参与对象可以为:被聚合的节点自身、被聚合的节点的邻居节点和连接边,且节点表征聚合依赖的第一边方向为可以:入边方向等。
在一种实现中,第一设备B在第l+1聚合网络层中,可以基于利用该第一算子的聚合配置信息所确定的第一边索引和节点表征聚合涉及的参与对象,获取当前节点在第l+1聚合网络层对应的当前参与对象在第l聚合网络层的当前表征。可以理解的,第一边索引指向所对应节点在第一边方向上的邻居节点,在当前节点确定之后,通过该第一边索引,可以确定当前节点的第一边方向的连接边,以及该第一边方向上的邻居节点,即确定出至少一组三元组,各三元组由当前节点,当前节点对应的一条第一边方向的连接边以及该边连接的邻居节点(相对于当前节点而言)组成。继而针对每一组三元组,基于该聚合配置信息包括的节点表征聚合涉及的参与对象,从该三元组中确定出当前节点在第l+1聚合网络层对应的当前参与对象,即参与当前节点的节点表征聚合的当前参与对象,获取得到当前参与对象在第l聚合网络层的当前表征。将当前参与对象的当前表征输入第一算子(即第l+1聚合网络层所对应的第一算子),利用该第一算子对当前表征进行表征聚合,得到该当前节点在第l+1聚合网络层的聚合表征。
其中,可以理解的,聚合网络层与第一算子存在对应关系,而第一算子与聚合配置信息存在对应关系,相应的,聚合网络层与聚合配置信息存在对应关系。并且后续的第一算子与第二算子存在对应关系,相应的,聚合网络层与第二算子存在对应关系,且,第二算子与聚合配置信息存在对应关系。
举例而言,假定第l+1聚合网络层对应的聚合配置信息中设置的参与对象为边和邻居节点,第一边方向为出边方向。如图2所示,假定i节点为当前节点,则基于第一边索引,针对i节点,确定出至少一组三元组,其中,一组三元组为:(i节点(当前节点),e边(出边),j节点(邻居节点))。基于第l+1聚合网络层对应的聚合配置信息中设置的参与对象,从该三元组中确定出当前节点对应的当前参与对象包括e边和j节点,在第l+1聚合网络层中,利用其对应的第一算子,对当前节点对应的当前参与对象即e边在第l聚合网络层的当前表征和j节点在第l聚合网络层的当前表征,进行表征聚合,得到i节点在第l+1聚合网络层的聚合表征。具体的,可以通过如下公式表示:
其中,表示i节点在第l+1聚合网络层的聚合表征,表示e边在第l聚合网络层的当前表征,表示j节点在第l聚合网络层的当前表征,表示第l+1聚合网络层的参数,表示适用于第l+1聚合网络层的第一算子。N表示当前节点i节点的为第一边方向的边所连接的所有邻居节点的总个数。
可以理解的,第1聚合网络层中,基于第1聚合网络层所对应聚合配置信息获取的当前节点的各当前参与对象在第0聚合网络层的表征,是基于各当前参与对象的属性特征确定的,各当前参与对应的属性特征可从局部图中获取。
在第l+1聚合网络层中,在得到该当前节点在第l+1聚合网络层的聚合表征之后,还会针对各当前参与对象,获取该当前参与对象对应的参与对象在第l聚合网络层的当前表征,利用该第一算子对该当前参与对象对应的参与对象在第l聚合网络层的当前表征,进行表征聚合,得到各当前参与对象在第l+1聚合网络层的聚合的表征。以此类推,当前节点在第l+1聚合网络层的聚合表征,可以聚合有当前节点的l跳邻居节点和/或第一边方向的连接边的表征。其中,该当前参与对象对应的参与对象的确定方式,与当前节点对应的当前参与对象的方式相同,在此不做赘述。
之后,第一设备B基于多个聚合网络层,对该当前节点迭代执行各聚合网络层对应的用于表征聚合的算子之后,可以得到该当前节点对应的最后一层聚合网络层的输出,即该当前节点的最终聚合表征(即对当前节点进行表征聚合的聚合结果)。接着,第一设备B可以基于该聚合结果,确定该当前节点对应的预测损失。具体的,第一设备B可以将该当前节点的聚合结果,输入图神经网络的用于确定预测结果的分类网络层,得到针对当前节点的预测结果,基于当前节点的预测结果和标签数据,计算当前节点对应的预测损失。后续的,该预测损失可以用于反向梯度计算过程中,图神经网络的模型参数的梯度的计算。
在一种实现中,在图神经网络的反向梯度计算过程中,控制设备A可以基于至少一个节点对应的预测损失,确定出图神经网络的最后一层分类网络层(即图神经网络的输出层)的梯度(可以称为初始梯度),进而控制设备A将该初始梯度发送至工作设备B,各工作设备B中的任意的第一设备B,利用该初始梯度,层层递推,反向计算图神经网络的每一层网络层(包括分类网络层和聚合网络层)的梯度,其中,第T层网络层的梯度的计算,需要利用到第T+1层网络层已计算得到的梯度(也可以称为传递梯度)。
考虑到在正向推理计算过程中各聚合网络层对应的聚合配置信息(即节点表征聚合所涉及的参与对象和所依赖的第一边方向),影响在反向梯度计算过程中各聚合网络层的梯度的获取来源。相应的,为了保证反向梯度计算的有序进行,第一设备B获得针对第一算子的聚合配置信息之后,需要基于聚合配置信息确定相应的梯度来源信息(例如基于针对第一算子设置的聚合配置信息,确定第l+1聚合网络层的梯度来源信息),即反向梯度计算中梯度的传递信息,其中梯度来源信息包括,聚合网络层(例如第l+1聚合网络层)在反向梯度计算中所依赖的第二边方向和梯度传递来源对象的指示。
在确定出梯度来源信息之后,在步骤S340,第一设备B基于与第一算子对应的用于进行反向梯度计算的第二算子,以及根据聚合配置信息确定的梯度来源信息,确定图神经网络的当前梯度。
在一种实现方式中,确定梯度来源信息的过程,可以是:基于聚合配置信息以及预设的映射关系,确定梯度来源信息,映射关系包括各种可能的聚合配置信息与各种可能的梯度来源信息之间的对应关系。
其中,在各聚合网络层对应的聚合配置信息不同的情况下,可以基于各聚合网络层对应的聚合配置信息以及预设的映射关系,确定各聚合网络层对应的梯度来源信息。在各聚合网络层对应的聚合配置信息相同的情况下,基于聚合配置信息以及预设的映射关系,可以确定出各聚合网络层对应的梯度来源信息。
一种实现方式中,考虑到聚合配置信息具体可存在18种可能的配置方案,并且为了在一定程度上提高图神经网络训练的速度,图学习系统可以预先存储有预设的映射关系,其中包括各种可能的聚合配置信息与各种可能的梯度来源信息之间的对应关系。该对应关系可以以任一形式存储于图学习系统中。一种情况,可以将该映射关系以表格的形式存储,其截图如图4所示。
图4中,“前向传播”可以指正向推理计算过程,“前向传播”对应的“输入位置”可表示节点表征聚合涉及的参与对象,“前向传播”对应的“边方向”可表示节点表征聚合依赖的第一边方向。图4中“反向传播”表示反向梯度计算过程,“反向传播”对应的“起点梯度来源”、“边梯度来源”以及“终点梯度来源”可表示反向梯度计算所依赖的梯度传递来源对象的指示,“反向传播”对应的“边方向”可表示反向梯度计算所依赖的第二边方向。
可以理解的是,在反向梯度计算中,需要对进行节点表征聚合所涉及的参与对象以及图神经网络的模型参数求梯度。以当前节点为例说明,需要对当前节点对应的当前参与对象以及图神经网络的模型参数求梯度。
其中,图4中终点梯度来源指,要计算梯度的节点为基于第二边方向所确定的三元组(该要计算梯度的节点,该节点对应的为第二边方向的一条边及该边连接的邻居节点)中的终点时,其梯度传递来源对象的指示。举例而言,第一算子的聚合配置信息包括进行节点表征聚合所涉及的参与对象包括边和邻居节点(相对于被聚合的节点而言),所依赖的第一边方向为出边方向,即对应图4中的第13行,对于图2中的j节点,其基于第二边方向(如图中的入边方向)所确定的三元组,其中,所确定的三元组可以分别为(j节点,e边,i节点),(j节点,j节点与F节点之间的边,F节点)。以(j节点,e边,i节点)为例说明,j节点作为该三元组中的终点,则查找图4中终点梯度来源,其中第13行中终点梯度来源为“OTHER”,则表示j节点的梯度传递来源对象为j节点的邻居节点即i节点。在(j节点,e边,i节点)该三元组中,i节点为正向推理计算过程中的被聚合的节点,而j节点和e边为其进行表征聚合涉及的参与对象。
同理的,起点梯度来源可表示,要计算梯度的节点为基于第二边方向所确定的三元组中的起点时,其梯度传递来源对象的指示。
图4中“输入位置”处的“OTHER”表示被聚合的节点的邻居节点,“SELF”表示被聚合的节点自身,“EDGE”表示被聚合的节点的边,“前向传播”中边方向为“OUT”表示第一边方向为出边方向,为“IN”表示第一边方向为入边方向,为“ALL”表示第一边方向为所有边方向。
图4中“反向传播”中,终点梯度来源和起点梯度来源处的“OTHER”表示当前需要计算梯度的节点,其梯度传递来源对象为其第二边方向上的邻居节点,即从其第二边方向所指示的邻居节点处获取其传递梯度。终点梯度来源和起点梯度来源处的“SELF”表示当前需要计算梯度的节点,其梯度传递来源对象为其自身,即从其自身处获取其传递梯度。“反向传播”中终点梯度来源和起点梯度来源中“NONE”表示当前需要计算梯度的节点,其梯度传递来源对象为空,即不针对其计算梯度。起点梯度来源和终点梯度来源的“SELF+OTHER”表示其梯度传递来源对象分别为其自身和其邻居节点。
图4中,边梯度来源的“SELF+OTHER”表示其梯度传递来源对象分别为其连接的两个节点。在第一边方向为出边方向时,边梯度来源为“SELF ”或者“OTHER”均表示其梯度传递来源对象为其箭尾连接的节点(即边所在三元组中为起点的节点);在第一边方向为入边方向时,边梯度来源为“SELF”或者“OTHER”均表示其梯度传递来源对象为其箭头连接的节点(即边所在三元组中为终点的节点)。承接上述例子,在三元组(j节点,e边,i节点)中,基于图4中第13行可知(边梯度来源为OTHER),e边的梯度传递来源对象为i节点(e边的箭尾连接的节点)。
可以理解的,在同一三元组中,各进行节点表征聚合的参与对象的梯度传递来源对象相同,均指向该三元组中的在正向推理过程中被聚合的节点。
在正向推理计算过程中,在各聚合网络层,需要对节点进行表征聚合,例如在第l+1聚合网络层,需要利用被聚合的节点所对应参与对象在第l聚合网络层中的表征,进行表征聚合,以获得在被聚合的节点在第l+1聚合网络层的聚合表征。相应的,在反向梯度计算过程中,第l聚合网络层中模型参数的梯度的计算,至少与该层(第l+1聚合网络层)中各被聚合的节点对应的参与对象有关。并且,在反向梯度计算过程中,梯度从图神经网络的最后一层网络层,反向层层传递,直至传递到图神经网络的第一层网络层,从而确定出图神经网络中各网络层(包括聚合网络层和分类网络层)的模型参数的梯度,进而可以更新图神经网络的模型参数。
鉴于此,在一个实施例中,图神经网络存在多个聚合网络层,用于进行节点表征聚合,具体的,在反向梯度计算过程中,第一设备B确定图神经网络的当前梯度,可以被具体设置为:在步骤21,第一设备B获取当前节点对应的当前参与对象在第l聚合网络层的当前表征。在步骤22,第一设备B基于当前参与对象和梯度来源信息(基于第l+1聚合网络层对应的聚合配置信息确定的),获取当前节点在第l+1聚合网络层的目标传递梯度。在步骤23,第一设备B利用第二算子(与适用于第l+1聚合网络层的第一算子对应),对当前表征及目标传递梯度进行梯度计算,得到该第l聚合网络层的模型参数的梯度。
可以理解的是,对于图神经网络而言,在反向梯度计算过程中,在第l聚合网络层中,其模型参数的梯度的计算,与各被聚合的节点对应的参与对象(即被聚合的节点进行表征聚合所涉及的参与对象)在第l聚合网络层的表征有关,且与各被聚合的节点在第l+1聚合网络层的梯度有关。其中,针对被聚合的节点(例如m节点),图神经网络的第l+1聚合网络层的模型参数的梯度可以通过如下公式表示:
其中,表示该第l聚合网络层的模型参数的梯度,表示图神经网络的当前损失值,至少基于被聚合的节点(m节点,包括当前节点)对应的预测损失确定,表示 m节点在第l+1聚合网络层的聚合表征,表示m节点在l+1聚合网络层的传递梯度(已被计算出,并对应于m节点存储,例如存储于m节点的预设存储空间处),表示第l聚合网络层的模型参数,表示m节点在第l+1聚合网络层的聚合表征针对第l聚合网络层的模型参数的偏导数,可通过m节点对应的参与对象在第l聚合网络层的表征确定(可由正向推理计算中m节点的表征聚合过程推理出)。
相应的,被聚合的节点为当前节点时,可以通过当前节点对应的当前参与对象在第l聚合网络层的当前表征确定,表示当前节点在l+1聚合网络层的目标传递梯度。相应的,第一设备B在获得当前参与对象在第l聚合网络层的当前表征,以及当前节点在l+1聚合网络层的目标传递梯度之后,将该当前表征和该目标传递梯度,输入第二算子(与适用于第l+1聚合网络层的第一算子对应),以进行梯度计算,得到该第l聚合网络层的模型参数的梯度。
在一个实施例中,为了保证图神经网络中反向梯度计算过程中梯度的传递,即第l-1聚合网络层的模型参数的梯度的计算,第一设备B还需要确定各当前参与对象的梯度,相应的,所述方法还包括:
第一设备B分别将各当前参与对象作为目标对象,利用第二算子,对目标传递梯度、除目标对象外的其他当前参与对象的当前表征以及该第l聚合网络层的模型参数进行梯度计算,得到该目标对象在第l聚合网络层中的梯度,用于第l-1聚合网络层的梯度计算。
具体的,目标对象在第l聚合网络层中的梯度可以通过如下公式表示:
其中,表示目标对象在第l聚合网络层中的梯度,表示目标对象在第l聚合网络层的当前表征,表示当前节点(i节点)在第l+1聚合网络层的目标传递梯度,表示当前节点在第l+1聚合网络层的聚合表征对目标对象在第l聚合网络层的当前表征的偏导数,可以通过除目标对象外的其他当前参与对象的当前表征以及该第l聚合网络层的模型参数确定得到。
一种情况中,在第l聚合网络层为图神经网络的最后一层聚合网络层,其第l+1聚合网络层为图神经网络的第一层分类层。
在一种实施例中,在第一设备B确定出梯度来源信息之后,为了保证反向梯度计算过程的有序进行,第一设备B若确定第二边方向不同于第一边方向,基于局部图和第二边方向,生成局部图中各节点对应的第二边索引,第二边索引指向所对应节点在第二边方向上的邻居节点。相应的,第一设备B在获取当前节点在第l+1聚合网络层的目标传递梯度的过程中,可以基于当前参与对象、第二边索引和梯度传递来源对象的指示,获取目标传递梯度。
其中,若第一边方向为有向图的出边方向或入边方向,而第二边方向为所有边方向,在基于第一边方向生成第一边索引的情况下,可以仅针对第二边方向中不同于第一边方向的边方向,生成第二边索引。若第一边方向为有向图的所有边方向,则不需要在基于第二边方向生成边索引,在该情况下,第一边索引则包括有向图的出边对应的出边索引和入边对应的入边索引,其中,出边索引可以通过CSR(Compressed Sparse Row,压缩稀疏行)的方式表示,入边索引可以通过CSC(Compressed Sparse Column,压缩稀疏列)的方式表示。
一种实现方式中,第一设备B还可以在获得聚合配置信息,并基于聚合配置信息确定出梯度来源信息之后,直接结合第一边方向、第二边方向以及局部图,同时生成第一边索引和第二边索引。
接着,第一设备B确定出当前梯度之后,在步骤S350,第一设备B将当前梯度发送至控制设备A。
之后,在步骤S360,控制设备A基于各工作设备发送的当前梯度,更新图神经网络的模型参数。控制设备A获得各工作设备B发送的当前梯度之后,可以整合各当前梯度,例如整合出图神经网络的各网络层(包括各聚合网络层和分类层)对应的各当前梯度,利用各网络层对应的各当前梯度,更新图神经网络的各网络层的模型参数,直至图神经网络达到预设收敛条件,即认为图神经网络训练完成。
可以理解的是,各当前参与对象可能不仅参与了该第一设备的该当前节点的表征聚合,还可能参与了其他工作设备的节点的表征聚合,相应的,为了保证图神经网络的训练效果,第一设备B确定出当前节点对应的各当前参与对象的梯度,可以将各当前参与对象的梯度发送至控制设备A。控制设备获得各工作设备B发送的各当前参与对象的梯度之后,对各当前参与对象的梯度进行整合,以确定出各当前参与对象的所有梯度,进而,分别针对各当前参与对象,利用该当前参与对象的所有梯度,确定该当前参与对象的最终梯度,以便于进行图神经网络的后续训练。例如,得到某一当前参与对象在第l聚合网络层中的梯度,以用于第l聚合网络层的梯度计算。
在一种实现中,在正向推理计算过程和/或反向梯度计算过程中,若需要遍历所有边方向即第一边方向和/或第二边方向为所有边方向的情况下,若第一设备中存在多个线程并行执行上述流程,则可能存在一条边被多个线程同时访问的情况,例如:在反向梯度计算过程,可能同时存在两个线程针对同一条边求梯度,两个线程同时访问一条边会导致该两个线程不安全,对于该问题,一种解决方法是对边加锁,即一个线程在访问边的期间,其他线程不能访问该边(即从该边获得信息),这种方法会降低性能。另一种解决方法是,指定一个线程执行对该边梯度的计算,即另一个线程将其针对该边计算梯度所利用的方法和数据,传输给该指定线程,由该指定线程完成其自身对该边的梯度的计算,以及另一个线程对该边的梯度的计算,例如,在该两个线程分别为该边的起点和终点的线程时,该指定线程为起点对应的线程,也可以为终点对应的线程。
本实施例,用户无需对有向图进行修改,即可实现灵活的设置图神经网络训练所依赖的边方向和参与对象,结合不同的边方向实现对有向图相应的图神经网络的灵活训练。并且由于用户无需对有向图进行修改,即可实现结合不同的边方向对图神经网络的灵活训练,在一定程度上可以节约图学习系统的数据存储空间(即无需存储现有技术中对有向图的额外的修改数据),并且节约有向图的处理成本。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
相应于上述方法实施例,本说明书实施例,提供了一种有向图对应的图神经网络的训练方法,通过若干工作设备中的第一设备执行,如图5所示,包括:
S510:从控制设备接收用户针对第一算子设置的聚合配置信息;所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
S520:针对所述有向图中本方持有的局部图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
S530:基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
S540:将所述当前梯度发送给所述控制设备,使其更新所述图神经网络的模型参数。
其中,若干工作设备的局部图组成该有向图。
在一种可实施方式中,所述节点表征聚合依赖的第一边方向选自以下之一:所述有向图的入边方向、出边方向,以及所有边方向。
在一种可实施方式中,单个参与对象选自以下之一:被聚合的节点自身、其对应的边,以及邻居节点;
所述节点表征聚合涉及的参与对象包括如下组合之一:节点对应的边;节点对应的邻居节点;节点对应的边和邻居节点的组合;节点自身及其对应的边的组合;节点自身及其对应的邻居节点的组合;节点自身及其对应的边和邻居节点的组合。
在一种可实施方式中,还包括:
基于对所述当前节点进行表征聚合的聚合结果,确定该当前节点对应的预测损失;所述当前梯度还基于所述预测损失而确定。
在一种可实施方式中,所述第一算子至少适用于所述图神经网络的第l+1聚合网络层的聚合;
所述利用所述第一算子对该当前节点进行表征聚合,包括:
获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
利用所述第一算子对所述当前表征进行表征聚合,得到该当前节点在第l+1聚合网络层的聚合表征。
在一种可实施方式中,在所述确定所述图神经网络的当前梯度之前,还包括:
基于所述聚合配置信息以及预设的映射关系,确定所述梯度来源信息,所述映射关系包括各种可能的聚合配置信息与各种可能的梯度来源信息之间的对应关系。
在一种可实施方式中,所述确定所述图神经网络的当前梯度,包括:
获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
基于所述当前参与对象和所述梯度来源信息,获取所述当前节点在第l+聚合网络层的目标传递梯度;
利用所述第二算子,对所述当前表征及所述目标传递梯度进行梯度计算,得到该第l聚合网络层的模型参数的梯度。
在一种可实施方式中,还包括:
分别将各当前参与对象作为目标对象,利用所述第二算子,对所述目标传递梯度、除所述目标对象外的其他当前参与对象的当前表征以及该第l聚合网络层的模型参数进行梯度计算,得到该目标对象在第l聚合网络层中的梯度,用于第l-1聚合网络层的梯度计算。
在一种可实施方式中,还包括:
从目标数据源加载所述局部图;基于所述局部图和所述第一边方向,生成所述局部图中各节点对应的第一边索引,所述第一边索引指向所对应节点在所述第一边方向上的邻居节点;
所述获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征,包括:
基于所述第一边索引和所述节点表征聚合涉及的参与对象,获取所述当前参与对象在第l聚合网络层的当前表征。
在一种可实施方式中,还包括:
若确定所述第二边方向不同于所述第一边方向,基于所述局部图和所述第二边方向,生成所述局部图中各节点对应的第二边索引,所述第二边索引指向所对应节点在所述第二边方向上的邻居节点;
所述获取所述当前节点在第l+1聚合网络层的目标传递梯度,包括:
基于所述当前参与对象、所述第二边索引和梯度传递来源对象的指示,获取所述目标传递梯度。
在一种可实施方式中, 所述从目标数据源加载所述局部图,包括:
从所述目标数据源,基于控制设备发送的分区结果加载所述局部图,所述分区结果是所述控制设备对所述有向图进行分区得到的,其中包括:各工作设备对应的所述有向图的局部图。
相应于上述方法实施例,本说明书实施例,提供了一种有向图对应的图神经网络的训练方法,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。如图6所示,包括:
S610:获得用户针对第一算子设置的聚合配置信息,所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
S620:针对所述有向图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
S630:基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
S640:基于所述当前梯度,更新所述图神经网络的模型参数。
在一种可实施方式中,所述节点表征聚合依赖的第一边方向选自以下之一:所述有向图的入边方向、出边方向,以及所有边方向。
在一种可实施方式中,单个参与对象选自以下之一:被聚合的节点自身、其对应的边,以及邻居节点;
所述节点表征聚合涉及的参与对象包括如下组合之一:节点对应的边;节点对应的邻居节点;节点对应的边和邻居节点的组合;节点自身及其对应的边的组合;节点自身及其对应的邻居节点的组合;节点自身及其对应的边和邻居节点的组合。
在一种可实施方式中,还包括:
基于对所述当前节点进行表征聚合的聚合结果,确定该当前节点对应的预测损失;所述当前梯度还基于所述预测损失而确定。
在一种可实施方式中,所述第一算子至少适用于所述图神经网络的第l+1聚合网络层的聚合;
所述利用所述第一算子对该当前节点进行表征聚合,包括:
获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
利用所述第一算子对所述当前表征进行表征聚合,得到该当前节点在第l+1聚合网络层的聚合表征。
在一种可实施方式中,在所述确定所述图神经网络的当前梯度之前,还包括:
基于所述聚合配置信息以及预设的映射关系,确定所述梯度来源信息,所述映射关系包括各种可能的聚合配置信息与各种可能的梯度来源信息之间的对应关系。
在一种可实施方式中,所述确定所述图神经网络的当前梯度,包括:
获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
基于所述当前参与对象和所述梯度来源信息,获取所述当前节点在第l+1聚合网络层的目标传递梯度;
利用所述第二算子,对所述当前表征及所述目标传递梯度进行梯度计算,得到该第l聚合网络层的模型参数的梯度。
在一种可实施方式中,还包括:
分别将各当前参与对象作为目标对象,利用所述第二算子,对所述目标传递梯度、除所述目标对象外的其他当前参与对象的当前表征以及该第l聚合网络层的模型参数进行梯度计算,得到该目标对象在第l聚合网络层中的梯度,用于第l-1聚合网络层的梯度计算。
在一种可实施方式中,还包括:
从目标数据源加载所述有向图;基于所述有向图和所述第一边方向,生成所述有向图中各节点对应的第一边索引,所述第一边索引指向所对应节点在所述第一边方向上的邻居节点;
所述获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征,包括:
基于所述第一边索引和所述节点表征聚合涉及的参与对象,获取所述当前参与对象在第l聚合网络层的当前表征。
在一种可实施方式中,还包括:
若确定所述第二边方向不同于所述第一边方向,基于所述有向图和所述第二边方向,生成所述有向图中各节点对应的第二边索引,所述第二边索引指向所对应节点在所述第二边方向上的邻居节点;
所述获取所述当前节点在第l+1聚合网络层的目标传递梯度,包括:
基于所述当前参与对象、所述第二边索引和梯度传递来源对象的指示,获取所述目标传递梯度。
相应于上述方法实施例,本说明书实施例,提供了一种有向图对应的图神经网络的训练装置700,其示意性框图如图7所示,部署于若干工作设备中的第一设备,包括:
接收模块710,配置为从控制设备接收用户针对第一算子设置的聚合配置信息;所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
第一聚合模块720,配置为针对所述有向图中本方持有的局部图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
第一确定模块730,配置为基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
第一发送模块740,配置为将所述当前梯度发送给所述控制设备,使其更新所述图神经网络的模型参数。
在一种可实施方式中,所述节点表征聚合依赖的第一边方向选自以下之一:所述有向图的入边方向、出边方向,以及所有边方向。
在一种可实施方式中,单个参与对象选自以下之一:被聚合的节点自身、其对应的边,以及邻居节点;
所述节点表征聚合涉及的参与对象包括如下组合之一:节点对应的边;节点对应的邻居节点;节点对应的边和邻居节点的组合;节点自身及其对应的边的组合;节点自身及其对应的邻居节点的组合;节点自身及其对应的边和邻居节点的组合。
在一种可实施方式中,还包括:
第三确定模块(图中未示出),配置为基于对所述当前节点进行表征聚合的聚合结果,确定该当前节点对应的预测损失;所述当前梯度还基于所述预测损失而确定。
在一种可实施方式中,所述第一算子至少适用于所述图神经网络的第l+1聚合网络层的聚合;所述第一聚合模块720,具体配置为获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
利用所述第一算子对所述当前表征进行表征聚合,得到该当前节点在第l+1聚合网络层的聚合表征。
在一种可实施方式中,还包括:
第四确定模块(图中未示出),配置为在所述确定所述图神经网络的当前梯度之前,基于所述聚合配置信息以及预设的映射关系,确定所述梯度来源信息,所述映射关系包括各种可能的聚合配置信息与各种可能的梯度来源信息之间的对应关系。
在一种可实施方式中,所述第一确定模块730,具体配置为获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
基于所述当前参与对象和所述梯度来源信息,获取所述当前节点在第l+1聚合网络层的目标传递梯度;
利用所述第二算子,对所述当前表征及所述目标传递梯度进行梯度计算,得到该第l聚合网络层的模型参数的梯度。
在一种可实施方式中,还包括:
第一梯度计算模块(图中未示出),配置为分别将各当前参与对象作为目标对象,利用所述第二算子,对所述目标传递梯度、除所述目标对象外的其他当前参与对象的当前表征以及该第l聚合网络层的模型参数进行梯度计算,得到该目标对象在第l聚合网络层中的梯度,用于第l-1聚合网络层的梯度计算。
在一种可实施方式中,还包括:
第一加载生成模块(图中未示出),配置为从目标数据源加载所述局部图;基于所述局部图和所述第一边方向,生成所述局部图中各节点对应的第一边索引,所述第一边索引指向所对应节点在所述第一边方向上的邻居节点;
所述第一聚合模块720,具体配置为基于所述第一边索引和所述节点表征聚合涉及的参与对象,获取所述当前参与对象在第l聚合网络层的当前表征。
在一种可实施方式中,还包括:
第一生成模块(图中未示出),配置为若确定所述第二边方向不同于所述第一边方向,基于所述局部图和所述第二边方向,生成所述局部图中各节点对应的第二边索引,所述第二边索引指向所对应节点在所述第二边方向上的邻居节点;
所述第一确定模块730,具体配置为基于所述当前参与对象、所述第二边索引和梯度传递来源对象的指示,获取所述目标传递梯度。
在一种可实施方式中, 所述第一加载生成模块,具体配置为从所述目标数据源,基于控制设备发送的分区结果加载所述局部图,所述分区结果是所述控制设备对所述有向图进行分区得到的,其中包括:各工作设备对应的所述有向图的局部图。
相应于上述方法实施例,本说明书实施例,提供了一种有向图对应的图神经网络的训练装置800,其示意性框图如图8所示,包括:
获得模块810,配置为获得用户针对第一算子设置的聚合配置信息,所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
第二聚合模块820,配置为针对所述有向图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
第二确定模块830,配置为基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
更新模块840,配置为基于所述当前梯度,更新所述图神经网络的模型参数。
在一种可实施方式中,所述节点表征聚合依赖的第一边方向选自以下之一:所述有向图的入边方向、出边方向,以及所有边方向。
在一种可实施方式中,单个参与对象选自以下之一:被聚合的节点自身、其对应的边,以及邻居节点;
所述节点表征聚合涉及的参与对象包括如下组合之一:节点对应的边;节点对应的邻居节点;节点对应的边和邻居节点的组合;节点自身及其对应的边的组合;节点自身及其对应的邻居节点的组合;节点自身及其对应的边和邻居节点的组合。
在一种可实施方式中,还包括:
第五确定模块(图中未示出),配置为基于对所述当前节点进行表征聚合的聚合结果,确定该当前节点对应的预测损失;所述当前梯度还基于所述预测损失而确定。
在一种可实施方式中,所述第一算子至少适用于所述图神经网络的第l+1聚合网络层的聚合;所述第二聚合模块820,具体配置为获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;利用所述第一算子对所述当前表征进行表征聚合,得到该当前节点在第l+1聚合网络层的聚合表征。
在一种可实施方式中,还包括:
第六确定模块(图中未示出),配置为在所述确定所述图神经网络的当前梯度之前,基于所述聚合配置信息以及预设的映射关系,确定所述梯度来源信息,所述映射关系包括各种可能的聚合配置信息与各种可能的梯度来源信息之间的对应关系。
在一种可实施方式中,所述第二确定模块830,具体配置为获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
基于所述当前参与对象和所述梯度来源信息,获取所述当前节点在第l+1聚合网络层的目标传递梯度;
利用所述第二算子,对所述当前表征及所述目标传递梯度进行梯度计算,得到该第l聚合网络层的模型参数的梯度。
在一种可实施方式中,还包括:
第二梯度计算模块(图中未示出),配置为分别将各当前参与对象作为目标对象,利用所述第二算子,对所述目标传递梯度、除所述目标对象外的其他当前参与对象的当前表征以及该第l聚合网络层的模型参数进行梯度计算,得到该目标对象在第l聚合网络层中的梯度,用于第l-1聚合网络层的梯度计算。
在一种可实施方式中,还包括:
第二加载生成模块(图中未示出),配置为从目标数据源加载所述有向图;基于所述有向图和所述第一边方向,生成所述有向图中各节点对应的第一边索引,所述第一边索引指向所对应节点在所述第一边方向上的邻居节点;
所述第二确定模块830,具体配置为基于所述第一边索引和所述节点表征聚合涉及的参与对象,获取所述当前参与对象在第l聚合网络层的当前表征。
在一种可实施方式中,还包括:
第二生成模块(图中未示出),配置为若确定所述第二边方向不同于所述第一边方向,基于所述有向图和所述第二边方向,生成所述有向图中各节点对应的第二边索引,所述第二边索引指向所对应节点在所述第二边方向上的邻居节点;
所述第二确定模块830,具体配置为基于所述当前参与对象、所述第二边索引和梯度传递来源对象的指示,获取所述目标传递梯度。
上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书所提供的所述有向图对应的图神经网络的训练方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书所提供的所述有向图对应的图神经网络的训练方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (16)
1.一种有向图对应的图神经网络的训练方法,包括:
控制设备获得用户针对第一算子设置的聚合配置信息,将其提供给若干工作设备;所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
所述若干工作设备中任意的第一设备,针对所述有向图中本方持有的局部图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;并基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,将其发送至控制设备,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
控制设备基于各工作设备发送的当前梯度,更新所述图神经网络的模型参数。
2.如权利要求1所述的方法,其中,所述节点表征聚合依赖的第一边方向选自以下之一:所述有向图的入边方向、出边方向,以及所有边方向。
3.如权利要求1所述的方法,其中,单个参与对象选自以下之一:被聚合的节点自身、其对应的边,以及邻居节点;
所述节点表征聚合涉及的参与对象包括如下组合之一:节点对应的边;节点对应的邻居节点;节点对应的边和邻居节点的组合;节点自身及其对应的边的组合;节点自身及其对应的邻居节点的组合;节点自身及其对应的边和邻居节点的组合。
4.如权利要求1所述的方法,还包括:
所述第一设备基于对所述当前节点进行表征聚合的聚合结果,确定该当前节点对应的预测损失;所述当前梯度还基于所述预测损失而确定。
5.如权利要求1所述的方法,其中,所述第一算子至少适用于所述图神经网络的第l+1聚合网络层的聚合;
所述利用所述第一算子对该当前节点进行表征聚合,包括:
获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
利用所述第一算子对所述当前表征进行表征聚合,得到该当前节点在第l+1聚合网络层的聚合表征。
6.如权利要求1所述的方法,在所述确定所述图神经网络的当前梯度之前,还包括:
基于所述聚合配置信息以及预设的映射关系,确定所述梯度来源信息,所述映射关系包括各种可能的聚合配置信息与各种可能的梯度来源信息之间的对应关系。
7.如权利要求5所述的方法,其中,所述确定所述图神经网络的当前梯度,包括:
获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征;
基于所述当前参与对象和所述梯度来源信息,获取所述当前节点在第l+1聚合网络层的目标传递梯度;
利用所述第二算子,对所述当前表征及所述目标传递梯度进行梯度计算,得到该第l聚合网络层的模型参数的梯度。
8.如权利要求7所述的方法,还包括:
所述第一设备分别将各当前参与对象作为目标对象,利用所述第二算子,对所述目标传递梯度、除所述目标对象外的其他当前参与对象的当前表征以及该第l聚合网络层的模型参数进行梯度计算,得到该目标对象在第l聚合网络层中的梯度,用于第l-1聚合网络层的梯度计算。
9.如权利要求5所述的方法,还包括:
所述第一设备从目标数据源加载所述局部图;基于所述局部图和所述第一边方向,生成所述局部图中各节点对应的第一边索引,所述第一边索引指向所对应节点在所述第一边方向上的邻居节点;
所述获取所述当前节点对应的当前参与对象在第l聚合网络层的当前表征,包括:
基于所述第一边索引和所述节点表征聚合涉及的参与对象,获取所述当前参与对象在第l聚合网络层的当前表征。
10.如权利要求7所述的方法,还包括:
若确定所述第二边方向不同于所述第一边方向,基于所述局部图和所述第二边方向,生成所述局部图中各节点对应的第二边索引,所述第二边索引指向所对应节点在所述第二边方向上的邻居节点;
所述获取所述当前节点在第l+1聚合网络层的目标传递梯度,包括:
基于所述当前参与对象、所述第二边索引和梯度传递来源对象的指示,获取所述目标传递梯度。
11.如权利要求9所述的方法,还包括:
所述控制设备,对所述有向图进行分区,得到分区结果,将所述分区结果提供给各工作设备,其中,所述分区结果包括:各工作设备对应的所述有向图的局部图;
所述第一设备从目标数据源加载所述局部图,包括:
所述第一设备从所述目标数据源,基于所述分区结果加载所述局部图。
12.一种有向图对应的图神经网络的训练方法,通过若干工作设备中的第一设备执行,包括:
从控制设备接收用户针对第一算子设置的聚合配置信息;所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
针对所述有向图中本方持有的局部图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
将所述当前梯度发送给所述控制设备,使其更新所述图神经网络的模型参数。
13.一种有向图对应的图神经网络的训练方法,包括:
获得用户针对第一算子设置的聚合配置信息,所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
针对所述有向图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
基于所述当前梯度,更新所述图神经网络的模型参数。
14.一种有向图对应的图神经网络的训练装置,部署于若干工作设备中的第一设备,包括:
接收模块,配置为从控制设备接收用户针对第一算子设置的聚合配置信息;所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
第一聚合模块,配置为针对所述有向图中本方持有的局部图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
第一确定模块,配置为基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
第一发送模块,配置为将所述当前梯度发送给所述控制设备,使其更新所述图神经网络的模型参数。
15.一种有向图对应的图神经网络的训练装置,包括:
获得模块,配置为获得用户针对第一算子设置的聚合配置信息,所述第一算子是图神经网络在正向推理计算中用于进行节点表征聚合的算子,所述聚合配置信息包括,所述节点表征聚合涉及的参与对象,和依赖的第一边方向;
第二聚合模块,配置为针对所述有向图中的当前节点,基于所述聚合配置信息,利用所述第一算子对该当前节点进行表征聚合;
第二确定模块,配置为基于与所述第一算子对应的用于进行反向梯度计算的第二算子,以及根据所述聚合配置信息确定的梯度来源信息,确定所述图神经网络的当前梯度,其中所述梯度来源信息包括,所述反向梯度计算所依赖的第二边方向和梯度传递来源对象的指示;
更新模块,配置为基于所述当前梯度,更新所述图神经网络的模型参数。
16.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求12或13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210372957.3A CN114462600B (zh) | 2022-04-11 | 2022-04-11 | 一种有向图对应的图神经网络的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210372957.3A CN114462600B (zh) | 2022-04-11 | 2022-04-11 | 一种有向图对应的图神经网络的训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114462600A true CN114462600A (zh) | 2022-05-10 |
CN114462600B CN114462600B (zh) | 2022-07-05 |
Family
ID=81416738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210372957.3A Active CN114462600B (zh) | 2022-04-11 | 2022-04-11 | 一种有向图对应的图神经网络的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114462600B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN111858123A (zh) * | 2020-07-29 | 2020-10-30 | 中国工商银行股份有限公司 | 基于有向图网络的故障根因分析方法和装置 |
CN112085615A (zh) * | 2020-09-23 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN112154461A (zh) * | 2018-05-18 | 2020-12-29 | 渊慧科技有限公司 | 用于多代理环境中的行为预测和强化学习的图神经网络系统 |
CN112435122A (zh) * | 2020-11-18 | 2021-03-02 | 东莞智盾信息安全科技有限公司 | 网络训练方法、异常交易行为识别方法、装置和介质 |
CN113222143A (zh) * | 2021-05-31 | 2021-08-06 | 平安科技(深圳)有限公司 | 图神经网络训练方法、系统、计算机设备及存储介质 |
CN113867983A (zh) * | 2021-09-14 | 2021-12-31 | 杭州海康威视数字技术股份有限公司 | 图数据挖掘方法、装置、电子设备及机器可读存储介质 |
CN114118410A (zh) * | 2021-11-24 | 2022-03-01 | 阿里巴巴达摩院(杭州)科技有限公司 | 图结构的节点特征提取方法、设备及存储介质 |
CN114239083A (zh) * | 2021-11-30 | 2022-03-25 | 西安电子科技大学 | 一种基于图神经网络的高效状态寄存器识别方法 |
-
2022
- 2022-04-11 CN CN202210372957.3A patent/CN114462600B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112154461A (zh) * | 2018-05-18 | 2020-12-29 | 渊慧科技有限公司 | 用于多代理环境中的行为预测和强化学习的图神经网络系统 |
US20210192358A1 (en) * | 2018-05-18 | 2021-06-24 | Deepmind Technologies Limited | Graph neural network systems for behavior prediction and reinforcement learning in multple agent environments |
CN110782044A (zh) * | 2019-10-29 | 2020-02-11 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN111858123A (zh) * | 2020-07-29 | 2020-10-30 | 中国工商银行股份有限公司 | 基于有向图网络的故障根因分析方法和装置 |
CN112085615A (zh) * | 2020-09-23 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 图神经网络的训练方法及装置 |
CN112435122A (zh) * | 2020-11-18 | 2021-03-02 | 东莞智盾信息安全科技有限公司 | 网络训练方法、异常交易行为识别方法、装置和介质 |
CN113222143A (zh) * | 2021-05-31 | 2021-08-06 | 平安科技(深圳)有限公司 | 图神经网络训练方法、系统、计算机设备及存储介质 |
CN113867983A (zh) * | 2021-09-14 | 2021-12-31 | 杭州海康威视数字技术股份有限公司 | 图数据挖掘方法、装置、电子设备及机器可读存储介质 |
CN114118410A (zh) * | 2021-11-24 | 2022-03-01 | 阿里巴巴达摩院(杭州)科技有限公司 | 图结构的节点特征提取方法、设备及存储介质 |
CN114239083A (zh) * | 2021-11-30 | 2022-03-25 | 西安电子科技大学 | 一种基于图神经网络的高效状态寄存器识别方法 |
Non-Patent Citations (3)
Title |
---|
NURUL A. ASIF 等: "Graph Neural Network: A Comprehensive Review on Non-Euclidean Space", 《IEEE ACCESS》 * |
刘颖颖 等: "基于自适应特征更新的动态深度图神经网络", 《中国计量大学学报》 * |
孙鑫 等: "基于图神经网络和时间注意力的会话序列推荐", 《计算机工程与设计》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114462600B (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908667B (zh) | 神经网络联合编译的方法、装置和电子设备 | |
CN111291869B (zh) | 并行训练业务模型的方法及装置 | |
CN113835899A (zh) | 针对分布式图学习的数据融合方法及装置 | |
Rkhami et al. | Learn to improve: A novel deep reinforcement learning approach for beyond 5G network slicing | |
CN115270001B (zh) | 基于云端协同学习的隐私保护推荐方法及系统 | |
CN112948885B (zh) | 实现隐私保护的多方协同更新模型的方法、装置及系统 | |
CN109087209B (zh) | 社区动态调整方法、装置及服务器 | |
CN111639969B (zh) | 用于众包系统的动态激励计算方法、系统、设备及介质 | |
Comi et al. | A qos-aware, trust-based aggregation model for grid federations | |
CN115358401A (zh) | 一种推理服务的处理方法、装置、计算机设备及存储介质 | |
CN113449842A (zh) | 一种分布式自动微分方法及相关装置 | |
CN112989211B (zh) | 一种确定信息相似度的方法及系统 | |
CN114462600B (zh) | 一种有向图对应的图神经网络的训练方法及装置 | |
US20160342899A1 (en) | Collaborative filtering in directed graph | |
Avin et al. | Distributed computing on core–periphery networks: Axiom-based design | |
CN114580661A (zh) | 基于联邦学习的数据处理方法、装置和计算机设备 | |
Nasir et al. | Fast trust computation in online social networks | |
Taylor et al. | Two decades of multiagent teamwork research: past, present, and future | |
US11615287B2 (en) | Processing computational models in parallel | |
CN110377769B (zh) | 基于图数据结构的建模平台系统、方法、服务器及介质 | |
CN111836274B (zh) | 一种业务处理的方法及装置 | |
CN115660245A (zh) | 业务编排方法及装置、电子设备、存储介质 | |
CN107688582A (zh) | 资源推荐模型的获取方法及装置 | |
CN110365520A (zh) | 分布式系统中节点的巡检方法、装置及设备 | |
CN111935026B (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 |