基于生成对抗网络的图神经网络解释方法与流程

文档序号:32386941发布日期:2022-11-30 06:36阅读:136来源:国知局
基于生成对抗网络的图神经网络解释方法与流程

1.本发明涉及互联网安全技术领域,尤其涉及一种基于生成对抗网络的图神经网络解释方法。


背景技术:

2.深度学习是机器学习的一种,而机器学习是实现人工智能的必经路径。深度学习中应用得最多的模型包括cnn、rnn等,这些模型无论是在cv还是nlp领域都取得了优异的效果,上述模型主要是对有维度的结构进行处理,如cnn的处理对象为图片,利用cnn模型可对图片的特征进行提取,由于图片结构的平移不变形,其内部的结构不随位置而变化,因此cnn可以实现参数共享;而rnn模型的处理对象则是序列信息,rnn模型通过各种门的操作,使得序列前后的信息互相影响,进而可以很好地对序列的特征进行捕捉。但是,现实中存在的数据并非都是结构规则的有维度的结构,当上述模型在处理不规则的数据结构时,则不能很好地发挥其作用。
3.图数据库对数据的存储、查询以及数据结构都和结构化数据有很大的不同。图数据结构直接存储了节点之间的依赖关系,而关系型数据库和其他类型的非关系型数据库则以非直接的方式来表示数据之间的关系。图数据库把数据间的关联作为数据的一部分进行存储,关联上可添加标签、方向以及属性,而其他数据库针对关系的查询必须在运行时进行具体化操作,这也是图数据库在关系查询上相比其他类型数据库有巨大性能优势的原因。通过对结构化数据进行解释,可分析出隐藏在结构化数据中重要信息,从而推动人工智能的发展。但是,现有的针对图数据的图模型的解释方法仅限于化学分子结构这种只有10~20个节点的网络,而无法对互联网领域的大数据集进行解释。
4.有鉴于此,有必要设计一种改进的基于生成对抗网络的图神经网络解释方法,以解决上述问题。


技术实现要素:

5.本发明的目的在于提供一种基于生成对抗网络的图神经网络解释方法。
6.为实现上述发明目的,本发明提供了一种基于生成对抗网络的图神经网络解释方法,所述图神经网络解释方法,先通过待解释模型gcn得到图数据的节点表示,再结合负采样模型和图结构对原始图数据进行数据处理和筛分,得到边的表示向量;然后利用mlp模型和gcn模型对所述边的表示向量进行解释和分类,并最终找到对gcn模型的预测结果具有解释性的潜在子图。
7.优选的,所述图神经网络解释方法包括如下步骤:
8.s1、数据预处理:先利用所述gcn模型提取出图数据的节点特征,为了并行训练所有节点的子图,将所有节点的子图进行拼接,再利用所述负采样模型对所述拼接后的节点子图和节点的表示向量进行处理和筛分,得到所述边的表示向量,所有所述边的表示向量的集合称为edge_embeddings;
9.s2、利用mlp模型对边的表示向量进行学习和解释:利用所述mlp模型对步骤s1中得到的edge_embeddings的边的表示向量进行计算,并根据mlp模型输出的权重数值,对相应的图数据的子图进行保存或删除,所有被保存下来的图数据的子图构成sampled graph;
10.s3、解释方法的正确性评估:将步骤s2中得到的sampled graph和所述原始图数据分别输入至gcn模型中,得到预测结果ys和实际结果y0,根据所述预测结果ys和所述实际结果y0即可对所述潜在子图的正确性进行评估。
11.优选的,在步骤s1中,利用所述负采样模型进行数据处理时,将所述原始图数据中存在的边记为“1边”,不存在的边记为“0边”;优选的,所述负采样模型生成“0边”的方法为:以“1边”的数量m为参考,在“0边”中随机采样2
×
m条边作为负样本。
12.优选的,在步骤s1中,所述节点子图的生成方法为:以节点为中心,向外扩散3~5个度的范围内的节点组成的图得到所述节点子图;优选的,所述节点的个数的最大值为5000。
13.优选的,在步骤s1中,对相应的图数据的子图进行保存或删除后,还需经过重参数化处理,以避免学习过程中出现遗漏和将不在0~1范围内的二元变量处理为0~1范围内的连续变量。
14.优选的,在步骤s2中,对所述图数据进行保存或删除的判定方法为:当所述图数据的边的权重大于0.5时,对该图数据对应的边进行保存,反之,则将该图数据对应的边进行删除;优选的,所述权重的取值范围为0~1。
15.优选的,在步骤s3中,所述潜在子图的正确性评估通过如下方式进行:当所述预测结果ys和所述实际结果y0的差值小于0.01时,所述潜在子图解释正确。
16.优选的,若所述预测结果ys和所述实际结果y0的差值大于0.01时,返回步骤s1,重新进行训练过程。
17.优选的,当所述预测结果ys和所述实际结果y0的差值小于0.01,且所述差值固定不变时,所述mlp模型的参数被确定下来。
18.优选的,在步骤s2中,所述mlp模型还能够根据邻居节点的embedding总结出对应边的权重,进而对大部分异常数据做出解释。
19.本发明的有益效果是:
20.1、本发明提出的基于生成对抗网络的图神经网络解释方法,先通过gcn模型得到图数据的节点表示,再结合负采样模型和图结构对原始图数据进行数据处理,得到边的表示向量,然后借助于mlp模型和gcn模型对边的表示向量进行训练,并最终找到对gcn的预测具有解释性的潜在子图,同时,上述过程还可将mlp模型中待确定的参数确定下来,因此,后续可直接利用训练好的方法对图数据进行解释。
21.2、本发明提出的基于生成对抗网络的图神经网络解释方法,通过引入负采样模型对待解释的0边进行采样,最终生成负样本,有效降低了后续利用mlp模型和gcn模型对节点子图进行训练时的复杂度,确保了样本的均衡性,为批量解释图数据提供了基础条件;另外,负样本模型的引入还可有效减小edge_embeddings的大小,与利用现有的图数据解释方法对相同的图数据进行解释时设备的内存利用率相比,内存利用率可提升4倍以上;通过利用mlp模型批量训练多个节点子图,训练过程中只需更新一次ys与y0进行对比的过程,因此可大幅度提高节点子图的训练效率,本发明中对1000个节点的图数据进行训练仅需14.7s,
与现有的训练方法的35min相比,训练效率约提升140倍;再者,本发明提出的解释方法可同时解释5000个节点的图数据。通过上述方式,提供了一种可批量解释图数据的基于生成对抗网络的图神经网络解释方法。
附图说明
22.图1为本发明的基于生成对抗网络的图神经网络解释方法的具体步骤;
23.图2为本发明的基于生成对抗网络的图神经网络解释方法的流程示意图;
24.图3为本发明的实施例1中解释前后的图数据的对比。
具体实施方式
25.为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
26.在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
27.另外,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
28.请参阅图1至图2所示,本发明提出的基于生成对抗网络的图神经网络解释方法,先利用gcn模型(图卷积神经网络)对待解释的图数据进行处理得到图数据的节点表示,再结合负采样模型和节点子图的图结构对拼接后的子图数据进行数据处理,得到边的表示向量,然后借助于mlp模型(多层神经网络)和gcn模型对边的表示向量进行训练,并最终找到对gcn的预测结果具有解释性的潜在子图。
29.本发明提出的基于生成对抗网络的图神经网络解释方法,具体包括如下步骤:
30.s1、原始图数据预处理:先利用gcn模型学习节点表示,该过程中可将图数据的节点特征进行提取,即可得到待解释图模型的节点特征z,然后,结合负采样模型和节点子图的图结构对拼接后的子图数据进行数据处理,将g0中存在的边记为“1边”,不存在的边记为“0边”,处理过程得到节点子图,上述过程可实现对所有节点子图的训练,训练得到的所有节点子图的边的表示向量的集合称为edge_embeddings;其中,负采样模型为:以“1边”的数量m为参考,在“0边”中随机采样2
×
m条边作为负样本,既保证了训练样本的均衡性,又提升了内存利用率。生成节点子图的方法为:以节点为中心,向外扩散3~5个度的范围内的节点组成的图即为当前节点的子图;
31.s2、利用mlp模型对边的表示向量进行学习和解释:利用mlp模型可对步骤s1中得到的edge_embeddings的边的表示向量进行计算,并输出权重数值,权重的范围为0~1,该过程中对权重大于0.5的边进行保存,权重大于0.5的边用gs进行表示,若输出的权重值小于0.5,则将该边删除,该过程即可实现对原图g0的分解,并得到潜在目标子图gs,为了同步训练所有的节点,将所有待解释的子图gs集合在一起,构成sampled graph。
32.特别地,上述过程还需经过重参数化处理,一方面,为了防止训练过程中1边直接
被输出;另一方面,由于图数据的离散性,边的权重只有0和1,因此,需要通过重参数化过程将边的权重从二元变量处理为0~1范围内的连续变量;在训练过程中,边的权重分的越来越开,也就达到了我们找到潜在子图gs的目的;
33.s3、解释方法的正确性评估:将步骤s2中得到的sampled graph输入至gcn模型中,得到预测结果ys,将ys与g0输入至gcn模型中得到的y0进行对比,以此作为监督信号来更新mlp模型,重复此过程不断训练,当二者的差值小于0.01,且差值固定不变时,则认为此时对应的gs为潜在子图,且此时的gs即为对gcn模型的预测结果做出重要贡献的具有解释性的子图;若ys与y0的差值大于0.01时,则需重新实施步骤s1至s3,直至ys与y0的差值小于0.01,同时,ys与y0的差值固定不变时则可以唯一确定mlp模型的参数,即可完成整个解释方法的训练。如此一来,mlp模型的参数被固定下来,即可将上述方法用于图数据的解释。
34.下面结合具体的实施例对本发明作进一步说明:
35.实施例1
36.应用本发明提出的基于生成对抗网络的图神经网络解释方法对图神经网络进行解释,具体过程包括如下步骤:
37.s1、原始图数据预处理:先利用gcn模型学习节点表示,该过程中可将图数据的节点特征进行提取,即可得到待解释图模型的节点特征z,然后,结合负采样模型和节点子图的图结构对拼接后的子图数据进行数据处理,将g0中存在的边记为“1边”,不存在的边记为“0边”,处理过程得到节点子图,上述过程可实现对所有节点子图的训练,训练得到的所有节点子图的边的集合称为edge_embeddings;其中,负采样模型为:以1边的数量m为参考,在0边中随机采样2
×
m条作为负样本。本实施例中训练的节点的个数为5000,节点子图的生成方法为:以节点为中心,向外扩散3个度的范围内的节点组成的图即为当前节点的子图;
38.s2、利用mlp模型对边的表示向量进行学习和解释:利用mlp模型可对步骤s1中得到的节点子图的边的权重进行计算,并进行输出,权重的范围为0~1,该过程中对权重大于0.5的边进行保存,权重大于0.5的边用gs进行表示,gs为本模型中希望找到的潜在目标子图,所有gs的集合组成sampledgraph。
39.特别地,上述过程还需经过重参数化处理,一方面,为了防止模型不学习直接输出所有1边;另一方面,由于图数据的离散性,边的权重只有0和1,因此,需要通过重参数化过程将边的权重从二元变量处理为0~1范围内的连续变量。在训练过程中,边的权重分的越来越开,也就达到了我们找到重要子图gs的目的。
40.s3、解释方法的正确性评估:将步骤s2中得到的sampledgraph输入至gcn模型中,得到预测结果ys,将ys与g0输入至gcn模型中得到的y0进行对比,以此作为监督信号来更新mlp模型,重复此过程不断训练,当二者的差值小于0.01,且差值固定不变时,则认为此时对应的gs为潜在子图,同时,此时可以唯一确定mlp模型的参数,即可完成整个模型的训练;上述训练过程中mlp模型还可根据邻居节点的embedding总结出对应边的权重,并能对大部分异常数据做出解释,基于上述原因,进一步确保gs和g0的预测结果保持一致,从而使最终找到的gs更能逼近原图的效果;本实施例处理前后的图数据的对比如图3所示,全图为g0,重要边连成的图即为gs。本实施例对5000个节点进行训练所需时间为243.04s。
41.此外,本发明还进行了1000个节点的图数据的训练,结果表明对1000个节点的训练仅需14.7s,与现有方法的35min相比,训练效率提高了约140倍;另外,负采样模型的使用
可将edge_embeddings优化到7.4g,而优化前上述过程无法在32g的设备上运行,优化的过程有效提升了内存的利用率。
42.综上所述,本发明提出的基于生成对抗网络的图神经网络解释方法,通过先利用负采样模型对待解释的节点子图进行处理和筛分,得到待训练的边的表示向量edge_embeddings,然后借助于mlp模型和gcn模型对边的表示向量进行训练,并最终找到对gcn的预测具有解释性的潜在子图,同时,上述过程还可将mlp模型中待确定的参数被确定下来,因此,后续可直接利用训练好的方法对图数据进行解释。
43.以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1