文献阅读(28)IFIP2020-Explain Graph Neural Networks to Understand Weight Graph Features

本文是对《Explain Graph Neural Networks to Understand Weight Graph Features》一文的浅显翻译与理解,如有侵权即刻删除。

朋友们,我们在github创建了一个图学习笔记库,总结了相关文章的论文、代码和我个人的中文笔记,能够帮助大家更加便捷地找到对应论文,欢迎star~

Chinese-Reading-Notes-of-Graph-Learning

更多相关文章,请移步:文献阅读总结:网络表示学习/图学习

Title

《Explain Graph Neural Networks to Understand Weight Graph Features in Node Classification》

——IFIP2020

Author: Xiaoxiao Li

总结

文章认为由于复杂的数据表征和非线性转换,想要对GNNs做出的决定做出解释是具有挑战的,比如在节点分类任务中的分类依据。文章对GNN进行扩展,提出了解释图特征的方法,来识别图中的信息组件和重要节点特征。此外,还提出了识别用于节点分类的重要因素的方法。具体来说,文章定义的解释方法能够根据实验结果,反向解释某一部分的重要程度。

在这里插入图片描述

1 GNN

文章首先对Graph Neural Network进行了加权网络的定义,V为节点集,E为边集,X为节点特征集,对任意两个节点的连边,都有相应的权重e。

文章对GNN进行了扩展,使其可以利用边上的权重。在文章的设置下,每层的GNN更新包括三个计算,式1的信息传播,式2的信息聚合,式3的更新节点表征:

在这里插入图片描述
其中h^l_u是节点u在l层的嵌入表征,N(u)是节点u的邻域。根据上一层和本层的节点嵌入,就能够计算得到节点前向传播更新的节点嵌入,即:

在这里插入图片描述
对于负值的边缘权重而言,可以将他们归一化到正区间来处理。在现有文献和不同实验设置中,根据输入图的性质和边缘权重,它们通常起到两个作用:(1)用于信息过滤(2)生成节点嵌入。

1.1 用于信息过滤

在这种情况下,边的特征矩阵会被视为过滤器,来控制各个邻居节点的占比大小,即:

在这里插入图片描述
对节点的邻域,文章对它们的权重进行了归一化。此外,式6中的g,有着两种选择:

在这里插入图片描述

1.2 生成节点嵌入

在这种情况下,边缘权重用于计算节点嵌入,此时有:

在这里插入图片描述
其中f(e_vu)由一个全连接(FC)层和重塑操作组成,其中全连接层形式如下:
在这里插入图片描述
而g与上文相似,有着同样的两种选择。

2 图解释的规范化

文章将解释方法分为两个阶段,第一阶段训练节点分类函数,第二阶段确定节点的子图和特征子集,从而将解释范围进行限制。在这种情况下,对加权图的解释方法由两部分组成:信息组件检测和节点特征重要性。

3 信息组件检测Informative Components Detection

文章认为,了解哪些边对信息进出节点的贡献最大,对理解节点分类依据很重要。

3.1 计算图Computational Graph

给出一个节点,文章对其计算图Gs进行了定义,即定义与该节点相关的一个小范围的子图,试图从中找出一个更小的子图,视为对预测节点标签产生贡献的节点集合。换言之,给出一个关于u的计算图及特征,目标是识别GNN用于预测u的标签的子图。文章介绍了用于在计算图中检测解释性组件的方法:最大化交互信息掩码(MMI)和引导梯度显著性。

3.2 最大化交互信息掩码Maximal Mutual Information (MMI) Mask

该章首先对香农熵进行了定义,香农熵又称信息熵,对任意一个随机变量,其熵越大,即不确定性越大,将其搞清楚所需要的信息量也就越大。给出变量X,其香农熵为:

在这里插入图片描述
其中,P(X)为概率质量函数,表示离散随机变量在各特定取值上的概率。进一步地,条件熵可定义如下:

在这里插入图片描述

最终,定义两个随机变量间的交互信息(MI)如下:

在这里插入图片描述
该信息用于衡量两变量间的相互依赖性,具体环境下可理解为,如果两个变量分别为真实值和预测值,那么它们的相互依赖性越大,差距就越小,那么需要识别的子图就应当最大化这种相互依赖性,则有:

在这里插入图片描述
由于节点分类器是确定的,则H(Y)是确定的,上式就等价于最小化条件熵H(Y|Gs,Xs),即:

在这里插入图片描述
其目标是从计算图选择top-k个有效信息边及其连接的邻居,从而形成一个子图。这是因为在计算图中,有一部分边会提供有用的节点信息用于源节点的预测,而另一部分边并不能提供有效信息。

最小化式12并不易解,会存在着许多可能的子图,GNNExplainer算法优化了一个二进制的掩码矩阵M,该矩阵上可以进行梯度下降操作。如果一条边对生成节点嵌入有用,那么就会被视为二进制的值放入到掩码矩阵中。

然而,上文中提到,边缘权重可以用以过滤。如果将边的权重用作过滤器,则掩码就影响到了过滤和规范化。因此,文章对GNNExplainer进行了扩展,通过对掩码矩阵的值增加额外约束:

在这里插入图片描述
在这种情况下,假设有Q条边是有效边,那么边缘矩阵E就会与掩码矩阵M相乘,最终得到的矩阵在数值上会小于等于原边缘矩阵,此时的损失函数就等价于:

在这里插入图片描述
由于选出的top-k条边不一定和节点u相连,因此文章添加了所有指向节点u的节点的加权边权重的熵作为约束,来保证至少有一条与u相连的边能被选中。当M更新过后,就设定阈值移除熵较小的以及独立的节点,从而尽可能地产生约束。对掩码矩阵的优化伪代码如下:

在这里插入图片描述
其中,对M的计算有个人理解如下:

一开始对掩码矩阵M随机初始化,假设有Q个值为1的边。用其与边的权重矩阵相乘,这样就分成了有效权重和无效权重,将有效权重再进行归一化,得到新的掩码矩阵M,这个时候的M就已经有一定可信度了。将M用在聚合的过程中,即在M中占比越大的边,其对聚合的贡献也就越大。而且随着M的不断优化,其中的值不会只是0和1,会变成对应边重要程度的分布。用这种方式聚合出的信息生成向量并预测标签,与真实值相比,不断优化这个值,就能够不断优化M,最终得到的M包含了边重要性的分布,可以取前Q个视为最终子图或者进行其他操作。

3.3 引导梯度显著性Guided Gradient (GGD) Salience

基于梯度引导的解释方法是最为直白和简单的方法,通过计算输入和输出的差异来得到相关分值,该分值可用于显示输入特征的相关重要程度。由于边缘权重为变量,可以计算边缘掩码为:
在这里插入图片描述
其中c是节点u的正确类别,y^c是通过softmax层计算的与类别c的分值。根据该式,就可以筛选出top-k个分值最大的边和它们连接的节点。

4 节点特征重要性

4.1 最大化交互信息掩码Maximal Mutual Information (MMI) Mask

参照上文为边缘矩阵学习的掩码矩阵,在此也可以为节点特征矩阵学习对应的掩码矩阵,则优化目标为:

在这里插入图片描述
为计算不给出特征T时的Gs,同时要保证传播性,文章对X进行了再参数化,即:

在这里插入图片描述
Z是与X有着相同维度的矩阵,其每一行都是从关于X对应行均值和标准差的高斯分布中采样得到。如果第i维不重要,Z的任意采样都会将相应的掩码值拉向0;如果第i维重要,掩码值将倾向1。

个人理解:对上文的损失函数而言,当第i维不重要时,其整体值就会尽可能小,参考式16,此时Z和Xs是不变的,想要X尽可能小,就需要M尽可能小,即趋近于0。

4.2 预测差别分析Prediction Difference Analysis (PDA)

节点特征的重要性可以衡量为,在放弃该节点特征后,预测得分与实际类别的下降程度。文章定义特征矩阵X移除特征xi后为X\i,则移除特征后的预测分数表示为:

在这里插入图片描述
为计算该值,需要排除特征xi,即:
在这里插入图片描述
建模该分布需要大量计算,实际不可行,文章基于经验从训练集中采样xi,为减少采样偏差,对某一类别空间中的样本,要等概率进行采样。文章定义这种重要性分数的计算公式如下:

在这里插入图片描述

4.3 导向梯度节点特征显著性Guided Gradient (GGD) Node Feature Salience

可参考上文的计算方法,定义对输入和输出差别的计算如下:

在这里插入图片描述
该值越大,该节点特征就越重要。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值