CN115293332A - 一种图神经网络的训练方法、装置、设备及存储介质 - Google Patents
一种图神经网络的训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115293332A CN115293332A CN202210948984.0A CN202210948984A CN115293332A CN 115293332 A CN115293332 A CN 115293332A CN 202210948984 A CN202210948984 A CN 202210948984A CN 115293332 A CN115293332 A CN 115293332A
- Authority
- CN
- China
- Prior art keywords
- data set
- node
- graph
- edge
- subgraph
- 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.)
- Pending
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
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
本发明涉及人工智能技术领域,提供一种图神经网络的训练方法、装置、设备及存储介质,获取训练图结构中节点数据集合信息,所有边数据构成边数据集合信息与边数据集合信息,以及预设的提取规则,从图结构中提取N个子图,从边数据集合中获取扩展边集合,根据扩展边集合,更新子图,确定更新后的子图为目标子图,分别提取每个目标子图中的融合特征,使用所有目标子图的融合特征对图神经网络进行训练,得到目标图神经网络,图信息为每个目标子图中节点的融合特征,将大数据中的图结构数据分为不同的子图,并对子图进行补充关联,使子图中每个节点特征更完备,从而根据子图中的特征训练图神经网络,可以得到更准确的训练完成的神经网络。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种图神经网络的训练方法、装置、设备及存储介质。
背景技术
随着图神经网络在工业界应用的兴起,图神经网络在各个领域得到了越来越广泛的应用,例如,计算机视觉、自然语言处理等领域。示例地,图神经网络可以应用于文本情感分析、问答系统等。图神经网络是一种直接作用于图的神经网络,图由节点和边两部分组成。当处理的数据不断增加时,图的规模变得越来越大,例如在社交网络中,可能涉及10亿多个用户,1000亿以上的关系,如果抽象为图的话,图的规模为10亿多的节点。对于大规模图(例如,具备上亿节点的图),由于其结构复杂,对图神经网络进行训练时,训练效率较低。
现有技术中,为了提高图神经网络的训练效率,一般将大规模的图进行切分处理,使用切分后的子图对神经网络进行训练,提高了图神经网络的训练效率,但切分后的子图往往会损失大量的边信息,使得训练得到的图神经网络的精确度较低,因此如何在高训练效率的情况下,提高图神经网络的精确度成为了亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种图神经网络的训练方法、装置、设备及存储介质,以解决在高训练效率的情况下,图神经网络的精确度较低的问题。
第一方面,提供一种图神经网络的训练方法,所述方法包括:
获取训练图结构中所有节点的节点数据和所有边的边数据,所有节点数据构成节点数据集合信息,所有边数据构成边数据集合信息;
根据所述节点数据集合信息与所述边数据集合信息,以及预设的提取规则,从所述图结构中提取N个子图,所述子图包括至少两个节点,其中,所述子图中所有节点的节点数据形成对应子图的节点数据集合,所述子图中所有节点连接的边的边数据形成对应子图的边数据集合,N为大于1的整数;
针对任一子图,从所述边数据集合中获取与所述子图中每个节点连接的边构成扩展边集合,根据所述扩展边集合,更新所述子图对应的节点数据集合与边数据集合,确定更新后的所述子图为目标子图;
分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,使用所有目标子图的融合特征对所述图神经网络进行训练,得到目标图神经网络。
第二方面,提供一种图神经网络的训练装置,所述装置包括:
获取模块,用于获取训练图结构中所有节点的节点数据和所有边的边数据,所有节点数据构成节点数据集合信息,所有边数据构成边数据集合信息;
提取模块,用于根据所述节点数据集合信息与所述边数据集合信息,以及预设的提取规则,从所述图结构中提取N个子图,所述子图包括至少两个节点,其中,所述子图中所有节点的节点数据形成对应子图的节点数据集合,所述子图中所有节点连接的边的边数据形成对应子图的边数据集合,N为大于1 的整数;
目标子图确定模块,用于针对任一子图,从所述边数据集合中获取与所述子图中每个节点连接的边构成扩展边集合,根据所述扩展边集合,更新所述子图对应的节点数据集合与边数据集合,确定更新后的所述子图为目标子图;
训练模块,用于分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,使用所有目标子图的融合特征对所述图神经网络进行训练,得到目标图神经网络。
第三方面,本发明实施例提供一种计算机设备,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的图神经网络的训练方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的图神经网络的训练方法。
本发明与现有技术相比存在的有益效果是:
获取训练图结构中所有节点的节点数据和所有边的边数据,所有节点数据构成节点数据集合信息,所有边数据构成边数据集合信息,根据节点数据集合信息与边数据集合信息,以及预设的提取规则,从图结构中提取N个子图,子图包括至少两个节点,其中,子图中所有节点的节点数据形成对应子图的节点数据集合,子图中所有节点连接的边的边数据形成对应子图的边数据集合, N为大于1的整数,针对任一子图,从边数据集合中获取与子图中每个节点连接的边构成扩展边集合,根据扩展边集合,更新子图对应的节点数据集合与边数据集合,确定更新后的子图为目标子图,分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,使用所有目标子图的融合特征对图神经网络进行训练,得到目标图神经网络,图信息为每个目标子图中节点的融合特征,将大数据中的图结构数据分为不同的子图,并对子图进行补充关联,使子图中每个节点特征更完备,从而根据子图中的特征训练图神经网络,可以得到更准确的训练完成的神经网络。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种图神经网络的训练方法的一应用环境示意图;
图2是本发明一实施例提供的一种图神经网络的训练方法的流程示意图;
图3是本发明一实施例提供的一种图神经网络的训练装置的结构示意图;
图4是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
为了说明本发明的技术方案,下面通过具体实施例来进行说明。
本发明一实施例提供的一种图神经网络的训练方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA) 等计算机设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
参见图2,是本发明一实施例提供的一种图神经网络的训练方法的流程示意图,上述报表生成方法可以应用于图1中的服务端,上述服务端连接相应的客户端,为客户端提供模型训练服务。如图2所示,该图神经网络的训练方法可以包括以下步骤。
S201:获取训练图结构中所有节点的节点数据和所有边的边数据,所有节点数据构成节点数据集合信息,所有边数据构成边数据集合信息。
在步骤S201中,图结构的数据集合包括节点数据集合信息与边数据集合信息。点数据集合信息包括图结构数据集合中的全部节点以及节点的属性信息,边数据集合信息包括图结构数据集合中的全部边以及边的边属性信息,节点的属性是指节点数据的自身特征,边的属性是指具有关联关系的节点之间的特征。例如,图结构数据可以是包含某软件全部用户的图,则节点的属性可以为用户的资产、账龄、每月消费等特征,边的属性可以为用户与用户之间的转账次数、转账金额、转账日期等特征。
本实施例中,获取图结构的数据集合,图结构数据的边数据为连接不同节点的数据,其中连接不同节点时,依据的是节点之间的关系,例如,社交关系、设备关系、交易关系和内容交互关系。例如,当各个极点表示用户信息时,若两个用户在社交平台中互相关注或者互为好友,则认为对应的两个用户节点之间存在社交关系。若两个用户使用过同一个终端设备,则认为对应的节点之间存在设备关系。若一个用户曾向另一个用户转账或发起收款,则认为二者间存在交易关系。若两个用户互相发送过内容,则认为二者间存在内容交互关系。在一个例子中,其中内容可以是文本、链接、图片(如动态表情)、或视频等。
需要说明的还是,当图结构数据表示用户与商品之间的关系时,图结构数据可以包括多个用户和多个商品,并且,连接边只存在于用户节点和商品节点之间,用户节点之间和商品节点之间不存在连接边,节点之间的关联关系可以包括点击关系、或购买关系或评价关系。若某个用户曾点击过针对某件商品的广告信息,则认为二者之间存在点击关系。若某个用户曾经购买过某件商品,则认为二者之间存在购买关系。
需要说明的是,当节点个数较多时,可以对每个节点进行编号,将节点的编号信息储存在接待数据信息中。
S202:根据节点数据集合信息与边数据集合信息,以及预设的提取规则,从图结构中提取N个子图。
在步骤S202中,根据节点数据集合信息与边数据集合信息,以及预设的提取规则,从图结构中提取N个子图,子图包括至少两个节点,其中,子图中所有节点的节点数据形成对应子图的节点数据集合,子图中所有节点连接边的边数据形成对应子图的边数据集合,N为大于1的整数,其中提取规则可以是根据节点之间的关联性大小进行提取,通过聚类,将图机构中的节点分为不同的类,每一类中的节点表示一个子图。
在一实施方式中,提取规则也可以根据节点编号进行随机选取,选取固定的节点数,将选取的节点作为一个子图,其中,节点编号为节点数据集合信息中的一个信息。
本实施例中,根据节点数据集合信息与边数据集合信息,以及预设的提取规则,从图结构中提取N个子图,子图是图结构中的部分数据,图结构可以是大规模图,例如,由上亿节点及节点之间的边构成的图。
本实施例中,子图结构用于反映对应的子图的图谱结构,子图中的每个及诶按的数据维度与图结构新来时的数据结构维度相同。
可选地,根据节点数据集合信息与边数据集合信息,以及预设的提取规则,从图结构中提取多个子图,包括:
根据节点数据集合信息中的节点个数,以及预设的子图个数,确定出每个子图中的节点个数;
根据节点数据集合信息与边数据集合信息,以及每个子图中的节点个数,从节点数据集合信息与边数据集合信息中依次选取每个子图对应的节点数据集合与边数据集合。
本实施例中,根据预先设置的子图个数,从图结构中提取不同的子图,提取时,每一子图中从图结构中选取不同的节点,作为一个子图,每个子图为一个训练样本。选取不同节点时,尽量使每个子图中的节点的个数相等,子图中的节点关系可以是直接关联关系,也可以是间接关系,直接关系为图结构中相邻节点,间接关系为图结构中的非相邻节点。
根据节点编号选取其中的节点作为子图的节点,若只选择直接关联的节点,则子图中相连的节点之间是相邻关系,若考虑间接关系,则子图中的节点可以是直接关联关系,也可以是间接关联关系。例如,若图结构是一个环形结构,每个节点之间只与相邻节点连接,编号从小到大依次进行编号,编号为2的节点与编号为1的节点和编号为3的节点连接,当选取子图时,选取直接关联的节点,可以选取编号为2的节点,编号为3的节点,编号为4的节点,作为一个子图,选取间接联节点时,可以选取编号为2的节点,编号为4的节点,编号为6的节点等,作为其中一个子图。
需要说明的是,当选取节点作为子图时,也可以固定每个节点的相邻节点个数,若相邻节点个数不在阈值范围之内,对选择的各节点进行上采样或下采样,使得上采样或下采样后得到的各节点的邻节点的个数均为固定数目,从图结构图中的节点数据信息与边数据信息中,查询包含上采样或下采样后的各节点的子图的图信息。若固定相邻节点的固定数目为2,若选取的其中一个节点相邻的节点个数为3个,超过固定数目,因此需要对这三个节点进行下采样,例如从3个相邻节点中随机删除一个节点,若其中一个节点相邻的节点个数为 1个,低于固定数目,因此需要对该节点进行上采样,为该节点增加一个邻节点。
需要说明的是,选取节点时,当节点没有编号时,可以预先设置节点的多跳关系,多跳是与节点进行间隔的节点个数,若对邻节点的定义是一跳关系,则只有通过一条边相连的具有直接关联关系的节点才能归属于该子图的节点数据集合,若对邻节点的定义是多跳关系,除了具有直接关联关系的节点外,如:从目标极点开始通过“两跳”或“三跳”所到达的节点都可以归属于该节点的多个邻节点,将多个邻节点作为该子图中的节点。如:在社交关系中,针对目标用户,一跳关系可以查找到该目标用户的朋友,通过两跳关系可以查找到该目标用户的朋友的朋友。跳数信息是对邻节点关系的数值化描述。若跳数信息是1,则表示节点数据集合中包括的是与该节点具有直接关联关系的节点,若跳数信息是2,则表示邻节点数据集合中除了包括与该节点具有直接关联关系的顶点外,还包括通过直接关联关系的节点相连接的顶点,同理,若跳数信息是3,则表示该邻节点数据集合中还可以包括通过三跳与该节点相关联的节点,其他的跳数信息可以以此类推。
S203:针对任一子图,从边数据集合中获取与子图中每个节点连接的边构成扩展边集合,根据扩展边集合,更新子图对应的节点数据集合与边数据集合,确定更新后的子图为目标子图。
在步骤S203中,扩展边集合包括与节点连接的节点对应的边,但不在该子图中边数据集合中的边,扩展边数据集合是为子图增加对应节点数与边数,使子图之间可以包括相同的节点和边,以便子图可以更完整地表示图结构数据,防止子图的临界节点处的节点数据特征表示不完整,使训练的图神经网络准确度较低。
本实施例中,对每个子图中的节点进行扩展,根据图结构数据中的边数据集合,获得每个子图中与每个节点连接的节点,首先判断与节点连接的节点是否在子图中,若与节点连接的节点不在该子图中,则将与节点连接边加入至该子图中,形成扩展边集合。
可选地,针对任一子图,从边数据集合中获取与子图中每个节点连接的边构成扩展边集合,根据扩展边集合,更新子图对应的节点数据集合与边数据集合,确定更新后的子图为目标子图,包括:
获取相邻节点的节点数据,将节点数据加入子图的节点数据集合,得到更新后的节点数据集合;
根据更新后的节点数据集合,从边数据集合中获取对应的扩展边集合,得到更新后的子图,确定更新后的子图为目标子图。
本实施例中,根据每个节点数据集合与边数据集合,确定每个子图中对应节点的相邻节点,例如,当图结构数据包括编号为1,2,3,4,5的节点,且节点之间相互连接,编号1的节点与编号5的节点连接,形成闭环的图结构数据,当其中一个子图选择编号为1,和编号为2的节点时,对该子图进行扩展处理,从图结构数据中可以得到节点数据集合与边数据集合,根据节点数据集合与边数据集合确定出该子图中对应节点的相邻节点,编号为1的节点与编号为5 的节点连接,则将编号为5的节点加入至节点数据集合中,得到更新后的节点数据集合,根据更新后的节点数据集合,从边数据集合中获取对应的扩展边集合,得到更新后的子图,确定更新后的子图为目标子图。
当得到每个子图中的更新后的节点数据集合,当多个子图对应的更新后的节点数据集合具有相同的的节点时,将相同的节点进行去重处理,得到目标节点,目标节点与扩展边数据集合,得到对应的目标子图。
可选地,根据更新后的节点数据集合,从边数据集合中获取对应的扩展边集合,得到更新后的子图,包括:
获取更新后的节点数据集合中的相同节点,对相同节点进行去重处理,得到去重后的节点数据集合;
根据去重后的节点数据集合,从边数据集合中获取对应的扩展边集合,得到更新后的子图。本实施例中,获取更新后的节点数据集合中的相同节点,对相同节点进行去重处理,得到去重后的节点数据集合,从更新后的节点数据集合中去重相同的节点数据,得到目标节点数据集合,例如,当子图中多个节点与同一个不属于该子图的节点连接,则获得的更新后的节点数据集合,因此,将更新后的节点数据集合中的节点进行去重处理,使节点数据集合中只包含单一的节点,得到去重后的节点数据集合。根据去重后的节点数据集合,从边数据集合中获取对应的扩展边集合,得到更新后的子图。
S204:分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,使用所有目标子图的融合特征对图神经网络进行训练,得到目标图神经网络。
在步骤S204中,根据每个目标子图中的节点数据集合信息与边数据集合信息,得到每个目标子图的图信息,基于目标子图的图信息,训练图神经网络,得到目标图神经网络,图信息为每个目标子图中节点的融合特征。图神经网络可以实现为深度神经网络DNN(Deep NeuralNetwork),图卷积神经网络 GCN(Graph Convolutional Network),图注意力网络GAT(GraphAttention Network)。相应,该图神经网络可以基于节点特征,对关系网络图进行图嵌入处理,得到各个节点对应的各个节点嵌入向量。
本实施例中,将目标子图作为一个训练样本,根据目标子图中的节点与边信息,得到目标子图对应的图信息,根据目标子图对应的图信息中的节点数据与边数据构建节点对应的融合特征,基于融合特征对图神经网络进行训练,训练时,图神经网络的损失函数可以是Softmax函数、Contrastive Loss函数、 Triplet Loss函数、Center Loss函数、Margin函数等,梯度下降算法可以是 SGD(stochastic gradient descent随机梯度下降算法)算法、带动量项的随机梯度下降算法、自适应梯度算法(adaptive gradient)、自适应矩阵估计算法(adaptive momentestimation)等。
需要说明的是,训练之前调整目标子图中的各节点的节点编号,以得到连续的节点编号,并且,根据调整后的各节点编号,得到调整后的各连接边各自对应的边编号,根据调整后的节点编号和调整后的边编号,将目标子图的图信息表示为矩阵,将矩阵输入图神经网络模型。可以理解的是,目标子图包括原图结构中的部分节点,该部分节点的节点编号未必是连续的。
需要说明的是,利用目标子图的图信息,对图神经网络模型进行训练。可以理解的是,子图的图信息与原图的图信息相比数据量大大减少,有利于提高运算效率。
本实施例中,在训练图神经网络时,可以基于预定的损失函数形式,对多个预测结果以及相对应的多个融合特征进行计算处理,得到训练损失,再基于训练损失通过求偏导运算,确定图神经网络参数的梯度计算表达式,进而将该梯度计算表达式中针对激活函数的梯度求解项替换成上述乘积矩阵,由此得到新的梯度计算表达式,用于确定实际训练过程中的训练梯度。其中损失函数形式可以是交叉熵损失函数、铰链损失函数、二阶范数的平方等。
在一实施例方式中,训练梯度所对应的损失函数还可以基于多个预测结果与融合特征之间的差值向量而设定,例如,损失函数形式可以是差值向量的二阶范数的平方,或者,可以是差值向量的平方或绝对值的立方等。相应地,图神经网络中参数训练梯度的确定可以包括:基于上述乘积矩阵、融合特征矩阵以及差值向量进行相乘处理,得到训练梯度。
在一实施例方式中,若图神经网络为分类网络,则每个目标子图中的节点包括一个分类标签数据,将目标子图的图信息输入图神经网络模型,得到节点对应的预测值,根据预测值和目标样本标签,调整图神经网络模型的模型参数。
可选地,分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,包括:
基于每个目标子图的节点数据集合信息与边数据集合信息,得到目标子图中每个节点的特征向量与每个边的边特征向量;
将目标子图中每个节点的特征向量与每个边的边特征向量进行融合,得到每个节点的融合特征,每个节点的融合特征构成每个目标子图的图信息。
本实施例中,基于每个目标子图的节点数据集合信息与边数据集合信息,得到目标子图中每个节点的特征向量与每个边的边特征向量,将目标子图中每个节点的特征向量与每个边的边特征向量进行融合,得到每个节点的融合特征,融合特征表征了节点在该目标子图中与关联节点的对应关系。节点特征向量与边特征向量进行融合时,将节点特征向量与边特征向量进行相乘或相加,得到对应的融合特征,每个节点的融合特征构成每个目标子图的图信息。
可选地,将目标子图中每个节点的特征向量与每个边的边特征向量进行融合,得到每个节点的融合特征,包括:
根据目标子图中每个节点的特征向量与每个边的边特征向量,进行第一特征融合,得到每个节点的初始融合特征;
获取与每个节点连接的关联节点,并得到每个关联节点的初始融合特征;
对每个节点的关联节点的初始融合特征进行均值计算,得到对应节点的融合特征。
本实施例中,根据目标子图中每个节点的特征向量与每个边的边特征向量,进行第一特征融合,得到每个节点的初始融合特征,根据目标子图中的节点数据集合与边数据集合,使用每个节点的特征向量得到对应的节点之间的关联关系。
获取与每个节点连接的关联节点,并得到每个关联节点的初始融合特征,当获取每个目标子图中的节点后,确定每个节点对应的边数据集合以及与该节点联机的关联节点,其中,每个节点的融合特征与其关联的节点的融合特征相关,所以对每个节点的关联节点的初始融合特征进行均值计算,得到对应节点的融合特征。
可选地,基于目标子图的图信息,对图神经网络进行训练,得到目标图神经网络,包括:
基于目标子图的图信息,确定对应目标子图中的节点的融合特征矩阵;
根据融合特征矩阵,以及预设的激活函数,得到图神经网络中参数的训练梯度,并基于训练梯度更新图神经网络中的参数,得到目标图神经网络。
本实施例中,对于图神经网络中包含激活函数的网络层,其对融合特征矩阵的处理可以表示为σ(cW),其中σ表示激活函数,c表示融合特征矩阵,W 表示网络层中用于对c进行线性变换处理的参数矩阵。在传统的随机梯度下降法中,在计算W的梯度时,需求解激活函数的梯度项σ′(c),然而,就大多数激活函数而言,求解σ′(c)的计算量巨大,为了得到W和其他与图神经网络联合训练的神经网络的网络参数的真实梯度,需要对训练数据集进行较高数量级的遍历,而利用上述乘积矩阵,作为σ′(c)的近似替代项,可以直接根据训练数据计算得到,只需遍历一次训练数据集,并且,可以实现图神经网络的参数随着训练迭代次数的增加而线性收敛,这样的训练收敛过程和训练效果是可控的,并且经过理论论证,只需消耗相对常规方式小得多得计算量,即可训练出嵌入表征效果优异的目标图神经网络。
获取训练图结构中所有节点的节点数据和所有边的边数据,所有节点数据构成节点数据集合信息,所有边数据构成边数据集合信息,根据节点数据集合信息与边数据集合信息,以及预设的提取规则,从图结构中提取N个子图,子图包括至少两个节点,其中,子图中所有节点的节点数据形成对应子图的节点数据集合,子图中所有节点连接的边的边数据形成对应子图的边数据集合, N为大于1的整数,针对任一子图,从边数据集合中获取与子图中每个节点连接的边构成扩展边集合,根据扩展边集合,更新子图对应的节点数据集合与边数据集合,确定更新后的子图为目标子图,分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,使用所有目标子图的融合特征对图神经网络进行训练,得到目标图神经网络,图信息为每个目标子图中节点的融合特征,将大数据中的图结构数据分为不同的子图,并对子图进行补充关联,使子图中每个节点特征更完备,从而根据子图中的特征训练图神经网络,可以得到更准确的训练完成的神经网络。
请参阅图3,图3是本发明实施例提供的一种图神经网络的训练装置的结构示意图。本实施例中该终端包括的各单元用于执行图2对应的实施例中的各步骤。具体请参阅图2及图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,训练装置30包括:获取模块31,提取模块32,目标子图确定模块33,训练模块34,
获取模块31,用于获取训练图结构中所有节点的节点数据和所有边的边数据,所有节点数据构成节点数据集合信息,所有边数据构成边数据集合信息。
提取模块32,用于根据节点数据集合信息与边数据集合信息,以及预设的提取规则,从图结构中提取N个子图,子图包括至少两个节点,其中,子图中所有节点的节点数据形成对应子图的节点数据集合,子图中所有节点连接的边的边数据形成对应子图的边数据集合,N为大于1的整数。
目标子图确定模块33,用于针对任一子图,从边数据集合中获取与子图中每个节点连接的边构成扩展边集合,根据扩展边集合,更新子图对应的节点数据集合与边数据集合,确定更新后的子图为目标子图。
训练模块34,用于分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,使用所有目标子图的融合特征对图神经网络进行训练,得到目标图神经网络。
可选的是,上述提取模块32包括:
子图节点个数确定单元,用于根据节点数据集合信息中的节点个数,以及预设的子图个数,确定出每个子图中的节点个数。
子图确定单元,用于根据节点数据集合信息与边数据集合信息,以及每个子图中的节点个数,从节点数据集合信息与边数据集合信息中依次选取每个子图对应的节点数据集合与边数据集合。
可选的是,上述目标子图确定模块33包括:
更新后的节点数据集合确定单元,用于获取相邻节点的节点数据,将节点数据加入子图的节点数据集合,得到更新后的节点数据集合。
目标子图确定单元,用于根据更新后的节点数据集合,从边数据集合中获取对应的扩展边集合,得到更新后的子图,确定更新后的子图为目标子图。
可选的是,上述目标子图确定单元包括:
去重子单元,用于获取更新后的节点数据集合中的相同节点,对相同节点进行去重处理,得到去重后的节点数据集合。
更新后的子图确定子单元,用于根据去重后的节点数据集合,从边数据集合中获取对应的扩展边集合,得到更新后的子图。
可选的是,上述训练模块34包括:
特征向量确定单元,用于基于每个目标子图的节点数据集合信息与边数据集合信息,得到目标子图中每个节点的特征向量与每个边的边特征向量。
融合特征确定单元,用于将目标子图中每个节点的特征向量与每个边的边特征向量进行融合,得到每个节点的融合特征,每个节点的融合特征构成每个目标子图的图信息。
目标图神经网络确定单元,用于基于目标子图的图信息,对图神经网络进行训练,得到目标图神经网络。
可选的是,上述融合特征确定单元包括:
初始融合特征确定子单元,用于根据目标子图中每个节点的特征向量与每个边的边特征向量,进行第一特征融合,得到每个节点的初始融合特征。
关联目标节点的初始融合特征确定子单元,用于获取与每个节点连接的关联节点,并得到每个关联节点的初始融合特征。
融合特征确定子单元,用于对每个节点的关联节点的初始融合特征进行均值计算,得到对应节点的融合特征。
可选的是,上述目标图神经网络确定单元包括:
融合特征矩阵确定子单元,用于基于目标子图的图信息,确定对应目标子图中的节点的融合特征矩阵。
更新子单元,用于根据融合特征矩阵,以及预设的激活函数,得到图神经网络中参数的训练梯度,并基于训练梯度更新图神经网络中的参数,得到目标图神经网络。
需要说明的是,上述单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图4是本发明实施例提供的一种计算机设备的结构示意图。如图4所示,该实施例的计算机设备包括:至少一个处理器(图4中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个图神经网络的训练方法实施例中的步骤。
该计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图4仅仅是计算机设备的举例,并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。
所称处理器可以是CPU,该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器包括可读存储介质、内存储器等,其中,内存储器可以是计算机设备的内存,内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。可读存储介质可以是计算机设备的硬盘,在另一些实施例中也可以是计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本发明实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图神经网络的训练方法,其特征在于,所述训练方法包括:
获取训练图结构中所有节点的节点数据和所有边的边数据,所有节点数据构成节点数据集合信息,所有边数据构成边数据集合信息;
根据所述节点数据集合信息与所述边数据集合信息,以及预设的提取规则,从所述图结构中提取N个子图,所述子图包括至少两个节点,其中,所述子图中所有节点的节点数据形成对应子图的节点数据集合,所述子图中所有节点连接的边的边数据形成对应子图的边数据集合,N为大于1的整数;
针对任一子图,从所述边数据集合中获取与所述子图中每个节点连接的边构成扩展边集合,根据所述扩展边集合,更新所述子图对应的节点数据集合与边数据集合,确定更新后的所述子图为目标子图;
分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,使用所有目标子图的融合特征对所述图神经网络进行训练,得到目标图神经网络。
2.如权利要求1所述的图神经网络的训练方法,其特征在于,所述根据所述节点数据集合信息与所述边数据集合信息,以及预设的提取规则,从所述图结构中提取N个子图,包括:根据所述节点数据集合信息中的节点个数,以及预设的子图个数,确定出每个子图中的节点个数;
根据所述节点数据集合信息与所述边数据集合信息,以及每个子图中的节点个数,从所述节点数据集合信息与所述边数据集合信息中依次选取每个子图对应的节点数据集合与边数据集合。
3.如权利要求1所述的图神经网络的训练方法,其特征在于,所述针对任一子图,从所述边数据集合中获取与所述子图中每个节点连接的边构成扩展边集合,根据所述扩展边集合,更新所述子图对应的节点数据集合与边数据集合,确定更新后的所述子图为目标子图,包括:
获取相邻节点的节点数据,将所述节点数据加入所述子图的节点数据集合,得到更新后的节点数据集合;
根据所述更新后的节点数据集合,从所述边数据集合中获取对应的扩展边集合,得到更新后的所述子图,确定更新后的所述子图为目标子图。
4.如权利要求3所述的图神经网络的训练方法,其特征在于,所述根据所述更新后的节点数据集合,从所述边数据集合中获取对应的扩展边集合,得到更新后的所述子图包括:
获取所述更新后的节点数据集合中的相同节点,对所述相同节点进行去重处理,得到去重后的节点数据集合;
根据所述去重后的节点数据集合,从所述边数据集合中获取对应的扩展边集合,得到更新后的所述子图。
5.如权利要求1所述的图神经网络的训练方法,其特征在于,所述分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,,包括:
基于每个目标子图的节点数据集合信息与边数据集合信息,得到所述目标子图中每个节点的特征向量与每个边的边特征向量;
将所述目标子图中每个节点的特征向量与每个边的边特征向量进行融合,得到每个节点的融合特征,每个节点的融合特征构成每个目标子图的图信息。
6.如权利要求5所述的图神经网络的训练方法,其特征在于,所述将所述目标子图中每个节点的特征向量与每个边的边特征向量进行融合,得到每个节点的融合特征,包括:
根据目标子图中每个节点的特征向量与每个边的边特征向量,进行第一特征融合,得到每个节点的初始融合特征;
获取与每个节点连接的关联节点,并得到每个关联节点的初始融合特征;
对每个节点的关联节点的初始融合特征进行均值计算,得到对应节点的融合特征。
7.如权利要求5所述的图神经网络的训练方法,其特征在于,所述基于所述目标子图的图信息,对所述图神经网络进行训练,得到目标图神经网络,包括:
基于所述目标子图的图信息,确定对应目标子图中的节点的融合特征矩阵;
根据所述融合特征矩阵,以及预设的激活函数,得到所述图神经网络中参数的训练梯度,并基于所述训练梯度更新所述图神经网络中的参数,得到目标图神经网络。
8.一种图神经网络的训练装置,其特征在于,所述装置包括:
获取模块,用于获取训练图结构中所有节点的节点数据和所有边的边数据,所有节点数据构成节点数据集合信息,所有边数据构成边数据集合信息;
提取模块,用于根据所述节点数据集合信息与所述边数据集合信息,以及预设的提取规则,从所述图结构中提取N个子图,所述子图包括至少两个节点,其中,所述子图中所有节点的节点数据形成对应子图的节点数据集合,所述子图中所有节点连接的边的边数据形成对应子图的边数据集合,N为大于1的整数;
目标子图确定模块,用于针对任一子图,从所述边数据集合中获取与所述子图中每个节点连接的边构成扩展边集合,根据所述扩展边集合,更新所述子图对应的节点数据集合与边数据集合,确定更新后的所述子图为目标子图;
训练模块,用于分别提取每个目标子图中的节点数据集合与边数据集合的融合特征,使用所有目标子图的融合特征对所述图神经网络进行训练,得到目标图神经网络。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的图神经网络的训练方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的图神经网络的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210948984.0A CN115293332A (zh) | 2022-08-09 | 2022-08-09 | 一种图神经网络的训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210948984.0A CN115293332A (zh) | 2022-08-09 | 2022-08-09 | 一种图神经网络的训练方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115293332A true CN115293332A (zh) | 2022-11-04 |
Family
ID=83827773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210948984.0A Pending CN115293332A (zh) | 2022-08-09 | 2022-08-09 | 一种图神经网络的训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115293332A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809686A (zh) * | 2023-02-03 | 2023-03-17 | 中国科学技术大学 | 提升循环图结构数据处理系统处理效率方法、设备及介质 |
CN115984633A (zh) * | 2023-03-20 | 2023-04-18 | 南昌大学 | 门级电路组件识别方法、系统、存储介质及设备 |
CN116681104A (zh) * | 2023-05-11 | 2023-09-01 | 中国地质大学(武汉) | 分布式空间图神经网络的模型建立及实现方法 |
CN117273086A (zh) * | 2023-11-17 | 2023-12-22 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
-
2022
- 2022-08-09 CN CN202210948984.0A patent/CN115293332A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809686A (zh) * | 2023-02-03 | 2023-03-17 | 中国科学技术大学 | 提升循环图结构数据处理系统处理效率方法、设备及介质 |
CN115984633A (zh) * | 2023-03-20 | 2023-04-18 | 南昌大学 | 门级电路组件识别方法、系统、存储介质及设备 |
CN116681104A (zh) * | 2023-05-11 | 2023-09-01 | 中国地质大学(武汉) | 分布式空间图神经网络的模型建立及实现方法 |
CN116681104B (zh) * | 2023-05-11 | 2024-03-12 | 中国地质大学(武汉) | 分布式空间图神经网络的模型建立及实现方法 |
CN117273086A (zh) * | 2023-11-17 | 2023-12-22 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
CN117273086B (zh) * | 2023-11-17 | 2024-03-08 | 支付宝(杭州)信息技术有限公司 | 多方联合训练图神经网络的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110472090B (zh) | 基于语义标签的图像检索方法以及相关装置、存储介质 | |
CN107798571B (zh) | 恶意地址/恶意订单的识别系统、方法及装置 | |
CN115293332A (zh) | 一种图神经网络的训练方法、装置、设备及存储介质 | |
CN109858040B (zh) | 命名实体识别方法、装置和计算机设备 | |
CN108805598B (zh) | 相似度信息确定方法、服务器及计算机可读存储介质 | |
CN109299258A (zh) | 一种舆情事件检测方法、装置及设备 | |
EP4242955A1 (en) | User profile-based object recommendation method and device | |
CN110110201B (zh) | 一种内容推荐方法和系统 | |
CN110458641A (zh) | 一种电商推荐方法及系统 | |
CN104239882A (zh) | 图像相似度确定装置和方法以及图像特征获取装置和方法 | |
US12086820B2 (en) | Technology opportunity mapping | |
CN110110213B (zh) | 挖掘用户职业的方法、装置、计算机可读存储介质和终端设备 | |
CN113449187A (zh) | 基于双画像的产品推荐方法、装置、设备及存储介质 | |
US20190080352A1 (en) | Segment Extension Based on Lookalike Selection | |
CN117391313B (zh) | 基于ai的智能决策方法、系统、设备以及介质 | |
CN110135769B (zh) | 货品属性填充方法及装置、存储介质及电子终端 | |
CN110362594A (zh) | 一种信息处理方法和系统 | |
CN115204971B (zh) | 产品推荐方法、装置、电子设备及计算机可读存储介质 | |
CN112084342A (zh) | 试题生成方法、装置、计算机设备及存储介质 | |
CN108512674B (zh) | 用于输出信息的方法、装置和设备 | |
CN113591881B (zh) | 基于模型融合的意图识别方法、装置、电子设备及介质 | |
CN108984777B (zh) | 客户服务方法、装置和计算机可读存储介质 | |
CN110851708B (zh) | 负样本的抽取方法、装置、计算机设备和存储介质 | |
CN115293291B (zh) | 排序模型的训练方法、排序方法、装置、电子设备及介质 | |
CN113742564A (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 |