CN117540260A - 构建图神经网络的方法和装置以及图分类方法和装置 - Google Patents
构建图神经网络的方法和装置以及图分类方法和装置 Download PDFInfo
- Publication number
- CN117540260A CN117540260A CN202210903800.9A CN202210903800A CN117540260A CN 117540260 A CN117540260 A CN 117540260A CN 202210903800 A CN202210903800 A CN 202210903800A CN 117540260 A CN117540260 A CN 117540260A
- Authority
- CN
- China
- Prior art keywords
- graph
- node
- neural network
- operator
- assignment matrix
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 116
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000011159 matrix material Substances 0.000 claims abstract description 119
- 238000011176 pooling Methods 0.000 claims abstract description 95
- 230000002776 aggregation Effects 0.000 claims abstract description 53
- 238000004220 aggregation Methods 0.000 claims abstract description 53
- 238000002360 preparation method Methods 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000014509 gene expression Effects 0.000 claims description 17
- 238000003062 neural network model Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 7
- 238000012549 training Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 20
- 102100029212 Putative tetratricopeptide repeat protein 41 Human genes 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 102000040650 (ribonucleotides)n+m Human genes 0.000 description 2
- 108091032973 (ribonucleotides)n+m Proteins 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101100339496 Caenorhabditis elegans hop-1 gene Proteins 0.000 description 1
- 241000854291 Dianthus carthusianorum Species 0.000 description 1
- 101000762967 Homo sapiens Lymphokine-activated killer T-cell-originated protein kinase Proteins 0.000 description 1
- 102100026753 Lymphokine-activated killer T-cell-originated protein kinase Human genes 0.000 description 1
- 102100023904 Nuclear autoantigenic sperm protein Human genes 0.000 description 1
- 101710149564 Nuclear autoantigenic sperm protein Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 238000009513 drug distribution Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 235000002020 sage Nutrition 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种构建图神经网络的方法和装置以及图分类方法和装置。所述构建图神经网络的方法包括:构建与图分类任务对应的图神经网络框架,并基于图神经网络框架构建结构搜索空间;在结构搜索空间中搜索针对图分类任务的最优图神经网络结构,其中,图神经网络框架包括:多个层模块;层处理模块,设置两个层模块之间,基于在先层模块中的图生成池化图,并将其输入到在后层模块中;以及合并运算模块,其中,层处理模块包括池化运算模块,其包括:节点准备块,在聚合图中选取已选节点;更新特征块,基于已选节点更新节点特征,或者,基于第一赋值矩阵来更新节点特征;重建连接块,基于已选节点重建连接关系,或者,基于第二赋值矩阵来重建连接关系。
Description
技术领域
本申请涉及图神经网络技术,更具体地讲,涉及一种构建用于图分类任务的图神经网络的方法和装置,以及一种基于图神经网络的图分类方法和装置。
背景技术
在现实生活领域和科学研究领域中,通常可利用图(Graph)来表示数据,图是一种对单独实体之间的复杂交互进行建模的普遍形式,并且在社交网络分析、推荐系统、药物分发等领域具有广泛的应用。例如,可以利用图来表示交通网络,利用图来表示社交网络,利用图来表示知识图谱,利用图来表示分子结构等。图可包括图节点和边,边可表示两个或更多个图节点之间的关系。基于图设计不同的神经网络,解决不同的任务,这是图神经网络(Graph Neural Network,GNN)研究的问题。现有的图神经网络模型大多采用了一种邻居聚合的框架,通过聚合邻居的特征来学习图上的节点的表达(即,特征嵌入向量)。
图分类任务中的GNN可以分类两大类:(1)全局池化(global pooling)方案,致力于捕获图的全局视野,通过设计聚合操作(aggregation operation)和读出操作(readoutoperation)得到的;(2)层次化池化(hierarchical pooling)方案,通过聚合层次化的信息来进一步提升模型性能,这类GNN通过设计聚合操作,读出操作和池化操作(poolingoperation)得到,其中池化操作用来生成池化图(pooled graph,又名coarsen graph),即和原图相比,减少图的规模。通过堆叠聚合操作和池化操作,模型可以捕获层次化的结构信息,继而生成更具表达力的图表征向量。根据池化操作的具体流程,层次化池化GNN可以细分为基于选择(selection-based)的层次化池化方案和基于组群(grouping-based)的层次化池化方案。
现有的自动设计图分类任务中的图神经网络模型的池化操作要么采用基于选择的层次化池化方案,要么采用基于组群的层次化池化方案,目前,并未有一个统一的框架可以涵盖这两种层次化池化方案,因而导致图神经网络的应用场景非常有限。
发明内容
为了至少解决现有技术中的上述问题,一种构建用于图分类任务的图神经网络的方法和装置,以及一种基于图神经网络的图分类方法和装置。
根据本公开的一方面,提供了一种构建图神经网络的方法,其特征在于,所述方法包括:构建与图分类任务对应的图神经网络框架,并基于所述图神经网络框架构建结构搜索空间;以及在所述结构搜索空间中搜索针对所述图分类任务的最优图神经网络结构,其中,所述图神经网络框架包括:多个层模块,其中,每个层模块用于基于存储在该层模块的图生成对应的层级图表达,所述多个层模块彼此顺序堆叠;层处理模块,设置在任意相邻的两个所述层模块之间,基于存储于在先层模块中的图生成池化图,并将该池化图输入到在后层模块中;以及合并运算模块,用于基于各个层模块生成的层级图表达,生成图级图表达,其中,每个层处理模块包括聚合运算模块和池化运算模块;其中,所述池化运算模块包括:节点准备块,用于通过评估节点重要程度,在所述聚合运算模块生成的聚合图中,选取已选节点;更新特征块,用于通过所述已选节点的加权特征来更新各已选节点的节点特征,或者,用于确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征;重建连接块,用于通过所述已选节点来重建各已选节点之间的连接关系,或者,用于确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系。
可选地,所述更新特征块用于确定第一赋值矩阵时,可具体用于:基于所述聚合图中的所述已选节点来进行聚类,并基于该第一聚类结果,确定所述第一赋值矩阵。
可选地,所述基于该第一聚类结果,确定所述第一赋值矩阵,可包括:基于该第一聚类结果通过激活函数确定所述第一赋值矩阵。
可选地,所述更新特征块用于基于所述聚合图中的所述已选节点来进行聚类时,可具体用于:通过预设的第一学习参数,对所述聚合图中的全部节点的节点特征进行自学习,得到第一自学习节点特征;计算所述聚合图的各节点的第一自学习节点特征和所述聚合图中的各已选节点的加权特征之间的相似度,根据相似度计算结果进行聚类,得到所述第一聚类结果。
可选地,所述重建连接块用于确定第二赋值矩阵时,可具体用于:基于所述聚合图中各已选节点来进行聚类,并基于该第二聚类结果,确定所述第二赋值矩阵。
可选地,所述基于该第二聚类结果,确定所述第二赋值矩阵,可包括:基于该第二聚类结果通过激活函数确定所述第二赋值矩阵。
可选地,所述重建连接块用于确定第二赋值矩阵时,可具体用于:将所述第一赋值矩阵用作所述第二赋值矩阵。
可选地,所述重建连接块用于基于所述聚合图中各已选节点来进行聚类时,可具体用于:通过预设的第二学习参数,对所述聚合图中全部节点的节点特征进行自学习,得到第二自学习节点特征;计算所述聚合图的各节点的第二自学习节点特征和所述聚合图中的各已选节点的加权特征之间的相似度,根据相似度计算结果进行聚类,得到所述第二聚类结果。
可选地,所述特征更新块的输入数据可包含各节点的标识数据,所述标识数据是基于所述节点准备块的节点选择结果,对各节点的选择状态进行标识得到的,其中,被所述节点准备块选中的任意一个节点的标识数据,与未被所述节点准备块选中的任意一个节点的标识数据不同。
可选地,可以在所述特征更新块之前设置掩码层,所述掩码层用于对各节点的选择状态进行标识。
可选地,所述更新特征块用于确定第一赋值矩阵时,可具体用于:针对任一节点,当该节点的掩码为目标标识时,确定所述第一赋值矩阵中与该节点对应的项为0;所述第一赋值矩阵用于表征任一其他节点与该节点之间的特征相似度,所述目标标识用于表示该节点未被所述节点准备块选中。
可选地,所述重建连接块用于确定第二赋值矩阵时,可具体用于:针对任一节点,当该节点的掩码为目标标识时,确定所述第二赋值矩阵中与该节点对应的项为0;所述第二赋值矩阵用于表征任意其他节点与该节点之间的特征相似度,所述目标标识用于表示该节点未被所述节点准备块选中。
可选地,所述基于所述图神经网络框架构建结构搜索空间,可包括:针对所述图神经网络框架中的各个模块,分别构建各模块对应的算子集合,得到所述结构搜索空间;其中,所述更新特征块所对应的算子集合,包括第一算子与第二算子,其中,所述第一算子用于指示通过所述已选节点的加权特征来更新各已选节点的节点特征,所述第二算子用于指示确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征;所述重建连接块对应的算子集合,包括第三算子与第四算子,其中,所述第三算子用于指示通过所述已选节点来重建各已选节点之间的连接关系,所述第四算子用于指示确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系。
可选地,所述节点准备块对应的算子集合可包括以下算子中的至少一种:TOPKPOOL算子、MLPPOOL算子、HOPPOOL_1算子、HOPPOOL_2算子、HOPPOOL_3算子、SAGPOOL算子、ASAP算子、GCPOOL算子、GAPPOOL算子、IDENTITY算子;所述第一算子包括以下算子中的至少一种:RED_DROP算子、RED_AGG算子,所述第二算子为RED_CLUSTER算子;所述第三算子为CONN_DROP算子、所述第四算子为CONN_CLUSTER算子。
可选地,当所述图分类任务为针对生物信息或文本信息的图分类任务时,所述更新特征块可选用第二算子,所述重建连接块可选用第四算子。
根据本公开的另一方面,提供了一种基于图神经网络的图分类的方法,其特征在于,所述方法包括:通过如上所述的构建图神经网络的方法获得与图分类任务对应的最优图神经网络结构;基于所述图分类任务,对具有所述最优图神经网络结构的图神经网络模型进行训练;利用经过训练的图神经网络模型获得所述图分类任务的各个图的图表达;以及基于各个图的图表达来分别预测各个图的类别。
根据本公开的另一方面,提供了一种构建图神经网络的装置,其特征在于,所述装置包括:构建单元,被配置为构建与图分类任务对应的图神经网络框架,并基于所述图神经网络框架构建结构搜索空间;以及搜索单元,被配置为在所述结构搜索空间中搜索针对所述图分类任务的最优图神经网络结构。其中,所述图神经网络框架包括:多个层模块,其中,每个层模块用于基于存储在该层模块的图生成对应的层级图表达,所述多个层模块彼此顺序堆叠;层处理模块,设置在任意相邻的两个所述层模块之间,基于存储于在先层模块中的图生成池化图,并将该池化图输入到在后层模块中;以及合并运算模块,用于基于各个层模块生成的层级图表达,生成图级图表达。其中,每个层处理模块包括聚合运算模块和池化运算模块。其中,所述池化运算模块包括:节点准备块,用于通过评估节点重要程度,在所述聚合运算模块生成的聚合图中,选取已选节点;更新特征块,用于通过所述已选节点的加权特征来更新各已选节点的节点特征,或者,用于确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征;重建连接块,用于通过所述已选节点来重建各已选节点之间的连接关系,或者,用于确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系。
可选地,所述更新特征块用于确定第一赋值矩阵时,可被配置为:基于所述聚合图中的所述已选节点来进行聚类,并基于该第一聚类结果,确定所述第一赋值矩阵。
可选地,所述更新特征块可以基于该第一聚类结果通过激活函数确定所述第一赋值矩阵。
可选地,所述更新特征块用于基于所述聚合图中的所述已选节点来进行聚类时,可被配置为:通过预设的第一学习参数,对所述聚合图中的全部节点的节点特征进行自学习,得到第一自学习节点特征;计算所述聚合图的各节点的第一自学习节点特征和所述聚合图中的各已选节点的加权特征之间的相似度,根据相似度计算结果进行聚类,得到所述第一聚类结果。
可选地,所述重建连接块用于确定第二赋值矩阵时,可被配置为:基于所述聚合图的各已选节点来进行聚类,并基于该第二聚类结果,确定所述第二赋值矩阵。
可选地,所述重建连接块可基于该第二聚类结果通过激活函数确定所述第二赋值矩阵。
可选地,所述重建连接块可将所述第一赋值矩阵用作所述第二赋值矩阵。
可选地,所述重建连接块用于基于所述聚合图中各已选节点来进行聚类时,可被配置为:通过预设的第二学习参数,对所述聚合图中全部节点的节点特征进行自学习,得到第二自学习节点特征;计算所述聚合图中各节点的第二自学习节点特征和所述聚合图中的各已选节点的加权特征之间的相似度,根据相似度计算结果进行聚类,得到所述第二聚类结果。
可选地,所述特征更新块的输入数据可以包含各节点的标识数据,所述标识数据是基于所述节点准备块的节点选择结果,对各节点的选择状态进行标识得到的,其中,被所述节点准备块选中的任意一个节点的标识数据,与未被所述节点准备块选中的任意一个节点的标识数据不同。
可选地,可以在所述特征更新块之前设置掩码层,所述掩码层用于对各节点的选择状态进行标识。
可选地,所述更新特征块用于确定第一赋值矩阵时,可被配置为:针对任一节点,当该节点的掩码为目标标识时,确定所述第一赋值矩阵中与该节点对应的项为0;所述第一赋值矩阵用于表征任一其他节点与该节点之间的特征相似度,所述目标标识用于表示该节点未被所述节点准备块选中。
可选地,所述重建连接块用于确定第二赋值矩阵时,可被配置为:针对任一节点,当该节点的掩码为目标标识时,确定所述第二赋值矩阵中与该节点对应的项为0;所述第二赋值矩阵用于表征任意其他节点与该节点之间的特征相似度,所述目标标识用于表示该节点未被所述节点准备块选中。
可选地,所述构建单元用于所述基于所述图神经网络框架构建结构搜索空间时,可被配置为:针对所述图神经网络框架中的各个模块,分别构建各模块对应的算子集合,得到所述结构搜索空间;其中,所述更新特征块所对应的算子集合,包括第一算子与第二算子,其中,所述第一算子用于指示通过所述已选节点的加权特征来更新各已选节点的节点特征,所述第二算子用于指示确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征;所述重建连接块对应的算子集合,包括第三算子与第四算子,其中,所述第三算子用于指示通过所述已选节点来重建各已选节点之间的连接关系,所述第四算子用于指示确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系。
可选地,所述节点准备块对应的算子集合可包括以下算子中的至少一种:TOPKPOOL算子、MLPPOOL算子、HOPPOOL_1算子、HOPPOOL_2算子、HOPPOOL_3算子、SAGPOOL算子、ASAP算子、GCPOOL算子、GAPPOOL算子、IDENTITY算子;所述第一算子包括以下算子中的至少一种:RED_DROP算子、RED_AGG算子,所述第二算子为RED_CLUSTER算子;所述第三算子为CONN_DROP算子、所述第四算子为CONN_CLUSTER算子。
可选地,当所述图分类任务为针对生物信息或文本信息的图分类任务时,所述更新特征块可选用第二算子,所述重建连接块可选用第四算子。
根据本公开的另一方面,提供了一种基于图神经网络的图分类的装置,其特征在于,所述装置包括:图神经网络结构获取单元,被配置为通过如上所述的构建图神经网络的方法获得与图分类任务对应的最优图神经网络结构;训练单元,被配置为基于所述图分类任务,对具有所述最优图神经网络结构的图神经网络模型进行训练;表示单元,被配置为利用经过训练的图神经网络模型获得所述图分类任务的各个图的图表达;以及类别预测单元,被配置为基于各个图的图表达来分别预测各个图的类别。
根据本公开的另一方面,提供了一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的构建图神经网络的方法和基于图神经网络的图分类方法。
根据本公开的另一方面,提供了一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行所述的构建图神经网络的方法和基于图神经网络的图分类方法。
通过应用根据本公开的示例性实施例的构建用于图分类任务的图神经网络的方法和装置,通过自动设计一个数据自适应的用于图分类任务的图神经网络,从而提升效果。本公开的实施例提供了一个全新的模型框架(framework),其中,模型框架中的池化运算模块包括如上所述的节点准备模块、更新特征块和重建连接块。在节点准备块选取聚合图中的全部节点作为已选节点时,模型框架可以执行全局池化方案;在节点准备块选取聚合图中的部分节点作为已选节点时,模型框架可以执行层次化池化方案。在更新特征块用于通过已选节点的加权特征来更新各已选节点的节点特征,且重建连接块用于通过所述已选节点来重建各已选节点之间的连接关系时,模型框架可以执行基于选择的层次化池化方案;在更新特征块用于确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征,且重建连接块用于确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系时,模型框架可以执行基于组群的层次化池化方案。根据本公开的实施例的模型框架不仅能够涵盖全局池化方案、基于选择的层次化池化方案和基于组群的层次化池化方案,还可以通过节点准备模块、更新特征块和重建连接块的算子的组合来实现不同池化方案的杂合,从而适应于更多的应用场景。
另一方面,本公开的实施例在特征更新块之前,还包括基于节点准备块的节点选择结果,对各节点的选择状态进行标识,并通过各节点的掩码是否为目标标识来执行松弛,进而引入了可微搜索算法(differentiable search algorithm)来进行模型结构搜索,从而实现更高的效率和更好的效果,尤其是在生物化学分子性质预测数据集上。
附图说明
从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:
图1A是根据本公开的示例性实施例的构建图神经网络的方法的流程图;
图1B是根据本公开的示例性实施例的图神经网络框架的框图;
图2是根据本公开的示例性实施例的图神经网络框架的示例;
图3是现有技术中的对比例与根据本公开的示例性实施例的池化运算模块的对比示例;
图4是根据本公开的示例性实施例的基于图神经网络的图分类的方法的流程图;
图5是根据本公开的示例性实施例的构建图神经网络的装置的框图;
图6是根据本公开的示例性实施例的基于图神经网络的图分类的装置的框图;以及
图7是示出根据本公开的实施例的电子设备的框图。
具体实施方式
提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本公开的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到在不脱离本公开的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
下面参照图1A至图4详细描述根据本公开的示例性实施例的构建图神经网络的方法和装置。
图1A是根据本公开的示例性实施例的构建图神经网络的方法的流程图,图1B是根据本公开的示例性实施例的图神经网络框架的框图。
参照图1A,在步骤S100中,构建与图分类任务对应的图神经网络框架(framework),并基于图神经网络框架构建结构搜索空间。
在本公开的示例性实施例中,图分类任务至少可以适用于文本信息与生物信息。例如,图分类任务可以用于生物化学分子性质预测的分类任务,诸如预测分子样本的特性,或者是预测蛋白质关联子图的生物分类群来源。又例如,可以通过文本信息中的词汇构建多个词语节点,并可应用于信息检索、情感分析、事件追踪、关键词抽取或者摘要生成等文本信息分类任务中。本公开提出的图神经网络架构不仅可以广泛的用于图分类任务中,还适用于其他需要学习图级别或者子图级别特征的任务,比如链路预测任务等。
在步骤S200中,在结构搜索空间中搜索针对图分类任务的最优图神经网络结构。
参照图1B,图神经网络框架包括:多个层模块110、层处理模块115和合并运算模块120。
每个层模块110用于基于存储在该层模块的图,生成对应的层级图表达,多个层模块110彼此顺序堆叠。例如,层模块110可以包括用于存储作为输入的图的存储模块(未示出)和用于基于该图生成层级图表达的层读出运算模块(参见图2中的层读出运算模块Or)。
层处理模块115设置在任意相邻的两个层模块110之间,基于存储于在先层模块110中的图生成池化图,并将该池化图输入到在后层模块110中。
合并运算模块120用于基于各个层模块110生成的层级图表达,生成图级图表达。
在实施例中,每个层处理模块115包括聚合运算模块Oa和池化运算模块OP。
在实施例中,池化运算模块OP包括:节点准备块Ose、更新特征块Ored和重建连接块Oconn。
其中,节点准备块Ose用于通过评估节点重要程度,在聚合运算模块Oa生成的聚合图中,选取部分节点或全部节点作为已选节点。更新特征块Ored用于通过已选节点的加权特征来更新各已选节点的节点特征,或者,用于确定第一赋值矩阵,并通过所述第一赋值矩阵来更新各已选节点的节点特征。重建连接块Oconn用于通过已选节点来重建各已选节点之间的连接关系,或者,用于确定第二赋值矩阵,并通过第二赋值矩阵来重建各已选节点之间的连接关系。
在本公开的示例性实施例中,图数据(在下文中也可被简称为“图”)可表示为G=(A,H),其中,是该图的邻接矩阵,N是图中的节点个数,/>表示节点特征,并且可以是节点向量表示,d指特征维度。
下面将在下文中将结合图2对模型框架的结构进行解释。图2是根据本公开的示例性实施例的图神经网络框架的示例。
参照图2,模型框架可包括:层模块、层处理模块以及合并运算模块Om。示例性的,图2中示出3个层模块,分别表示为110_0、110_1和110_2,以及,图2中示出2个层处理模块,分别表示为115_1和115_2,应当理解,层模块与层处理模块的数目均仅为示例性的说明模块之间关系,实际场景中,这两种模块的数目可以基于需求自定义设计,本公开实施例对此并无特别限制。每个层模块110_0、110_1和110_2可以包括存储作为输入的图的存储模块和用于基于存储在存储模块中的图生成层级图表达的层读出运算模块Or,每个层处理模块115_1和115_2可以包括聚合运算模块Oa和池化运算模块OP。具体地,第一层模块110_0的层读出运算模块可基于输入到第一层模块110_0的图G0来生成层级图表达z0,第一层处理模块115_1的聚合运算模块/>可基于图G0来生成聚合图G1a(Al-1,Hla),第一层处理模块115_1的池化运算模块/>可以基于G1a生成池化图(或称为粗图)G1,并将池化图G1输入到第二层模块110_1。类似地,第二层模块110_1的层读出运算模块/>可基于输入到其的图G1来生成层级图表达z1,第二层处理模块115_2的聚合运算模块/>可基于图G1来生成聚合图G2a,第二层处理模块115_2的池化运算模块/>可以基于G2a生成池化图G2,并将池化图G2输入到第三层模块110_2;第三层模块110_2的层读出运算模块/>可基于输入到其的图G2来生成层级图表达z2。接着,合并运算模块Om可基于图表达z0、z1和z2来生成最终的输出图表达zF。需要说明的是,图2中示出的层模块的数量仅是为了便于说明,将不被理解为对本公开的限制。
此外,参照图1A、图1B和图2所示,对于任意的一个第l层模块100_l(例如,第一层模块110_0、第二层模块110_1或第三层模块110_2),其可包括节点准备块Ose、更新特征块Ored和重建连接块Oconn。节点准备块Ose可基于输入到第l层模块的聚合图Gla来评估节点的重要程度sl,在聚合图Gla中,选取已选节点。更新特征块Ored用于通过已选节点的加权特征来更新各已选节点的节点特征Hl,或者,用于确定第一赋值矩阵,并通过第一赋值矩阵来更新各已选节点的节点特征Hl。重建连接块Oconn用于通过已选节点来重建各已选节点之间的连接关系Al,或者,用于确定第二赋值矩阵,并通过第二赋值矩阵重建各已选节点之间的连接关系Al。至此,第l层模块的池化运算模块可基于聚合图Gla产生池化图Gl(Hl,Al)并将所述池化图Gl输入到所连接的下一层模块。
在实施例中,更新特征块Ored用于确定第一赋值矩阵BH时,可以基于聚合图Gla中各已选节点进行聚类,并基于该第一聚类结果,确定第一赋值矩阵BH。例如,可以基于该第一聚类结果通过诸如softmax等的激活函数来确定所述第一赋值矩阵。具体地,可以通过预设的第一学习参数WH,对聚合图Gla中全部节点的节点特征Hl进行自学习,得到第一自学习节点特征(例如,可以由WHHl来表示);以及基于计算聚合图Gla中各节点的第一自学习节点特征和各已选节点的加权特征(例如,可以由Hl⊙sl来表示)来进行聚类,得到第一聚类结果。例如,通过计算聚合图Gla中各节点的第一自学习节点特征和各已选节点的加权特征之间的相似度,并根据相似度计算结果来进行聚类,从而得到第一聚类结果。也就是说,可以将由节点准备块Ose选择的已选节点作为聚类的簇头来执行聚类操作。
此外,在实施例中,重建连接块Oconn用于确定第二赋值矩阵BA时,通过所述聚合图Gla中各已选节点来进行聚类,并基于该第二聚类结果,确定第二赋值矩阵。例如,基于该第二聚类结果通过诸如softmax等的激活函数确定所述第二赋值矩阵。具体地,可以通过预设的第二学习参数WA,对聚合图Gla中全部节点的节点特征Hl进行自学习,得到第二自学习节点特征(例如,可以由WAHl来表示);以及基于聚合图Gla中各节点的第二自学习节点特征和各已选节点的加权特征(例如,可以由Hl⊙sl来表示)来进行聚类,得到第二聚类结果。此外,可以将所述第一赋值矩阵用作所述第二赋值矩阵,如此,可以省去确定第二赋值矩阵的计算步骤。
在现有技术中,基于选择的层次化池化方案,根据节点评分函数基于信息量最大(例如,节点的评分最高)的节点制定聚合图,并通过删除未被选择的节点和与它们相连的边来形成聚合图,这可能会在一定程度上导致信息丢失;而基于组群的层次化池化方案,则是首先通过对节点进行聚类,并根据聚类结果重建聚合图的节点特征和邻接矩阵。
在这种情况下,根据本公开的示例实施例的图神经网络框架模型框架中的池化模块包括如上所述的节点准备模块、更新特征块和重建连接块。在节点准备块选取聚合图中的全部节点作为已选节点时,模型框架可以执行全局池化方案;在节点准备块选取聚合图中的部分节点作为已选节点时,模型框架可以执行层次化池化方案。在更新特征块用于通过已选节点的加权特征来更新各已选节点的节点特征,且重建连接块用于通过所述已选节点来重建各已选节点之间的连接关系时,模型框架可以执行基于选择的层次化池化方案;在更新特征块用于确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征,且重建连接块用于确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系时,模型框架可以执行基于组群的层次化池化方案。从而使得根据本公开的实施例的模型框架不仅能够涵盖全局池化方案和层次化池化方案,还可以涵盖基于选择的层次化池化方案和基于组群的层次化池化方案两者。此外,在结构搜索空间中自动搜索针对图分类任务的最优图神经网络结构的步骤中,因搜索空间大适配性能更好,更易搜索到适配的模型结构。
关于更新特征块Ored和重建连接块Oconn的算子集合的具体示例将稍后进行详细描述。
图3是现有技术中的对比例与根据本公开的示例性实施例的池化运算模块的对比示例。
参照图3,在现有技术中,在基于选择的层次化池化方案中,重点是准备最有信息的节点,即,在节点准备阶段通过评分函数s获得已选节点idx,并通过删除未被选择的节点和与它们相连的边来形成池化图(或称为粗图),这可能会在一定程度上导致信息丢失。为此,为了避免信息丢失,可以采用基于组群的层次化池化方案,其优势在于利用未选择节点的特征,并基于所有输入边重建邻接矩阵。即,在节点准备阶段通过聚类计算(例如,通过赋值函数计算)各节点被分配到各个簇的概率,从而获得赋值矩阵B。因为基于选择的层次化池化方案获得的已选节点与基于组群的层次化池化方案获得的赋值矩阵B不相匹配,因此现有技术中,通常择一选用基于选择的层次化池化方案和基于组群的层次化池化方案,二者无法集成在选择块中。
根据本公开的示例性实施例,在节点准备块选取聚合图中的全部节点作为已选节点(即,f(s)选取全部节点)时,模型框架可以执行全局池化方案;在节点准备块选取聚合图中的部分节点作为已选节点(例如,f(s)=TOPk(s))时,模型框架可以执行层次化池化方案。
根据本公开的示例性实施例,更新特征块用于确定第一赋值矩阵BH,并通过所述第一赋值矩阵BH来更新所述各已选节点的节点特征(即,)。具体地,通过计算各节点和各已选节点之间的相似度,并根据相似度计算结果来进行聚类,从而得到第一聚类结果,并基于该第一聚类结果,确定第一赋值矩阵BH。重建连接块用于确定第二赋值矩阵BA,并通过第二赋值矩阵重建各已选节点之间的连接关系(即,/>)。具体地,通过计算各节点和各已选节点之间的相似度来进行聚类,得到第二聚类结果,并基于该第二聚类结果,确定第二赋值矩阵BA。也就是说,可以将已选节点(例如,排名靠前的节点idx)作为聚类算法中的簇头,保存在池化图中。并在随后的更新特征阶段和重建连接阶段重建赋值矩阵BH和BA,并基于重建的更新特征和邻接矩阵生成池化图。例如,池化图G’(H’,A’)可以被表示为:
其中,s为节点评分,用于评估节点的重要程度,fS为评分函数,idx表示节点,TOPk表示已选择的最重要的k个节点。BH表示第一赋值矩阵,该第一赋值矩阵可以通过赋值函数fH基于节点特征H、邻接矩阵A和节点评分s、已选节点idx(例如,已选节点的索引idx)来获得。BA表示第二赋值矩阵,该第二赋值矩阵可以通过赋值函数fA基于节点特征H、邻接矩阵A和节点评分s、已选节点idx(例如,已选节点的索引idx)来获得。
在这种情况下,根据本公开的实施例的模型框架中的池化模块包括如上所述的节点准备模块、更新特征块和重建连接块,通过如上描述的节点准备模块、更新特征块和重建连接块的操作能够涵盖全局池化方案和层次化池化方案,从而使得该模型框架不仅能够涵盖全局池化方案和层次化池化方案,而且能够涵盖基于选择的层次化池化方案和基于组群的层次化池化方案两者,从而具有更广的应用场景。
考虑到搜索的效率和有效性,还可以采用可微搜索算法。其中最主要的操作便是将离散的搜索空间松弛为连续空间。考虑到不同的池化操作保留了不同的节点和边,搜索空间无法连续化,本公开提出了一种松弛策略来填充池化操作。具体来说,对于未被选中的节点,将赋予其一个零向量作为其特征,对于未被选择的边,赋予其零权重。
在实施例中,特征更新块的输入数据包含各节点的标识数据。标识数据是基于节点准备块的节点选择结果,对各节点的选择状态进行标识得到的,其中,被节点准备块选中的任意一个节点的标识数据,与未被所述节点准备块选中的任意一个节点的标识数据不同。在特征更新块Ored之前设置掩码层,所述掩码层用于对各节点的选择状态进行标识。例如,可以基于节点的选择状态来计算掩码,针对在第l层模块中的节点v,如果节点v为未被所述节点准备块选中的节点,则掩码
例如,在更新特征块Ored用于确定第一赋值矩阵时,针对任一节点,当该节点的掩码为目标标识时,第一赋值矩阵中与该节点对应的项为0;第一赋值矩阵用于表征任一其他节点与该节点之间的特征相似度。在这种情况下,第一赋值矩阵可以被表示为
其中,表示在第l层模块中的第一赋值矩阵/>中,针对节点v,当节点v的掩码/>为0时,则表明节点v为未选节点,/>被赋值为0。在掩码/>不为0的情况下,则表明节点v为已选节点,可以通过相似度函数σ来计算节点u和节点v之间的相似度,并基于此来计算第一赋值矩阵。
又例如,在重建连接块Oconn用于确定第二赋值矩阵时,针对任一节点,当该节点的掩码为所述目标标识时,第二赋值矩阵中与该节点对应的项为0;第二赋值矩阵用于表征任意其他节点与该节点之间的特征相似度。在这种情况下,第二赋值矩阵可以被表示为
其中,表示在第l层模块中的第二赋值矩阵/>中,针对节点v,当节点v的掩码/>为0时,/>被赋值为0。在掩码/>不为0的情况下,则表明节点v为已选节点,可以通过相似度函数σ来计算节点u和节点v之间的相似度。
返回参照图1A,在步骤S100中,基于所述图神经网络框架构建结构搜索空间的步骤可以包括:针对图神经网络框架中的各个模块,分别构建各模块对应的算子集合,得到结构搜索空间。
在本公开的示例性实施例中,所述结构搜索空间可由针对图神经网络框架中的各种运算模块的算子集合构成,例如,针对聚合运算模块的聚合算子集合、针对读出运算模块的读出算子集合、针对池化运算模块的池化算子集合以及针对合并运算模块的合并算子集合。池化算子集合包括针对节点准备块的算子集合、针对更新特征块的算子集合和针对重建连接块的算子集合。各个算子集合中的算子名称如以下的表1中所示。
在上面的表1的聚合运算Oa对应的算子集合中,GCN(Graph ConvolutionNetwork)可表示图卷积网络算子,GAT(Graph Attention Network)可表示图注意力网络算子,SAGE(SAmple and aggreGatE)可表示图采样与聚合算子,GIN(Graph IsomorphismNetwork)可表示图同构网络算子,GRAPHCONV(Graph Convolution)可表示论文[Weisfeiler and leman go neural:Higher-order graph neural networks.In AAAI,Vol.33.4602-4609.]中提出的基于图卷积的算子,MLP(Multilayer Perceptrons)可表示多层感知机算子。
在表1的层读出运算Or对应的算子集合中,GLOBAL_SORT可表示通过对节点排序并基于前排节点计算图表达的算子,GLOBAL_ATT可表示全局基于注意力机制计算节点权重并基于此生成图表达的操作,SET2SET可表示将图看成节点集合,GLOBAL_MEAN可表示全局平均值操作,GLOBAL_MAX全局最大值操作,GLOBAL_SUM可表示全局求和操作,ZERO表示不选择操作。
在表1的合并运算Om对应的算子集合中,M_LSTM可表示长短期记忆单元操作,M_CONCAT可表示串联操作,M_MAX可表示最大值操作,M_MEAN可表示平均值操作,M_SUM可表示求和操作。
在表1的节点准备块Ose对应的算子集合中,TOPKPOOL表示TOPk池化操作,MLPPOOL表示多层感知机池化操作。此外,可以通过邻居节点来计算节点的结构重要性,其中,节点评分通过来计算,算子HOPPOOL_1、HOPPOOL_2和HOPPOOL_3分别表示上式中,t的取值为1,2,3。SAGPOOL(Self-attention Graph Pooling)表示自注意力图池化。ASAP表示自适应结构感知池化,GCPOOL表示是基于GRAPHCONV聚合操作的结果来计算node的权重,GAPPOOL表示根据节点和邻居节点之间的特征差异值来计算节点权重,IDENTITY表示基于标识符的选择操作。
在实施例中,与更新特征块所对应的算子集合包含第一算子(例如,算子RED_DROP和算子RED_AGG)与第二算子(例如,算子RED_CLUSTER),其中,第一算子用于指示采用基于选择的方法选取聚合图中的节点,第二算子用于指示采用基于聚类的方法对聚合图中的节点进行聚类。
例如,算子RED_DROP对应公式(4),算子RED_AGG对应公式(5),算子RED_CLUSTER对应公式(6)。
H′=(H⊙s)[idx,:] (4)
H′=(GRAPHCONV(A,H)⊙s)[idx,:] (5)
其中,为公式(4)、(5)、(6)中的符号与上文中已经提及的符号相同,在此省略冗余的描述。
在实施例中,与重建连接块对应的算子集合包括第三算子(例如,算子CONN_DROP)与第四算子(例如,算子CONN_CLUSTER),其中,第三算子用于指示采用基于选择的方法选取所述聚合图中各已选节点之间的连接关系,第四算子用于指示采用基于聚类的方法重建聚合图中各已选节点之间的连接关系。
例如,算子CONN_DROP对应公式(7),算子CONN_CLUSTER对应公式(8)。
A′=A[idx,idx] (7)
表1
以上各个算子的具体形式对于本领域技术人员而言是已知的,因此为了简明在此将不再赘述。此外,以上表1中列出的算子仅是示例,在具体应用时,上述各个算子集合还可包括更多其他算子,也可删除部分算子。
在公式(6)和公式(8)中,第一学习参数WH和第二学习参数WA可以是可学习参数。例如,可以将每一层中的特征维度设为相同的d。在这种情况下,第一学习参数并且第二学习参数/>表示实数。它们与图的特征维度N(例如,N表示节点特征的个数)不相关,从而可以实现簇数和特征维度的解耦。
此外,通过设计合适的搜索空间,可以将全局方法和分层方法(基于选择的层次化池化方案和基于组群的层次化池化方案)统一起来。
例如:根据本公开的示例性实施例,Graph U-Net方法的池化操作可以通过{TOPKPOOL;RED_DROP;CONN_DROP}来模拟。DiffPool方法的池化操作可以通过{SAGPOOL;RED_CLUSTER;CONN_CLUSTER}来模拟。对于全局池化方法,可以通过{IDENTITY;RED_DROP;CONN_DROP}表示跳过池化模块,使得Gl=Gla。
此外,通过节点准备模块、更新特征块和重建连接块的算子的组合,使得搜索空间不仅包括全局方法和分层方法(基于选择的层次化池化方案和基于组群的层次化池化方案),而且还可以包括杂合的池化方案,例如,算子的组合可以为{TOPKPOOL;RED_CLUSTER;CONN_DROP}或者{SAGPOOL;RED_DROP;CONN_CLUSTER}等。
除了更新特征块和重建连接块对应的算子集合之外,以上表1中列出的算子仅是示例,不用于限制算子的数目,也不限制具体的算子,只用于说明搜索空间的范围,并且上述各个算子集合还可包括更多其他算子。此外,除了以上列举的各种运算模块之外,图神经网络框架还可根据需要包括更多其他类型的运算模块,并且相应地,结构搜索空间也可包括与所述其他类型的运算模块对应的算子集合。
通过选用适合的算子,可以在减少信息损失和提高计算效率之间平衡。在根据本公开的示例实施例中,当图分类任务更为重视图结构重构(图结构信息)的任务时,例如,当图分类任务为生物医药领域内的图分类任务时,更新特征块选用第二算子,重建连接块选用第四算子。
在采用可微搜索算法的情况下,返回参照图1A和图2,第l层模块的聚合图G1a(Al-1,Hla)中的聚合图的节点特征Hla可以表示为
第1层模块生成的层级图表达zl可以表示为
合并运算模块生成的图级图表达zF可以表示为
其中,表示第l层的第i个聚合操作的权重,/>表示第l层的第i个读取操作的权重/>表示第l层的合并操作的权重,oi表示当前操作集合中第i操作。
其中,由节点准备块Ose生成的节点重要程度sl和掩码ml可以表示为
其中,表示第l层选择操作的权重。
由更新特征块Ored更新的节点特征Hl可以表示为
其中,表示第l层的第i个更新特征操作的权重。
类似地,将未选中的边的权重设为0,由重建连接块Oconn更新的各已选节点之间的连接关系Al可以表示为
其中,表示第l层的第i个重建连接操作的权重。
随后,在步骤S200中,基于在步骤S100中获得的图级图表达zF在结构搜索空间中搜索针对图分类任务的最优图神经网络结构。
例如,可以基于选择操作的权重更新特征操作的权重/>以及重建连接操作的权重/>来建立超网络参数,并以此构建目标函数和损失函数。通过使目标函数达到预设条件为迭代目标对超网络参数进行优化,并根据优化后的选择操作的权重/>更新特征操作的权重/>以及重建连接操作的权重/>自动地选择最优的算子组合。
根据本公开的实施例的构建图神经网络的方法,通过提供构建如上所述的图神经网络框架,使得结构搜索空间不仅能够匹配全局方法和分层方法(基于选择的层次化池化方案和基于组群的层次化池化方案),还可以通过节点准备模块、更新特征块和重建连接块的算子的组合来实现不同池化方案的杂合,从而具有更广的应用场景。此外,在采用可微搜索算法的情况下,可以根据图分类任务构建目标函数和损失函数,从而实现在结构搜索空间中能够自动搜索针对图分类任务的最优图神经网络结构。另一方面,因搜索空间大,所以适配性能更好,更易搜索到适配的模型结构。现有图分类任务中的GNN模型是基于专家经验设计的,给定不同的任务,需要经过专家调试。不同的任务有不同的GNN设计偏好,为了确定最佳GNN模型,需要大量的专家资源和计算资源,因而导致GNN的应用场景非常有限。根据本公开的实施例的构建图神经网络的方法相比较于现有的GNN方案效果更好,且无需专家针对特征数据集设计GNN的结构,不仅降低了人类专家设计图分类方法的成本,而且产生了更好的结构,在不同种类的图数据集上超越了人类专家设计的最佳GNN结构的效果,尤其是在生物化学分子性质预测数据集上。
此外,根据本公开的实施例的松弛策略来填充池化操作。具体来说,通过提供掩码,对于未被选中的节点,将赋予其一个零向量作为其特征,对于未被选择的边,赋予其零权重,使得可以采用可微搜索算法,并更易于获得图级图表达zF。
需要说明的是,除了使用上述示例的可微搜索算法,还可以使用更高级的搜索算法(如,论文[Efficient neural architecture search via proximal iterations.InAAAI,Vol.34.6664-6671.]中提及的NASP方案)或者其他可微搜索方案(如,论文[Dsrna:Differentiable search of robust neural architectures[C]//Proceedings of theIEEE/CVF Conference on Computer Vision and Pattern Recognition.2021:6196-6205.]中提及的Dsrna方案)。
图4是根据本公开的示例性实施例的基于图神经网络的图分类的方法的流程图。
参照图4,在步骤S10中,通过如上所述的构建图神经网络的方法获得与图分类任务对应的最优图神经网络结构。例如,可以通过以上参照图1A至图3描述的步骤S100至步骤S200来获得最优图神经网络结构。
在步骤S20中,基于图分类任务,对具有最优图神经网络结构的图神经网络模型进行训练。
在步骤S30中,利用经过训练的图神经网络模型获得图分类任务的各个图的图表达。
在步骤S40中,基于各个图的图表达来分别预测各个图的类别。
图5是根据本公开的示例性实施例的构建图神经网络的装置的框图。
根据本公开的示例实施例的构建图神经网络的装置500包括:构建单元501和搜索单元502。
构建单元501被配置为构建与图分类任务对应的图神经网络框架,并基于图神经网络框架构建结构搜索空间。在实施例中,由构建单元501构建的图神经网络框架包括:多个层模块,其中,每个层模块用于基于存储在该层模块的图生成对应的层级图表达,所述多个层模块彼此顺序堆叠;层处理模块,设置在任意相邻的两个所述层模块之间,基于存储于在先层模块中的图生成池化图,并将该池化图输入到在后层模块中;以及合并运算模块,用于基于各个层模块生成的层级图表达,生成图级图表达。其中,每个层处理模块包括聚合运算模块和池化运算模块;其中,所述池化运算模块包括:节点准备块,用于通过评估节点重要程度,在所述聚合运算模块生成的聚合图中,选取已选节点;更新特征块,用于通过所述已选节点的加权特征来更新各已选节点的节点特征,或者,用于确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征;重建连接块,用于通过所述已选节点来重建各已选节点之间的连接关系,或者,用于确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系。构建单元501被配置为执行参照图1A描述的步骤S100,因此在此省略冗余的描述。
搜索单元502被配置为在结构搜索空间中搜索针对图分类任务的最优图神经网络结构。搜索单元502被配置为执行参照图1A描述的步骤S200,因此在此省略冗余的描述。
图6是根据本公开的示例性实施例的基于图神经网络的图分类的装置的框图。
根据本公开的示例性实施例的基于图神经网络的图分类的装置600包括图神经网络结构获取单元601、训练单元602、表示单元603和类别预测单元604。
图神经网络结构获取单元601被配置为通过如上参照图1A至图3所述的构建图神经网络的方法获得与图分类任务对应的最优图神经网络结构。图神经网络结构获取单元601具有与构建图神经网络的装置500相同的配置,在此省略冗余的描述。图神经网络结构获取单元601执行参照图4描述的步骤S10,因此在此省略冗余的描述。
训练单元602被配置为基于图分类任务,对具有最优图神经网络结构的图神经网络模型进行训练。训练单元602被配置为执行参照图4描述的步骤S20,因此在此省略冗余的描述。
表示单元603被配置为利用经过训练的图神经网络模型获得所述图分类任务的各个图的图表达。表示单元603被配置为执行参照图4描述的步骤S30,因此在此省略冗余的描述。
类别预测单元604被配置为基于各个图的图表达来分别预测各个图的类别。类别预测单元604被配置为执行参照图4描述的步骤S40,因此在此省略冗余的描述。
图7是示出根据本公开的实施例的电子设备的框图。
参照图7,电子设备700包括至少一个存储器701和至少一个处理器702,所述至少一个存储器701存储计算机可执行指令,当计算机可执行指令被至少一个处理器702执行时,促使至少一个处理器702执行根据本公开的实施例的基于图神经网络的图分类的方法。
作为示例,电子设备700可以是PC计算机、平板装置、个人数字助理、智能手机、或其它能够执行上述指令的装置。这里,电子设备800并非必须是单个电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备800还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备700中,处理器702可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器702可运行存储在存储器701中的指令或代码,其中,存储器701还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器701可与处理器702集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器701可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其它存储装置。存储器701和处理器702可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器702能够读取存储在存储器中的文件。
此外,电子设备700还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备700的所有组件可经由总线和/或网络而彼此连接。
根据本公开的实施例,还可提供一种计算机可读存储介质,其中,当存储在计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的实施例的构建图神经网络的方法和基于图神经网络的图分类的方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其它装置,所述任何其它装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的实施例,还可提供一种计算机程序产品,包括计算机指令,当所述计算机指令被至少一个处理器执行时实现根据本公开的实施例的构建图神经网络的方法和基于图神经网络的图分类的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种构建图神经网络的方法,其特征在于,所述方法包括:
构建与图分类任务对应的图神经网络框架,并基于所述图神经网络框架构建结构搜索空间;以及
在所述结构搜索空间中搜索针对所述图分类任务的最优图神经网络结构,
其中,所述图神经网络框架包括:
多个层模块,其中,每个层模块用于基于存储在该层模块的图生成对应的层级图表达,所述多个层模块彼此顺序堆叠;
层处理模块,设置在任意相邻的两个所述层模块之间,基于存储于在先层模块中的图生成池化图,并将该池化图输入到在后层模块中;以及
合并运算模块,用于基于各个层模块生成的层级图表达,生成图级图表达,
其中,每个层处理模块包括聚合运算模块和池化运算模块;其中,所述池化运算模块包括:
节点准备块,用于通过评估节点重要程度,在所述聚合运算模块生成的聚合图中,选取已选节点;
更新特征块,用于通过所述已选节点的加权特征来更新各已选节点的节点特征,或者,用于确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征;
重建连接块,用于通过所述已选节点来重建各已选节点之间的连接关系,或者,用于确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系。
2.根据权利要求1所述的方法,其特征在于,所述更新特征块用于确定第一赋值矩阵时,具体用于:
基于所述聚合图中的所述已选节点来进行聚类,并基于该第一聚类结果,确定所述第一赋值矩阵。
3.根据权利要求1所述的方法,其特征在于,所述重建连接块用于确定第二赋值矩阵时,具体用于:
基于所述聚合图中各已选节点来进行聚类,并基于该第二聚类结果,确定所述第二赋值矩阵。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述特征更新块的输入数据包含各节点的标识数据,所述标识数据是基于所述节点准备块的节点选择结果,对各节点的选择状态进行标识得到的,其中,被所述节点准备块选中的任意一个节点的标识数据,与未被所述节点准备块选中的任意一个节点的标识数据不同。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述基于所述图神经网络框架构建结构搜索空间,包括:
针对所述图神经网络框架中的各个模块,分别构建各模块对应的算子集合,得到所述结构搜索空间;
其中,所述更新特征块所对应的算子集合,包括第一算子与第二算子,其中,所述第一算子用于指示通过所述已选节点的加权特征来更新各已选节点的节点特征,所述第二算子用于指示确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征;
所述重建连接块对应的算子集合,包括第三算子与第四算子,其中,所述第三算子用于指示通过所述已选节点来重建各已选节点之间的连接关系,所述第四算子用于指示确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系。
6.一种基于图神经网络的图分类的方法,其特征在于,所述方法包括:
通过如权利要求1至5中的任一项所述的方法获得与图分类任务对应的最优图神经网络结构;
基于所述图分类任务,对具有所述最优图神经网络结构的图神经网络模型进行训练;
利用经过训练的图神经网络模型获得所述图分类任务的各个图的图表达;以及
基于各个图的图表达来分别预测各个图的类别。
7.一种构建图神经网络的装置,其特征在于,所述装置包括:
构建单元,被配置为构建与图分类任务对应的图神经网络框架,并基于所述图神经网络框架构建结构搜索空间;以及
搜索单元,被配置为在所述结构搜索空间中搜索针对所述图分类任务的最优图神经网络结构,
其中,所述图神经网络框架包括:
多个层模块,其中,每个层模块用于基于存储在该层模块的图生成对应的层级图表达,所述多个层模块彼此顺序堆叠;
层处理模块,设置在任意相邻的两个所述层模块之间,基于存储于在先层模块中的图生成池化图,并将该池化图输入到在后层模块中;以及
合并运算模块,用于基于各个层模块生成的层级图表达,生成图级图表达,
其中,每个层处理模块包括聚合运算模块和池化运算模块;其中,所述池化运算模块包括:
节点准备块,用于通过评估节点重要程度,在所述聚合运算模块生成的聚合图中,选取已选节点;
更新特征块,用于通过所述已选节点的加权特征来更新各已选节点的节点特征,或者,用于确定第一赋值矩阵,并通过所述第一赋值矩阵来更新所述各已选节点的节点特征;
重建连接块,用于通过所述已选节点来重建各已选节点之间的连接关系,或者,用于确定第二赋值矩阵,并通过所述第二赋值矩阵来重建所述各已选节点之间的连接关系。
8.一种基于图神经网络的图分类的装置,其特征在于,所述装置包括:
图神经网络结构获取单元,被配置为通过如权利要求1至6中的任一项所述的方法获得与图分类任务对应的最优图神经网络结构;
训练单元,被配置为基于所述图分类任务,对具有所述最优图神经网络结构的图神经网络模型进行训练;
表示单元,被配置为利用经过训练的图神经网络模型获得所述图分类任务的各个图的图表达;以及
类别预测单元,被配置为基于各个图的图表达来分别预测各个图的类别。
9.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的方法。
10.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210903800.9A CN117540260A (zh) | 2022-07-28 | 2022-07-28 | 构建图神经网络的方法和装置以及图分类方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210903800.9A CN117540260A (zh) | 2022-07-28 | 2022-07-28 | 构建图神经网络的方法和装置以及图分类方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117540260A true CN117540260A (zh) | 2024-02-09 |
Family
ID=89784763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210903800.9A Pending CN117540260A (zh) | 2022-07-28 | 2022-07-28 | 构建图神经网络的方法和装置以及图分类方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117540260A (zh) |
-
2022
- 2022-07-28 CN CN202210903800.9A patent/CN117540260A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10127477B2 (en) | Distributed event prediction and machine learning object recognition system | |
EP3467723B1 (en) | Machine learning based network model construction method and apparatus | |
CN110728317A (zh) | 决策树模型的训练方法、系统、存储介质及预测方法 | |
CN110659742B (zh) | 获取用户行为序列的序列表示向量的方法和装置 | |
CN116261731A (zh) | 基于多跳注意力图神经网络的关系学习方法与系统 | |
Lima et al. | Domain knowledge integration in data mining using decision tables: case studies in churn prediction | |
CN112085161B (zh) | 一种基于随机信息传递的图神经网络方法 | |
EP4202725A1 (en) | Joint personalized search and recommendation with hypergraph convolutional networks | |
CN113536097B (zh) | 基于自动特征分组的推荐方法及装置 | |
CN112861936A (zh) | 一种基于图神经网络知识蒸馏的图节点分类方法及装置 | |
Li et al. | Explain graph neural networks to understand weighted graph features in node classification | |
CN114639483A (zh) | 一种基于图神经网络的电子病历检索方法及装置 | |
Shakibian et al. | Multi-kernel one class link prediction in heterogeneous complex networks | |
CN115114484A (zh) | 异常事件检测方法、装置、计算机设备和存储介质 | |
US11620550B2 (en) | Automated data table discovery for automated machine learning | |
CN116975686A (zh) | 训练学生模型的方法、行为预测方法和装置 | |
KR20210062265A (ko) | 전자의무기록 데이터 기반 반려동물 생애주기 예측 시스템 및 방법 | |
CN116541592A (zh) | 向量生成方法、信息推荐方法、装置、设备及介质 | |
CN113159976B (zh) | 一种微博网络重要用户的识别方法 | |
CN117540260A (zh) | 构建图神经网络的方法和装置以及图分类方法和装置 | |
CN116150352A (zh) | 群体划分方法及相关装置 | |
CN114925290A (zh) | 自助式用户群扩展方法、装置、计算机设备和存储介质 | |
CN111027709B (zh) | 信息推荐方法、装置、服务器及存储介质 | |
Alzubaidi et al. | LPCNN: convolutional neural network for link prediction based on network structured features | |
Patil et al. | Efficient processing of decision tree using ID3 & improved C4. 5 algorithm |
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 |