CN112070216B - 一种基于图计算***训练图神经网络模型的方法及*** - Google Patents
一种基于图计算***训练图神经网络模型的方法及*** Download PDFInfo
- Publication number
- CN112070216B CN112070216B CN202011052999.6A CN202011052999A CN112070216B CN 112070216 B CN112070216 B CN 112070216B CN 202011052999 A CN202011052999 A CN 202011052999A CN 112070216 B CN112070216 B CN 112070216B
- Authority
- CN
- China
- Prior art keywords
- information
- node
- graph
- computing
- nodes
- 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
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种基于图计算***训练图神经网络模型的方法及***,所述图计算***包括多个计算节点,所述多个计算节点中的每个包括图神经网络模型,应用于每个计算节点,所述方法包括:获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息;所述聚合特征信息聚合有所述目标样本节点的信息及基于所述多个计算节点的信息传播接收的其邻居样本节点的信息;利用所述图神经网络模型的输出层对所述聚合特征信息进行处理,得到所述目标样本节点的预测结果;基于所述预测结果和所述目标样本节点的标签,构建损失函数;基于所述损失函数进行反向传播,更新所述图神经网络模型;迭代执行上述步骤,直至所述图神经网络模型满足预设条件。
Description
技术领域
本说明书实施例涉及人工智能技术领域,特别涉及一种基于图计算***训练图神经网络模型的方法及***。
背景技术
图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模。近年来,由于图结构的强大表现力,用机器学习的方法分析图的研究越来越受到重视。图神经网络模型拓展了已有的神经网络模型,是一类基于深度学习的处理图数据的方法。由于其较好的性能和可解释性,图神经网络模型已成为一种广泛应用的图分析方法。
为此,本说明书提出一种基于图计算***训练图神经网络模型的方法及***,降低训练图神经网络模型所需的内存,可以应用于超大规模的图数据,超多传播层数的图神经网络模型的训练。
发明内容
本说明书实施例的一个方面提供一种基于图计算***训练图神经网络模型的方法,所述图计算***包括多个计算节点,所述多个计算节点中的每个包括图神经网络模型,应用于每个计算节点,所述方法包括:获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息;所述聚合特征信息聚合有所述目标样本节点的信息及基于所述多个计算节点的信息传播接收的其邻居样本节点的信息;利用所述图神经网络模型的输出层对所述聚合特征信息进行处理,得到所述目标样本节点的预测结果;基于所述预测结果和所述目标样本节点的标签,构建损失函数;基于所述损失函数进行反向传播,更新所述图神经网络模型;迭代执行上述步骤,直至所述图神经网络模型满足预设条件。
本说明书实施例的一个方面提供一种基于图计算***训练图神经网络模型的***,所述图计算***包括多个计算节点,所述多个计算节点中的每个包括图神经网络模型,应用于每个计算节点,所述***包括:获取模块,用于获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息;所述聚合特征信息聚合有所述目标样本节点的信息及基于所述多个计算节点的信息传播接收的其邻居样本节点的信息;第一处理模块,用于利用所述图神经网络模型的输出层对所述聚合特征信息进行处理,得到所述目标样本节点的预测结果;构建模块,用于基于所述预测结果和所述目标样本节点的标签,构建损失函数;更新模块,用于基于所述损失函数进行反向传播,更新所述图神经网络模型;迭代模块,用于迭代执行上述步骤,直至所述图神经网络模型满足预设条件。
本说明书实施例的一个方面提供一种基于图计算***训练图神经网络模型的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如前任一项所述的方法。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的基于图计算***训练图神经网络模型的***的模块图;
图2是根据本说明书的一些实施例所示的基于图计算***训练图神经网络模型的方法的流程图;
图3是根据本说明书的一些实施例所示的获得目标样本节点的信息的流程图;
图4是根据本说明书的一些实施例所示的示例性样本图的示意图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“***”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的***所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在一些实施例中,图神经网络模型可以应用于不同的场景以处理不同的图网络数据。例如,可以应用于推荐场景、舆情预警场景、风险管控场景、语义理解场景等。
在一些实施例中,图神经网络模型可以应用于推荐场景。例如,应用平台的商品推荐或优惠券推荐场景。仅作为示例,当图神经网络模型应用于购物平台的商品推荐场景时,可以获取用户与商品的交互行为图网络,将其作为训练数据对图神经网络模型进行训练,以获得训练好的图神经网络模型。该训练好的图神经网络模型可以处理当前用户的交互行为网络,确定向用户推荐的商品。
当图神经网络模型应用于移动支付平台的优惠券推荐场景时,可以获取用户的社交图网络、行为图网络以及转账金额图网络等组成的混合图网络,将其作为训练数据对图神经网络模型进行训练,以获得训练好的图神经网络模型。该训练好的图神经网络模型可以处理当前用户的混合网络,确定向用户推送的优惠券。
应当理解的,本说明书中所提到的图神经网络模型的应用场景仅仅是本说明书一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以将图神经网络模型应用于其他类似场景,本申请对此不做限制。
在一些实施例中,可以通过查询子图,利用多个单机中每个的图神经网络模型对各自对应的查询子图进行训练,实现对图神经网络模型的分布式训练。然而,此种训练方式存在以下特点:(1)多个单机同时预测时,每个单机会计算待预测节点周围的多跳邻居,计算量随图神经网络模型的传播层数随指数级递增;示例地,假设单机上计算的查询子图中的每个节点均有4个邻居节点,则对待预测节点进行预测时,第一个传播层会计算待预测节点的4个邻居节点的信息;由于第二个传播层会融合待预测节点的二跳邻居节点的信息,此时前一层的每个邻居节点会融合其周围的四个邻居节点,因此第二个传播层会计算4*4个节点的信息;同样地,第三个传播层会融合前一层16个节点各自的4个邻居节点的信息,因此第三个传播层会计算16*4个节点的信息,依次类推,可知计算量随图神经网络模型的传播层数随指数级递增。(2)由于图数据的规模较大,多跳邻居占用内存太多,不得不进行采样采集,减少输入数据,降低模型效果从而换取节省内存;(3)每个单机计算过程中,会有图数据在不同单机之间重复,每个单机重复计算,产生大量冗余重复计算。
本说明书的一些实施例所示的图计算***训练图神经网络模型的***100可以利用图计算***实现对图神经网络模型的分布式训练,降低模型训练所需的内存,可以做超大规模图数据、超多传播层数的图神经网络模型的训练。
图1是根据本说明书的一些实施例所示的基于图计算***训练图神经网络模型的***的模块图。
如图1所示,该基于图计算***训练图神经网络模型的***100可以包括获取模块110、第一处理模块120、构建模块130、更新模块140以及迭代模块150。
获取模块110可以用于获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息;所述聚合特征信息聚合有所述目标样本节点的信息及基于所述多个计算节点的信息传播接收的其邻居样本节点的信息。
在一些实施例中,所述图神经网络模型还包括多个中间层;所述获取模块进一步用于:当所述迭代执行为第一轮时,利用所述多个中间层中的每个对当前层的目标样本节点的信息和当前跳邻居样本节点的信息逐层聚合,获取所述聚合特征信息;其中,所述当前跳与所述当前层对应,前一个中间层的输出为下一个中间层的目标样本节点的信息;当所述迭代执行不为第一轮时,基于前一轮对应的更新的图神经网络模型、前一轮对应的目标样本节点的信息以及前一轮对应的邻居样本节点的信息,得到更新的聚合特征信息,将该更新的聚合特征信息作为获取的所述聚合特征信息。
在一些实施例中,所述当前跳邻居样本节点的信息基于以下方式获得:所述多个计算节点根据各自匹配的样本节点的边进行当前次信息传播,以使所述目标样本节点获得其1跳邻居样本节点匹配的计算节点传播的其包括的所述当前跳邻居样本节点的信息;其中,当所述当前次信息传播不为1时,所述1跳邻居样本节点匹配的计算节点包括的所述当前跳邻居样本节点的信息是在所述当前次的前一次信息传播后获得的。
第一处理模块120可以用于利用所述图神经网络模型的输出层对所述聚合特征信息进行处理,得到所述目标样本节点的预测结果。
构建模块130可以用于基于所述预测结果和所述目标样本节点的标签,构建损失函数。
更新模块140可以用于基于所述损失函数进行反向传播,更新所述图神经网络模型。
在一些实施例中,所述图计算***还包括参数节点,所述更新模块进一步用于:基于所述损失函数进行反向传播,得到梯度更新值;接收所述参数节点基于所述多个计算节点中每个的所述梯度更新值,计算得到的梯度平均值;基于所述梯度平均值,更新所述图神经网络模型。
迭代模块150可以用于执行获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息至更新所述图神经网络模型的步骤,直至所述图神经网络模型满足预设条件。
在一些实施例中,所述基于图计算***训练图神经网络模型的***100还可以包括接收模块、第二处理模块、融合模块以及保存模块。
接收模块可以用于接收所述目标样本节点的特征信息;所述特征信息包含节点特征信息和边特征信息;所述节点特征信息包含连续特征信息和类别特征信息。
第二处理模块可以用于基于编码模型对所述类别特征信息和所述边特征信息进行处理,得到类别特征向量和边特征向量。
融合模块可以用于融合所述连续特征信息、类别特征向量以及边特征向量,得到所述目标样本节点的信息。
保存模块可以用于保存所述目标样本节点的信息和所述N个中间层中每个的输出。
应当理解,图1所示的***及其模块可以利用各种方式来实现。例如,在一些实施例中,***及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和***可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的***及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于基于图计算***训练图神经网络模型的***100及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该***的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子***与其他模块连接。例如,图1中披露的获取模块110、第一处理模块120、构建模块130、更新模块140以及迭代模块150可以是一个***中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,基于图计算***训练图神经网络模型的***100中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
图2是根据本说明书的一些实施例所示的基于图计算***训练图神经网络模型的方法的流程图。在一些实施例中,该方法200可以由基于图计算***训练图神经网络模型的***100实现。在一些实施例中,图计算***可以包括多个计算节点,多个计算节点中的每个包括图神经网络模型,该方法200应用于每个计算节点。如图2所示,该方法200可以包括以下步骤:
步骤202,获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息。在一些实施例中,该步骤202可以由获取模块110执行。
在一些实施例中,样本图可以是预先整理好的用于训练图神经网络模型的全图网络。在一些实施例中,样本图可以包括多个样本节点和样本节点之间的边,各样本节点具有各自对应的样本节点编号,各边具有各自对应的边编号。在一些实施例中,样本节点编号和边编号可以根据实际需求进行具体设置,例如,边编号可以由边连接的两个样本节点的样本节点编号组合而成,本说明书实施例并不对此做任何限制。
在一些实施例中,样本图可以是有向图或无向图。其中,有向图是指样本图中的边为有方向性的边;无向图是指样本图中的边为无方向性的边。在实际训练过程中,样本图可以是数据量庞大的图网络,例如为十亿节点、千亿边的庞大数据量的图网络。为简化示例,以图4示意的具备少量样本节点的无向图为样本图为例,则该样本图400可以包括样本节点1、样本节点2、样本节点3、样本节点4、样本节点5、样本节点6、样本节点7、样本节点8、样本节点9、样本节点1分别和样本节点2、3、4、5之间的边、样本节点4和样本节点5之间的边、样本节点6分别和样本节点4、5之间的边、以及样本节点7分别和样本节点5、8、9之间的边。
在一些实施例中,图计算***可以是分布式计算框架。对应的,在一些实施例中,计算节点可以是分布式计算框架下的任意一个计算节点,在分布式模型训练中承担计算任务,一般为一个计算机进程,表示应用程序在内存环境中基本执行单元的概念。
在一些实施例中,每个计算节点中均保存有与其匹配的目标样本节点的信息。在一些实施例中,目标样本节点的信息可以是计算节点对接收的与其匹配的目标样本节点的特征信息(例如节点特征信息和边特征信息)进行处理后,得到的信息。关于得到并保存目标样本节点的信息的具体细节可以参见图3及其相关描述,在此不再赘述。
在一些实施例中,图计算***中的多个计算节点的数量与样本图中的样本节点的数量可以相同或不同(例如小于样本图中的样本节点的数量)。示例地,仍以上述样本图中包括样本节点1至样本节点9为例,多个计算节点可以为9个,每个计算节点接收其中一个样本节点的特征信息。又例如,多个计算节点可以为5个,其中一个或多个计算节点接收多个样本节点的特征信息。一般地,多个计算节点中对应的所有样本节点的数量与样本图中所有样本节点的数量相同。
在一些实施例中,计算节点接收的目标样本节点的特征信息可以是任意一个计算节点下发至该计算节点的。具体的,任意一个计算节点可以对样本图中每个样本节点对应的节点编号做哈希运算,确定每个样本节点匹配的计算节点,并将该样本节点下发至与其匹配的计算节点。在一些实施例中,哈希运算包括但不限于以下之一:MD5(MessageDigest)信息摘要算法和CRC64(Cyclic Redundancy Check)循环冗余校验。
示例地,仍以上述示例为例,若多个计算节点分别为计算节点1至9,任意一个计算节点为计算节点1,则计算节点1可以对上述样本图中的样本节点1至9的节点编号分别做哈希运算,若确定样本节点1匹配的计算节点为计算节点1、样本节点2匹配的计算节点为计算节点2……以此类推,样本节点9匹配的计算节点为计算节点9,则计算节点1可以依据此匹配关系,将各个样本节点的特征信息分别下发至各个计算节点。进而各个计算节点对各自的样本节点(即目标样本节点)的特征信息进行处理,得到各自的样本节点(即目标样本节点)的信息。关于得到目标样本节点的信息的具体细节可以参见图3及其相关描述,在此不再赘述。
在一些实施例中,目标样本节点的聚合特征信息聚合有目标样本节点的信息及其邻居样本节点的信息。在一些实施例中,邻居样本节点的信息可以是目标样本节点在样本图中具备多跳邻居关系的所有样本节点的信息,也即目标样本节点的所有跳的邻居样本节点的信息,例如1跳至N跳的邻居样本节点的信息。
示例地,仍以上述计算节点1匹配的目标样本节点为样本节点1,且以计算节点1执行的本说明书实施例的训练图神经网络模型的方法为例,由于样本节点1包括3跳邻居样本节点,分别为1跳邻居样本节点、2跳邻居样本节点、以及3跳邻居样本节点,则目标样本节点的邻居样本节点的信息包括:1跳邻居样本节点的信息:样本节点2、3、4以及5的信息,2跳邻居样本节点的信息:样本节点6和7的信息、3跳邻居样本节点的信息:样本节点8和9的信息。需要理解的,尽管本说明书实施例的示例仅以计算节点1执行的基于图计算***训练图神经网络模型的方法为例,但该方法应用于多个计算节点中的每个。
在一些实施例中,聚合特征信息中的所有邻居样本节点的信息可以是基于多个计算节点的信息传播接收的。该信息传播的次数可以为至少一次。在一些实施例中,多个计算节点的信息传播次数与邻居样本节点的跳数相同。示例地,仍以上述示例为例,聚合特征信息聚合有样本节点1的信息及样本节点1的3跳邻居样本节点的信息,则多个计算节点的信息传播会有3次。关于传播的具体细节可以参见后述说明,在此不再赘述。
如前所述,多个计算节点中的每个包括有图神经网络模型。在一些实施例中,图神经网络模型包括有多个中间层和1个输出层。在一些实施例中,多个中间层的数量可以与邻居样本节点的跳数对应。仍以上述示例为例,由于样本节点1(即目标样本节点)具备3跳邻居样本节点,因此,计算节点1中的图神经网络模型包括3个中间层。
在一些实施例中,当计算节点的迭代执行为第一轮时,获取模块110可以利用多个中间层,获取聚合特征信息。具体的,当计算节点的迭代执行为第一轮时,获取模块110可以利用多个中间层中的每个对当前层的目标样本节点的信息和当前跳邻居样本节点的信息逐层聚合,获取聚合特征信息。其中,前一个中间层的输出为下一个中间层的目标样本节点的信息。
在一些实施例中,当前跳与当前层对应。即当前跳与当前中间层的层数对应。仍以上述计算节点1中的图神经网络模型包括2个中间层为例,若当前中间层为第1层,则当前跳为1跳,对应的,当前中间层聚合的当前跳邻居样本节点的信息为1跳邻居样本节点的信息。若当前中间层为第2层,则当前跳为2跳,对应的,当前中间层聚合的当前跳邻居样本节点的信息为2跳邻居样本节点的信息。
在一些实施例中,当前跳邻居样本节点的信息可以基于以下方式获得:多个计算节点根据各自匹配的样本节点的边进行当前次信息传播,以使所述计算节点获得1跳邻居样本节点匹配的计算节点传播的其包括的当前跳邻居样本节点的信息;其中,当所述当前次信息传播不为1时,1跳邻居样本节点匹配的计算节点包括的当前跳邻居样本节点的信息是在当前次的前一次信息传播后获得的。
在一些实施例中,多个计算节点各自匹配的样本节点的边为该样本节点在样本图中连接的边。在一些实施例中,边包括有传播方向,对应的,多个计算节点可以根据各自匹配的样本节点的边包括的传播方向进行当前次传播。仍以图4的样本图为例,假设每条边的传播方向均为双向传播,在多个计算节点进行每次的信息传播时,由于样本节点1与样本节点2、3、4、5连接有边,则样本节点2、3、4、5分别匹配的计算节点2、3、4、5会将其包括的信息传播给样本节点1匹配的计算节点1;计算节点1也会将其包括的信息传播给计算节点2、3、4、5。同理,计算节点1、4、6、7会将其包括的信息传播给计算节点5,计算节点5会将其包括的信息传播给计算节点1、4、6、7。计算节点5、8、9将其包括的信息传播给计算节点7,计算节点7会将其包括的信息传播给计算节点5、8、9。
在一些实施例中,多个计算节点各自匹配的样本节点分别携带有入边信息和出边信息。在一些实施例中,入边信息表征各个样本节点匹配的计算节点接收信息的传播关系;出边信息表征各个样本节点匹配的计算节点发送信息的传播关系。因此,入边信息和出边信息可以表征边的传播方向。对应的,在一些实施例中,多个计算节点可以根据其各自匹配的样本节点携带的入边信息和出边信息进行当前次信息传播。仍以上述示例为例,则样本节点1包括的入边信息可以为入边31、41、51、21,则该入边信息分别表征样本节点1匹配的计算节点1接收样本节点3、4、5、2匹配的计算节点3、4、5、2传播的信息。又例如,样本节点1包括的出边信息可以为出边13、14、15、12,则该出边信息分别表征样本节点1匹配的计算节点1发送其包括的信息给样本节点3、4、5、2匹配的计算节点3、4、5、2。其他样本节点同理,在此不再赘述。
根据前述描述可知,每个计算节点均保存有与其匹配的样本节点的信息。因此,在当前次信息传播为1时,1跳邻居样本节点所匹配的计算节点传播的其包括的1跳邻居样本节点的信息为其自身保存的信息。
在一些实施例中,当所述当前次信息传播不为1时,1跳邻居样本节点匹配的计算节点包括的当前跳邻居样本节点的信息是在当前次的前一次信息传播后获得的。
示例地,仍以上述传播的示例为例,若当前次信息传播为2时,则在当前次的前一次信息传播(即第1次信息传播)时,由于计算节点5会接收到样本节点1、4、6、7的信息,计算节点7会接收到样本节点5、8、9的信息,因此,在第1次信息传播后,样本节点5匹配的计算节点5会包括样本节点1、4、6、7的信息,计算节点7会包括样本节点5、8、9的信息。由此可知,计算节点5(1跳邻居样本节点匹配的计算节点)包括样本节点1(即目标样本节点)的2度邻居样本节点(即样本节点6和7)的信息。基于此,在进行第2次信息传播时,由于计算节点5仍会传播其包括的信息给计算节点1,计算节点7也会传播其包括的信息给计算节点5。因此,在第2次信息传播结束后,计算节点1中会接收2跳邻居样本节点(即样本节点6和7)的信息,计算节点5(1跳邻居样本节点)会包括样本节点1(即目标样本节点)的3跳邻居样本节点(即样本节点8和9)的信息。
若当前次信息传播为3时,由上述可知,在第2次信息传播结束后,计算节点5(1跳邻居样本节点)会包括样本节点1(即目标样本节点)的3跳邻居样本节点(即样本节点8和9)的信息。基于此,在进行第3次信息传播时,计算节点5会将其包括的信息再次传播给计算节点1,因此,在第3次信息传播后,计算节点1会接收样本节点1(即目标样本节点)的3跳邻居样本节点(即样本节点8和9)的信息。
根据以上描述可知,多个中间层的每个会聚合当前层的目标样本节点的信息和当前跳邻居样本节点的信息。因此,第一个中间层聚合目标样本节点的信息和1跳邻居样本节点的信息,由于前一个中间层的输出为下一个中间层的目标样本节点的信息,因此,第二个中间层的目标样本节点的信息除了包括目标样本节点的信息,还包括了1跳邻居样本节点的信息,此时,第二个中间层接收2跳邻居样本节点的信息,进而第二个中间层聚合目标样本节点的信息、1跳邻居样本节点的信息以及2跳邻居样本节点的信息,依次类推,则最后一个中间层聚合目标样本节点的信息及其所有跳邻居样本节点的信息,输出聚合特征信息。
在一些实施例中,目标样本节点的信息和邻居样本节点的信息可以为向量表示,对应的,基于两者生成的聚合特征信息也可以为向量表示。
在一些实施例中,当计算节点的迭代执行为第一轮时,图神经网络模型为初始图神经网络模型,其具备初始的模型参数。其中,初始的模型参数可以是随机生成的。在一些实施例中,模型参数可以是权重。在图神经网络模型的训练过程中,可以基于样本图中各个样本节点所属的跳数,为每跳样本节点生成对应的初始权重。示例地,仍以图4的样本图为例,则可以为1跳的样本节点1生成初始1跳权重,为2跳的样本节点2、3、4以及5生成2跳初始权重,为3跳的样本节点6和7生成3跳初始权重。
对应的,多个中间层在传播的过程中,会为每跳样本节点分配对应的初始权重。因此,通过多个中间层输出的聚合特征信息可以是基于初始权重,对目标样本节点的信息和每个邻居样本节点的信息向量表示进行加权求和后,得到的向量表示。
在一些实施例中,当计算节点的迭代执行不为第一轮时,此时计算节点中的图神经网络模型已执行至少一轮迭代,即已执行至少一次正向传播和反向传播,每次迭代过程中进行反向传播训练时都会更新图神经网络模型原本的模型参数(即权重)。因此,在一些实施例中,当计算节点的迭代执行不为第一轮时,获取模块110可以基于前一轮对应的更新的图神经网络模型和前一轮对应的目标样本节点的信息以及前一轮对应的邻居样本节点的信息,得到更新的聚合特征信息,将该更新的聚合特征信息作为获取的所述聚合特征信息。在一些实施例中,前一轮对应的更新的图神经网络模型具备更新的权重,因此,获取模块110可以基于前一轮对应的更新的图神经网络模型的权重和前一轮对应的目标样本节点的信息以及前一轮对应的邻居样本节点的信息,得到更新的聚合特征信息。
在一些实施例中,计算节点可以保存多个中间层中每个的输出,即多个中间层中每个输出的向量表示。通过保存该向量表示,可以在后续反向传播时,直接通过保存的向量表示计算对应的梯度更新值。
本说明书实施例中基于多个中间层获得聚合特征向量时,由于前一个中间层输出为下一个中间层的目标样本节点的信息,前一个中间层已经融合了其当前跳邻居样本节点的信息,因此下一个中间层只需要聚合自身的当前跳邻居样本节点的信息,并不需要再重复聚合之前已经有过的邻居节点的信息。例如,第二个中间层会接收第一个中间层传播的已经融合有1跳邻居样本节点信息的目标样本节点信息,第二个中间层只需要聚合2跳邻居样本节点的信息,不需要再重复聚合目标样本节点的信息和1跳邻居样本节点的信息。因此,每个中间层(即传播层)并不需要额外计算目标样本节点(即待预测样本节点)周围的多跳邻居的信息,降低了训练的计算量和训练时间。
同时,每个中间层只需要接收1跳邻居样本节点匹配的计算节点传播的其包括的信息即可获得当前跳邻居样本节点的信息,因此每个中间层每次只需要计算其1跳邻居样本节点匹配的计算节点传播的信息,可实现计算量与层数呈线性关系,避免了现有训练过程中计算量与传播层数随指数递增所带来的计算量庞大,无法训练超大规模图数据、超多传播层数的图神经网络模型的训练的问题。
除此之外,本说明书实施例中的邻居样本节点的信息是通过多个计算节点之间的信息传播获得的,可以避免图数据在不同的计算节点之间重复,导致计算节点的重复计算,产生大量冗余重复计算。
步骤204,利用所述图神经网络模型的输出层对所述聚合特征信息进行处理,得到所述目标样本节点的预测结果。在一些实施例中,该步骤204可以由第一处理模块120执行。
在一些实施例中,输出层连接多个中间层的最后一层,用于输出目标样本节点的预测结果。在一些实施例中,输出层与图神经网络模型的应用场景相关。例如,图神经网络模型为分类模型,则输出层可以是分类层。对应的,在一些实施例中,目标样本节点的预测结果可以是预测值,即预测类别的概率值。
步骤206,基于所述预测结果和所述目标样本节点的标签,构建损失函数。在一些实施例中,该步骤206可以由构建模块130执行。
在一些实施例中,样本图中的每个样本节点携带有标签。标签用于表征样本节点的某种真实信息,例如,样本节点属于哪个类别等。在一些实施例中,样本节点的标签可以是线下人工标注,也可以是通过自动识别、统计等方式线上标注。
在一些实施例中,损失函数可以是用来评价正在训练的图神经网络模型的输出层得到的预测值和目标样本节点的真实值之间的差距,其中,预测值可以是图神经网络模型的输出层的预测结果,真实值可以是目标样本节点的标签值。在一些实施例中,损失函数可以包括但不限于均方误差损失函数、交叉熵损失函数、指数损失函数等。
在一些实施例中,步骤202至步骤206为图神经网络模型的一次正向传播的过程。
步骤208,基于所述损失函数进行反向传播,更新所述图神经网络模型。在一些实施例中,该步骤208可以由更新模块140执行。
在一些实施例中,图计算***还包括参数节点。在一些实施例中,参数节点可以是多个计算节点中的任意一个。在一些实施例中,参数节点也可以是多个计算节点以外的计算节点。在一些实施例中,参数节点可以用于存储图神经网络模型的训练过程中的所有参数。在一些实施例中,参数可以包括但不限于模型参数(即权重)、梯度更新值以及梯度平均值。
在一些实施例中,步骤208可以包括基于所述损失函数进行反向传播,得到梯度更新值;接收所述参数节点基于所述多个计算节点中每个的所述梯度更新值,计算得到的梯度平均值;基于所述梯度平均值,更新所述图神经网络模型。
在一些实施例中,反向传播可以是从输出层开始,逐层确定梯度,基于梯度调整该层的网络参数,并将梯度传递到上一层,直到确定出多个中间层中第一层对应的梯度。通过反向传播后,图神经网络模型的每一层均会得到梯度,进而可以得到每一个模型参数(即权重)的梯度。在一些实施例中,梯度更新值可以包括图神经网络模型的每一个模型参数(即权重)的梯度,对应的,梯度更新值可以为梯度矩阵。仍以上述示例为例,则在第一次反向传播时,会为初始1跳权重、初始2跳权重以及初始3跳权重分别确定对应的梯度,该梯度可以构成梯度矩阵,即梯度更新值。
由于多个计算节点中的每个均会执行本说明书实施例的基于图计算***训练图神经网络模型的方法,因此每个计算节点均会得到梯度更新值。在一些实施例中,参数节点可以接收多个计算节点中每个发送的梯度更新值,计算得到梯度平均值,并将该梯度平均值发送给每个计算节点。进而,每个计算节点可以基于梯度平均值,同时更新图神经网络模型。在一些实施例中,更新图神经网络模型可以是更新图神经网络模型的模型参数,即权重。
步骤210,迭代执行上述步骤,直至所述图神经网络模型满足预设条件。在一些实施例中,该步骤210可以由迭代模块150执行。
在一些实施例中,图神经网络模型满足预设条件可以是损失函数收敛或者小于预设阈值。在一些实施例中,可以将满足预设条件的图神经网络模型确定为训练好的图神经网络模型。
根据以上描述可知,本说明书实施例中每个计算节点对图神经网络模型执行分布式图计算训练的基础上,还利用了深度学习中的正向传播和反向传播进行训练,打破了深度学习和分布式图计算两种不同技术的壁垒,同时,正向传播和反向传播的计算高效又准确,进而提高了图神经网络模型的训练效率。
图3是根据本说明书的一些实施例所示的获得目标样本节点的信息的流程图。如图3所示,该流程300可以包括以下步骤:
步骤302,接收所述目标样本节点的特征信息。在一些实施例中,该步骤302可以由接收模块160执行。
在一些实施例中,特征信息可以包括节点特征信息和边特征信息。在一些实施例中,节点特征信息可以反映目标样本节点的属性信息。在一些实施例中,节点特征信息包括连续特征信息和类别特征信息。在一些实施例中,连续特征信息可以反映连续的特征。例如,用户的转账金额,由于转账金额可以是连续的数字,因此其可以被视为连续特征信息。类别特征信息可以是反映类别的特征。例如,性别男或女。关于连续特征信息和类别特征信息可以根据实际的样本图中的节点信息进行归类,在此不再赘述。
在一些实施例中,边特征信息可以反映目标样本节点连接的边的属性。例如,用户与用户之间的关系。
在一些实施例中,接收模块160可以通过任一计算节点接收其下发的目标样本节点的特征信息。关于接收的具体细节可以参见步骤202及其相关描述,在此不再赘述。
步骤304,基于编码模型对所述类别特征信息和所述边特征信息进行处理,得到类别特征向量和边特征向量。在一些实施例中,该步骤304可以由第二处理模块170执行。
在一些实施例中,第二处理模块170可以通过编码模型对类别特征信息和边特征信息进行向量表示。其中,编码模型可以包括但不限于BERT模型、Word2vec模型和LSTM模型等。
步骤306,融合所述连续特征信息、类别特征向量以及边特征向量,得到所述目标样本节点的信息。在一些实施例中,该步骤306可以由融合模块180执行。
在一些实施例中,融合可以是指拼接。对应的,融合模块180可以对连续特征信息、类别特征向量以及边特征向量进行拼接,得到目标样本节点的信息。在一些实施例中,计算节点在得到目标样本节点的信息后,可以保存该目标样本节点的信息。
本说明书实施例还提供一种基于图计算***训练图神经网络模型的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如前任一项所述的方法。
本说明书实施例可能带来的有益效果包括但不限于:(1)本说明书实施例通过结合分布式图计算和深度学习中的正向传播和反向传播,实现图神经网络模型的训练,打破了深度学习和分布式图计算两种不同技术的壁垒,同时,正向传播和反向传播的计算高效又准确,提高了图神经网络模型的训练效率;(2)在训练过程中,实现了计算量与层数呈线性关系,降低了训练的计算量和训练时间,可以训练超大规模图数据、超多传播层数的图神经网络模型的训练。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“***”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行***、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的***组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的***。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (13)
1.一种基于图计算***训练图神经网络模型的方法,所述图计算***包括多个计算节点,所述多个计算节点中的每个包括图神经网络模型,所述图神经网络模型包括输出层和多个中间层,应用于每个计算节点,所述方法包括:
获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息;所述聚合特征信息聚合有所述目标样本节点的信息及基于所述多个计算节点的信息传播接收的其邻居样本节点的信息;所述获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息,包括:当迭代执行为第一轮时,利用所述多个中间层中的每个对当前层的目标样本节点的信息和当前跳邻居样本节点的信息逐层聚合,获取所述聚合特征信息;其中,所述当前跳与所述当前层对应,前一个中间层的输出为下一个中间层的目标样本节点的信息;
利用所述图神经网络模型的输出层对所述聚合特征信息进行处理,得到所述目标样本节点的预测结果;
基于所述预测结果和所述目标样本节点的标签,构建损失函数;
基于所述损失函数进行反向传播,更新所述图神经网络模型;
迭代执行上述步骤,直至所述图神经网络模型满足预设条件。
2.如权利要求1所述的方法,所述获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息,包括:
当迭代执行不为第一轮时,基于前一轮对应的更新的图神经网络模型、前一轮对应的目标样本节点的信息以及前一轮对应的邻居样本节点的信息,得到更新的聚合特征信息,将该更新的聚合特征信息作为获取的所述聚合特征信息。
3.如权利要求2所述的方法,所述当前跳邻居样本节点的信息基于以下方式获得:
所述多个计算节点根据各自匹配的样本节点的边进行当前次信息传播,以使所述计算节点获得1跳邻居样本节点匹配的计算节点传播的其包括的所述当前跳邻居样本节点的信息;其中,当所述当前次信息传播不为1时,所述1跳邻居样本节点匹配的计算节点包括的所述当前跳邻居样本节点的信息是在所述当前次的前一次信息传播后获得的。
4.如权利要求2所述的方法,所述方法还包括:
接收所述目标样本节点的特征信息;所述特征信息包含节点特征信息和边特征信息;所述节点特征信息包含连续特征信息和类别特征信息;
基于编码模型对所述类别特征信息和所述边特征信息进行处理,得到类别特征向量和边特征向量;
融合所述连续特征信息、类别特征向量以及边特征向量,得到所述目标样本节点的信息。
5.如权利要求2所述的方法,所述方法还包括:保存所述目标样本节点的信息和所述多个中间层中每个的输出。
6.如权利要求1所述的方法,所述图计算***还包括参数节点,所述基于所述损失函数进行反向传播,更新所述图神经网络模型,包括:
基于所述损失函数进行反向传播,得到梯度更新值;
接收所述参数节点基于所述多个计算节点中每个的所述梯度更新值,计算得到的梯度平均值;
基于所述梯度平均值,更新所述图神经网络模型。
7.一种基于图计算***训练图神经网络模型的***,所述图计算***包括多个计算节点,所述多个计算节点中的每个包括图神经网络模型,所述图神经网络模型包括输出层和多个中间层,应用于每个计算节点,所述***包括:
获取模块,用于获取样本图中与所述计算节点匹配的目标样本节点的聚合特征信息;所述聚合特征信息聚合有所述目标样本节点的信息及基于所述多个计算节点的信息传播接收的其邻居样本节点的信息;所述获取模块进一步用于:当迭代执行为第一轮时,利用所述多个中间层中的每个对当前层的目标样本节点的信息和当前跳邻居样本节点的信息逐层聚合,获取所述聚合特征信息;其中,所述当前跳与所述当前层对应,前一个中间层的输出为下一个中间层的目标样本节点的信息;
第一处理模块,用于利用所述图神经网络模型的输出层对所述聚合特征信息进行处理,得到所述目标样本节点的预测结果;
构建模块,用于基于所述预测结果和所述目标样本节点的标签,构建损失函数;
更新模块,用于基于所述损失函数进行反向传播,更新所述图神经网络模型;
迭代模块,用于迭代执行上述步骤,直至所述图神经网络模型满足预设条件。
8.如权利要求7所述的***,所述获取模块进一步用于:
当迭代执行不为第一轮时,基于前一轮对应的更新的图神经网络模型、前一轮对应的目标样本节点的信息以及前一轮对应的邻居样本节点的信息,得到更新的聚合特征信息,将该更新的聚合特征信息作为获取的所述聚合特征信息。
9.如权利要求8所述的***,所述当前跳邻居样本节点的信息基于以下方式获得:
所述多个计算节点根据各自匹配的样本节点的边进行当前次信息传播,以使所述计算节点获得1跳邻居样本节点匹配的计算节点传播的其包括的所述当前跳邻居样本节点的信息;其中,当所述当前次信息传播不为1时,所述1跳邻居样本节点匹配的计算节点包括的所述当前跳邻居样本节点的信息是在所述当前次的前一次信息传播后获得的。
10.如权利要求8所述的***,所述***还包括:
接收模块,用于接收所述目标样本节点的特征信息;所述特征信息包含节点特征信息和边特征信息;所述节点特征信息包含连续特征信息和类别特征信息;
第二处理模块,用于基于编码模型对所述类别特征信息和所述边特征信息进行处理,得到类别特征向量和边特征向量;
融合模块,用于融合所述连续特征信息、类别特征向量以及边特征向量,得到所述目标样本节点的信息。
11.如权利要求8所述的***,所述***还包括:
保存模块,用于保存所述目标样本节点的信息和所述多个中间层中每个的输出。
12.如权利要求7所述的***,所述图计算***还包括参数节点,所述更新模块进一步用于:
基于所述损失函数进行反向传播,得到梯度更新值;
接收所述参数节点基于所述多个计算节点中每个的所述梯度更新值,计算得到的梯度平均值;
基于所述梯度平均值,更新所述图神经网络模型。
13.一种基于图计算***训练图神经网络模型的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如权利要求1~6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011052999.6A CN112070216B (zh) | 2020-09-29 | 2020-09-29 | 一种基于图计算***训练图神经网络模型的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011052999.6A CN112070216B (zh) | 2020-09-29 | 2020-09-29 | 一种基于图计算***训练图神经网络模型的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112070216A CN112070216A (zh) | 2020-12-11 |
CN112070216B true CN112070216B (zh) | 2023-06-02 |
Family
ID=73684173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011052999.6A Active CN112070216B (zh) | 2020-09-29 | 2020-09-29 | 一种基于图计算***训练图神经网络模型的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112070216B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395515B (zh) * | 2021-01-19 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法、装置、计算机设备及存储介质 |
CN113065651B (zh) * | 2021-04-02 | 2021-11-09 | 中山大学 | 一种图神经网络模型的节点修改方法和相关装置 |
CN113240505B (zh) * | 2021-05-10 | 2024-05-24 | 深圳前海微众银行股份有限公司 | 图数据的处理方法、装置、设备、存储介质及程序产品 |
CN113344214B (zh) * | 2021-05-31 | 2022-06-14 | 北京百度网讯科技有限公司 | 数据处理模型的训练方法、装置、电子设备及存储介质 |
CN113114541B (zh) * | 2021-06-15 | 2021-09-14 | 上海兴容信息技术有限公司 | 一种判断网络节点之间能否建立网络连接的方法和*** |
CN113656651A (zh) * | 2021-08-30 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 图节点关系表征生成和图节点业务关系预测方法及装置 |
CN118171150A (zh) * | 2022-12-08 | 2024-06-11 | 马上消费金融股份有限公司 | 分类模型的训练方法、类别识别方法及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108898218A (zh) * | 2018-05-24 | 2018-11-27 | 阿里巴巴集团控股有限公司 | 一种神经网络模型的训练方法、装置、及计算机设备 |
CN111400560A (zh) * | 2020-03-10 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 一种基于异构图神经网络模型进行预测的方法和*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11797838B2 (en) * | 2018-03-13 | 2023-10-24 | Pinterest, Inc. | Efficient convolutional network for recommender systems |
US11463472B2 (en) * | 2018-10-24 | 2022-10-04 | Nec Corporation | Unknown malicious program behavior detection using a graph neural network |
CN111445020B (zh) * | 2019-01-16 | 2023-05-23 | 阿里巴巴集团控股有限公司 | 一种基于图的卷积网络训练方法、装置及*** |
CN111445963B (zh) * | 2020-03-31 | 2023-03-10 | 桂林电子科技大学 | 一种基于图节点信息聚合的子图同构约束求解方法 |
-
2020
- 2020-09-29 CN CN202011052999.6A patent/CN112070216B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108898218A (zh) * | 2018-05-24 | 2018-11-27 | 阿里巴巴集团控股有限公司 | 一种神经网络模型的训练方法、装置、及计算机设备 |
CN111400560A (zh) * | 2020-03-10 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 一种基于异构图神经网络模型进行预测的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN112070216A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112070216B (zh) | 一种基于图计算***训练图神经网络模型的方法及*** | |
US11537719B2 (en) | Deep neural network system for similarity-based graph representations | |
US11061393B2 (en) | Consolidating anomaly root causes and alarms using graphical granger models | |
EP4242955A1 (en) | User profile-based object recommendation method and device | |
CN108520470B (zh) | 用于生成用户属性信息的方法和装置 | |
CN111931057B (zh) | 一种自适应输出的序列推荐方法和*** | |
KR102678094B1 (ko) | 매장 수요 예측 모델을 결정하는 기법 | |
US20240144165A1 (en) | Graph node relationship representation generation and graph node service relationship prediction | |
CN114186256A (zh) | 神经网络模型的训练方法、装置、设备和存储介质 | |
CN116245603A (zh) | 用户标签的处理方法、装置、云服务器和可读存储介质 | |
KR101522306B1 (ko) | 유사도 특성을 이용한 메타휴리스틱 알고리즘에 기반한 시스템 및 그 제어방법 | |
US20130338989A1 (en) | Efficient evaluation of network robustness with a graph | |
CN112541556A (zh) | 模型构建优化方法、设备、介质及计算机程序产品 | |
CN112950321A (zh) | 一种物品推荐方法和装置 | |
CN111967941A (zh) | 一种构建序列推荐模型的方法和序列推荐方法 | |
KR102010031B1 (ko) | 게임 지표 정보 예측 방법 및 장치 | |
CN116401372A (zh) | 知识图谱表示学习方法、装置、电子设备及可读存储介质 | |
CN113630476B (zh) | 应用于计算机集群的通信方法及通信装置 | |
CN115618065A (zh) | 一种数据处理方法及相关设备 | |
US9519864B1 (en) | Method and system for identifying dependent components | |
CN114900435A (zh) | 一种连接关系预测方法及相关设备 | |
CN111737319B (zh) | 用户集群的预测方法、装置、计算机设备和存储介质 | |
CN114648666A (zh) | 分类模型训练和数据分类方法、装置和电子设备 | |
CN111325401A (zh) | 一种路径规划模型的训练方法、装置及计算机*** | |
CN117743796B (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 |