一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图神经网络解释方法、系统、终端以及存储介质

2022-04-27 08:03:01 来源:中国专利 TAG:


1.本技术属于深度学习技术领域,特别涉及一种图神经网络解释方法、系统、终端以及存储介质。


背景技术:

2.传统的针对机器学习或者深度学习模型提出的可解释模型包括基于梯度的图解释模型[pope,phillipe.,etal."explainabilitymethodsforgraphconvolutionalneuralnetworks."proceedingsoftheieee/cvfconferenceoncomputervisionandpatternrecognition.2019.]和lime模型[m.t.ribeiro,s.singh,c.guestrin,whyshoulditrustyou?:explainingthepredictionsofanyclassifier,in:proc.sigkdd,2016,pp.1135

1144.],基于梯度的图解释模型的设计思路是针对图像数据而设计的深度学习模型的解释模型,通过观察被解释模型在反向传播过程中产生的梯度值来定位可解释信息。由于该模型需要明确的知道被解释模型的内部参数和结构信息,因此不能归为模型不可知的解释模型(被解释模型的内部参数无需暴露给解释模型)。lime模型是一个广泛运用于表格数据、文本数据和图像数据中的解释模型,由于该模型无法处理图拓扑结构,因此无法运用到图神经网络模型中。
[0003]
现有的实例级的图神经网络解释模型,在生成针对一个实例的解释时,只观察被解释模型对这一个实例的反馈行为,而没有考虑被解释模型对目标实例周围其它实例的反应。但往往只有通过观察被解释模型在多个相似实例样本预测行为的反馈才能获得一个准确的局部忠诚的解释模型。
[0004]
在图神经网络结构的数据中,解释模型需要用一个子图来解释图神经网络对一个实例的预测逻辑。同时,如何做到一个针对图神经网络来说模型不可知的解释模型就更加成为一个挑战。


技术实现要素:

