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

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

2022-04-27 08:05:48 来源:中国专利 TAG:


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


背景技术:

2.在图神经网络结构的数据中,特征级的解释应该满足节点依赖。例如,在对一个图神经网络节点分类模型进行解释时(例如流行病预测任务中会构建的一个新冠待确诊患者接触史),预测a是否患病的依据,可能是与他接触过的b已高烧这个特征(b没有感冒)以及与他已接触过的c人感冒这个特征(c没有发烧)。一般来说感冒和发烧都是较为重要的特征,但是不同个体的重要特征却各不相同。这一特性是图结构数据特有的,不同于其它类型的数据中,样本之间的关系是独立的。而目前的图神经网络解释模型提供的解释特征是节点独立的,在模型给出的解释中,只有一组统一的特征,试图用来解释图中所有节点特征的贡献度。这样得到的解释是片面的,无法准确的解释待解释模型的内部逻辑。
3.现有的实例级的图神经网络解释模型(为什么待解释模型要对某一个样本(节点)产生这样的预测结果),在生成针对一个实例的解释时,只观察被解释模型对这一个实例的反馈行为,而没有考虑被解释模型对目标实例周围其它实例的反应,尤其是特征的不同所导致的图神经网络的反馈变化。但往往只有通过观察被解释模型在多个相似实例样本预测行为的反馈才能获得一个准确的局部忠诚的解释模型。


技术实现要素:

4.本技术提供了一种图神经网络解释方法、系统、终端以及存储介质,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
5.为了解决上述问题,本技术提供了如下技术方案:
6.一种图神经网络解释方法,包括:
7.获取初始图网络的原始邻接矩阵和原始特征矩阵,并根据设定的扰动策略对所述原始特征矩阵进行扰动,得到扰动后的特征矩阵;
8.将所述扰动后的特征矩阵和原始邻接矩阵输入待解释模型,通过所述待解释模型输出分类预测结果,并将所述扰动后的特征矩阵输入解释模型,通过所述解释模型输出每个特征的重要性预测结果;
9.根据所述每个特征的重要性预测结果计算各个节点内每个特征的贡献度,并根据所述每个特征的贡献度计算各个节点的贡献度;
10.将所述贡献度大于设定阈值的节点作为重要节点,并通过所述重要节点生成用于对所述解释模型的预测行为进行解释的解释性子图。
11.本技术实施例采取的技术方案还包括:所述根据设定的扰动策略对所述原始特征矩阵进行扰动具体为:
12.根据设定的扰动系数和选择的扰动策略生成扰动因子:
[0013][0014]
上式中,bernoulli(1,p2)指以p2为概率生成一个伯努利分布,zf表示在当前分布下生成的数字,表示正态分布;
[0015]
遍历所述原始特征矩阵中的每个元素,根据所述扰动因子对所述原始特征矩阵进行m次扰动:
[0016][0017]
上式中,表示原始特征矩阵x中第p行第列的元素;
[0018]
扰动后的特征矩阵为:
[0019][0020]
上式中,表示产生的第j个
[0021]
本技术实施例采取的技术方案还包括:所述将所述扰动后的特征矩阵和原始邻接矩阵输入待解释模型还包括:
[0022]
将所述扰动后的特征矩阵和原始邻接矩阵的表示形式转换为具有可解释性的模型能够接受的输入形式
[0023][0024]
上式中,表示对原始特征矩阵x做的第*次扰动所得到的特征矩阵,[ak]
i,j
表示原始邻接矩阵ak中的第i行第j列元素,k为待解释模型的层数;表示被扰动后的特征矩阵中的第j行,
·
表示点乘运算,实数[ak]
i,j
逐元素乘以一个1维向量逐元素乘以一个1维向量表示向量拼接运算,将j从1到n分别带入中,得到n个向量,n为所述初始图网络中节点的数量。
[0025]
本技术实施例采取的技术方案还包括:所述通过所述解释模型输出每个特征的重要性预测结果还包括:
[0026]
拟合所述待解释模型和解释模型的输出结果,使得所述解释模型的预测结果趋近于待解释模型的预测结果:
[0027][0028]
上式中,表示遍历所有扰动后的特征矩阵,表示遍历所有节点类别集合并观察所述待解释模型和解释模型对每个类别的预测结果,是损失函数,f()是待解释模型的预测结果,表示输入第j个被扰动的特征矩阵和原始邻接矩阵;g()为解释
模型,表示输入扰动后的特征矩阵;ω
θ
是解释模型g()的参数,ζω(
·
)用于限制ω
θ
,表示求解使该式值最小的参数集ω
θ

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

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

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

相关文献