[0005]
本技术提供了一种图神经网络解释方法、系统、终端以及存储介质,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
[0006]
为了解决上述问题,本技术提供了如下技术方案:
[0007]
一种图神经网络解释方法,包括:
[0008]
根据设定的扰动策略对初始图网络进行扰动,得到扰动后的邻接矩阵;
[0009]
将所述扰动后的邻接矩阵和原始特征矩阵输入待解释模型,通过所述待解释模型输出分类预测结果,并将所述特征矩阵输入解释模型,通过所述解释模型输出每个特征的重要性预测结果;
[0010]
根据所述特征的重要性预测结果计算图网络中每个节点的独立贡献度,并根据所述节点的独立贡献度计算边的贡献度;
[0011]
将所述贡献度大于设定阈值的边作为重要的边,并通过所述重要的边以及与之相
连的节点生成用于对所述解释模型的预测行为进行解释的解释性子图。
[0012]
本技术实施例采取的技术方案还包括:所述根据设定的扰动策略对初始图网络进行扰动包括:
[0013]
根据设定的扰动系数确定随机扰动率:
[0014]
ze~bernoujli(l,,p1)
[0015]
上式中,bernoulli(1,p1)指以p1为概率生成一个伯努利分布,ze为在当前分布下生成的数字;
[0016]
对所述初始图网络进行m次扰动,得到m个扰动后的邻接矩阵:
[0017][0018]
其中表示产生的第j个
[0019]
遍历所述邻接矩阵中的所有两两节点对,按照以下公式进行扰动:
[0020][0021]
上式中,[a]
p,q
表示邻接矩阵a中第p行第q列的元素,表示异或操作。
[0022]
本技术实施例采取的技术方案还包括:所述将所述扰动后的邻接矩阵和原始特征矩阵输入待解释模型还包括:
[0023]
将所述邻接矩阵和原始特征矩阵的表示形式转换为具有可解释性的模型能够接受的输入形式
[0024][0025]
上式中,表示对邻接矩阵a做的第*次扰动所得到的邻接矩阵做 p次幂运算,表示中的第i行第j列元素;[x]
j,
:表示特征矩阵x中的第j行,
·
表示点乘运算,实数逐元素乘以一个 1维向量[x]
j,
:;表示向量拼接运算,将j从1到n分别带入中,得到n个向量,n为所述初始图网络中节点的数量; (*)表示某一次扰动后的数据,k为待解释模型的层数。
[0026]
本技术实施例采取的技术方案还包括:所述根据所述特征的重要性预测结果计算图网络中每个节点的独立贡献度之前还包括:
[0027]
拟合所述待解释模型和解释模型的输出结果,使所述解释模型的预测结果趋近于待解释模型的预测结果。
[0028]
本技术实施例采取的技术方案还包括:所述拟合所述待解释模型和解释模型的输出结果具体为:
[0029][0030]
上式中,表示遍历所有扰动后的图网络数据,表示遍历所有节点类别集合并观察待解释模型和解释模型对每个类别的预测结果,为损失函数;f()为待解释模型,表示输入第j个被扰动的邻接矩阵和原始特征矩阵时待解释模型的预测结果;g()为解释模型,输入为特征矩阵;w
θ
是解释模型g()的参数,ζω(
·
)用于限制w
θ
,使其变得稀疏。
[0031]
本技术实施例采取的技术方案还包括:所述根据所述特征的重要性预测结果计算图网络中每个节点的独立贡献度具体为:
[0032][0033]
上式中,abs()为取绝对值操作,p为当前计算贡献度的节点,d为节点特征维度数,[w
θ
]j表示节点p内某个特征的贡献度。
[0034]
本技术实施例采取的技术方案还包括:所述根据所述节点的独立贡献度计算边的贡献度具体为:
[0035][0036]
上式中,表示针对节点i进行解释时,节点p的贡献度;和是两个相连的节点,平均之后即为和之间的边的贡献度。
[0037]
本技术实施例采取的另一技术方案为:一种图神经网络解释系统,包括:
[0038]
图网络扰动模块:用于根据设定的扰动策略对初始图网络进行扰动,得到扰动后的邻接矩阵;
[0039]
预测模块:用于将所述扰动后的邻接矩阵和原始特征矩阵输入待解释模型,通过所述待解释模型输出分类预测结果,并将所述特征矩阵输入解释模型,通过所述解释模型输出每个特征的重要性预测结果;
[0040]
贡献度计算模块:用于根据所述特征的重要性预测结果计算图网络中每个节点的独立贡献度,并根据所述节点的独立贡献度计算边的贡献度;
[0041]
解释图生成模块:用于将所述贡献度大于设定阈值的边作为重要的边,并通过所述重要的边以及与之相连的节点生成用于对所述解释模型的预测行为进行解释的解释性子图。
[0042]
本技术实施例采取的又一技术方案为:一种终端,所述终端包括处理器、与所述处理器耦接的存储器,其中,
[0043]
所述存储器存储有用于实现所述图神经网络解释方法的程序指令;
[0044]
所述处理器用于执行所述存储器存储的所述程序指令以控制图神经网络解释。
[0045]
本技术实施例采取的又一技术方案为:一种存储介质,存储有处理器可运行的程序指令,所述程序指令用于执行所述图神经网络解释方法。
[0046]
相对于现有技术,本技术实施例产生的有益效果在于:本技术实施例的图神经网络解释方法、系统、终端以及存储介质设计了一个针对图结构的扰动策略,从而取得待解释模型对目标解释实例周围样本的多个预测行为的观察,充分考虑了被解释模型对实例周围的其它实例的反应,能够获得一个准确的局部忠诚的解释模型,再通过解释模型获取对待解释模型的预测行为进行解释的解释子图,解决了现有的解释模型不能对图神经网络进行局部忠诚的解释的不足。同时,本技术不需要获知完整的模型内部结构,被解释模型的内部参数无需暴露给解释模型,扩展了解释模型的应用场景。
附图说明
[0047]
图1是本技术实施例的图神经网络解释方法的流程图;
[0048]
图2为本技术实施例的图神经网络解释系统结构示意图;
[0049]
图3为本技术实施例的终端结构示意图;
[0050]
图4为本技术实施例的存储介质的结构示意图。
具体实施方式
[0051]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0052]
请参阅图1,是本技术实施例的图神经网络解释方法的流程图。本技术实施例的图神经网络解释方法包括以下步骤:
[0053]
s10:对初始图网络进行m次扰动,生成扰动后的邻接矩阵;
[0054]
本步骤中,初始图网络中节点之间的连接关系可以用邻接矩阵a来表示。初始图网络中节点的特征矩阵x=[x1,x2,...,xn]t,其中xi维度为d,n为图网络中节点的数量。特征矩阵的构建方法可根据具体场景而定,例如,在论文学科分类中,可以使用每个节点所表示的论文标题或文本内容的词向量构建特征矩阵;在蛋白质细胞功能预测任务中,可以用蛋白质生物特性描述构建特征矩阵。
[0055]
本技术实施例中,初始图网络的扰动系数p1决定对初始图网络的扰动程度,对初始图网络进行多次扰动的扰动过程具体包括:
[0056]
s11:根据设定的扰动系数确定随机扰动率:
[0057]
ze~bernoulli(1,p1)
ꢀꢀꢀ
(1)
[0058]
式(1)中,bernoulli(1,p1)指以p1为概率生成一个伯努利分布,即按照概率p1随机生成一个{0,1}的数字,p1越大生成数字1的概率越大,ze即为在当前分布下生成的数字。
[0059]
s12:对初始图网络进行m次扰动,得到m个独立的扰动后的邻接矩阵,记为:
[0060][0061]
因为有m次扰动,因此会产生m个不同的因此会产生m个不同的表示产生的第j个
[0062]
s13:遍历邻接矩阵中的所有两两节点对,按照以下公式进行扰动:
[0063][0064]
式(3)中,[a]
p,q
表示邻接矩阵a中第p行第q列的元素,表示异或操作。本技术实施例提供了三种不同的扰动策略,分别为:仅仅加边、仅仅减边以及加边或者减边,可根据不同的应用场景和图数据分布情况采用不同的扰动策略。
[0065]
基于上述,本技术实施例通过基于图结构的扰动策略对初始图网络进行扰动,得到多个待解释目标样本附近的多个样本,为之后模型的解释提供更丰富的观察。
[0066]
s20:将扰动后的邻接矩阵和原始特征矩阵输入已训练好的待解释模型 f,通过待解释模型f输出分类结果,同时将扰动后的特征矩阵输入解释模型,通过解释模型输出每个特征的重要性预测结果;
[0067]
本步骤中,将所有扰动后的邻接矩阵和原始特征矩阵输入已训练好的待解释模型f还包括:将邻接矩阵和特征矩阵的表示形式转换为一般的具有可解释性的模型能够接受的输入形式
[0068][0069]
式(4)中,表示对邻接矩阵a做的第*次扰动所得到的邻接矩阵做p次幂运算,表示中的第i行第j列元素;[x]
j,
:表示特征矩阵x中的第j行。
·
表示点乘运算,前面的实数逐元素乘以一个1维向量[x]
j,
:。表示向量拼接运算,将j从1到n分别带入中,得到n个向量,假设每个向量为300维,则拼接后会得到300n维的向量。(*)表示某一次扰动后的数据,k为待解释模型的层数,通过此操作可将邻接矩阵和特征矩阵合并转换为一个1维向量。
[0070]
本技术实施例中,解释模型包括但不限于线性回归或随机森林等任何具有可解释性的算法。在完成模型训练后通过解释模型能够得到每个特征的重要性。在本技术实施例中,特征和节点是对应的,因此能够通过特征对节点进行定位。
[0071]
s30:拟合待解释模型和解释模型的输出结果,使得解释模型的预测结果趋近于待解释模型的预测结果;
[0072]
本步骤中,拟合待解释模型和解释模型的输出结果具体为:
[0073][0074]
式(5)中,表示遍历所有扰动后的图网络数据,表示遍历所有节点类别集合并观察待解释模型和解释模型对每个类别的预测结果,是一个损失函数,包括但不限于交叉墒损失等。f()为待解释模型,表示输入第j个被扰动的邻接
矩阵和原始特征矩阵时待解释模型的预测结果。g()为解释模型,输入为特征矩阵。w
θ
是解释模型 g()的参数,ζω(
·
)用来限制w
θ
,使其变得更加稀疏,更便于理解。经过拟合后,解释模型g的预测行为在这些扰动产生的目标样本中和待解释模型f达到了近似。
[0075]
当拟合相关的损失函数收敛后,即可通过解释模型得到每个节点在待解释模型预测行为中的贡献度,再通过节点的贡献提取出边的贡献度,最后根据贡献度较大的边生成对待解释目标的预测行为进行解释的解释子图。
[0076]
s40:根据解释模型输出的特征重要性预测结果计算每个节点在待解释模型预测行为中的独立贡献度;
[0077]
本步骤中,节点的独立贡献度计算公式为:
[0078][0079]
式(6)中,abs()为取绝对值操作,p为当前计算贡献度的节点,d为节点特征维度数,[w
θ
]j表示节点p内某个特征的贡献度。
[0080]
s50:遍历在邻接矩阵a中存在连接关系的两两节点对,根据节点的独立贡献度计算边的贡献度;
[0081]
本步骤中,边的贡献度计算公式为:
[0082][0083]
式(7)中,表示针对节点i进行解释时,节点p的贡献度。和是两个相连的节点,平均之后即为和之间的边的贡献度。
[0084]
s60:将贡献度大于设定阈值的边作为重要的边,并通过重要的边以及与之相连的节点生成用于对解释模型f的预测行为进行解释的解释性子图
[0085]
基于上述,本技术实施例的图神经网络解释方法设计了一个针对图结构的扰动策略,从而取得待解释模型对目标解释实例周围样本的多个预测行为的观察,从而充分考虑了被解释模型对实例周围的其它实例的反应,能够获得一个准确的局部忠诚的解释模型,再通过解释模型获取对待解释模型的预测行为进行解释的解释子图,解决了现有的解释模型不能对图神经网络进行解释的不足。同时,本技术不需要获知完整的模型内部结构,被解释模型的内部参数无需暴露给解释模型,扩展了解释模型的应用场景。
[0086]
请参阅图2,为本技术实施例的图神经网络解释系统结构示意图。本技术实施例的图神经网络解释系统40包括:
[0087]
图网络扰动模块41:用于根据设定的扰动策略对初始图网络进行扰动,得到扰动后的邻接矩阵;
[0088]
预测模块42:用于将扰动后的邻接矩阵和原始特征矩阵输入待解释模型,通过待解释模型输出分类预测结果,并将特征矩阵输入解释模型,通过解释模型输出每个特征的重要性预测结果;
[0089]
贡献度计算模块43:用于根据特征的重要性预测结果计算图网络中每个节点的独
立贡献度,并根据节点的独立贡献度计算边的贡献度;
[0090]
解释图生成模块44:用于将贡献度大于设定阈值的边作为重要的边,并通过重要的边以及与之相连的节点生成用于对解释模型的预测行为进行解释的解释性子图。
[0091]
请参阅图3,为本技术实施例的终端结构示意图。该终端50包括处理器 51、与处理器51耦接的存储器52。
[0092]
存储器52存储有用于实现上述图神经网络解释方法的程序指令。
[0093]
处理器51用于执行存储器52存储的程序指令以控制图神经网络解释。
[0094]
其中,处理器51还可以称为cpu(central processing unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51 还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0095]
请参阅图4,为本技术实施例的存储介质的结构示意图。本技术实施例的存储介质存储有能够实现上述所有方法的程序文件61,其中,该程序文件61 可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器 (processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
[0096]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本技术中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本技术所示的这些实施例,而是要符合与本技术所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献