NIPS19开源论文: 万能的GNN解释器
我和人民邮电出版社搞了图神经网络的课程,刚上线,打折中。。。有兴趣的可以看一下 https://www.epubit.com/courseDetails?id=PCC72369cd0eb9e7


GNNExplainer: Generating Explanations for Graph Neural Networks
本文由斯坦福Jure组发表在NeurIPS2019上. 一作Rex Ying也是著名的GraphSAGE的作者. 代码和数据 https://github.com/RexYing/gnn-model-explainer

Introduction
图神经网络(Graph Neural Network), 作为深度学习领域最热门的方向之一,相关论文在各大顶会层出不穷. 但是,图神经网络的解释性问题没有得到较多的关注.图神经网络的解释性是非常有必要的:(1) 提升了GNN的可信程度. (2) 在一些注重公平性,隐私性和安全性的决策应用,可以提升决策的透明度. (3)可以更好的理解图本身的特性.
虽然一些基于Attention机制的模型(如Graph Attention Network)可以一定程度上对GNN进行解释. 但是,作者认为它们有两个问题: (1)GAT可以学习节点之间关系的权重,但是其只能实现对结构的进行解释而无法通过特征的角度进行解释. (2) 节点的1-hop邻居和2-hop邻居可能有重叠,GAT会学习到同一对节点之间的不同权重.这时候到底该用那个无法抉择.
因此, 本文提出了GNNExplainer可以从网络结构和节点属性的角度来对任意图神经网络和任意图挖掘任务生成解释. GNNExplainer旨在探寻与预测结果最相关的子图结构来实现对结果的解释,其中Graph Mask和Feature Mask可以分别对实现对结构和特征的筛选.

上图给了一个如何对GNN预测的节点分类(Basketball和Sailing)的结果进行解释.针对节点
及其label篮球,其邻居中很多人都喜欢球类也有一些喜欢非球类, GNNExplainer可以自动的找到邻居中都喜欢球类的这些人. 同样的,针对节点
,GNNExplainer也可以发现其好友中同样喜欢水上/沙滩类运动的好友.
Model
作者首先归纳了GNN的三个步骤: (1)MSG, 构建节点之间需要传递的消息. (2)AGG,收集节点相关的消息. (3)UPDATE, 更新节点表示. 下图解释了GNNExplainer要做的事情: 自动发现重要的消息和特征.

Explanation via Structural Information
假定被选择的与模型预测结果
最相关的的结构和特征分别为
, 那么其重要性可以用互信息
来衡量:
上式中的,
是常数,因为GNNExplainer是在训练好的GNN上模型上进行解释.上式等价于最小化条件熵
这样新的优化目标就是
利用Jensen不等式和凸性假设,我们可以得到
注意,这里的神经网络实际是不满足凸假设的.但是,作者通过实验发现上述目标函数+一定的正则可以实现高质量的解释. 为了实现对
的估计,这里用了平均场变分近似对
进行分解
. 这里
代表边
存在的期望.上式中的
可以用
来代替, 这里
是就是我们要学习的Graph Mask. 很多任务只关心部分类的节点及其模型如何对该类进行预测.因此上式可以修正为:
在实际解释的时候,只需要设定阈值将
中的部分低于阈值的边移除就好.这样就从结构的角度实现了对模型的解释.
Explanation via Feature Information
与结构方面的解释类似, 这里通过选择与预测结果最相关的部分特征来实现对模型的解释.
这里的特征选择器
可以将部分无关特征移除. 联合考虑结构和特征的选择,本文最终的优化目标为:
其中,
. 这里作者利用了重采样技术
来优化模型.
Multi-instance explanations through graph prototypes
上面都是对单个节点进行解释,但是很多时候我们更关注:如何对一类节点的预测进行解释? 本文把这个叫做multi-instance explanations,其主要包含两步
Experiments
作者在合成/真实数据集上验证了GNNExplainer在多种任务上的解释能力.
下图是在合成数据集上的结果.可以看出相对于Grad和Att, GNNExplainer可以更好的抽取出与Ground Truth相似的结构.

作者随后在真实数据集上,从结构和特征两个方面对图分类和节点分类任务进行了解释. 与合成数据集上类似,GNNExplainer可以更好抽取出于Ground Truth相似的的结构. 即使Ground Truth存在多个复杂结构的时候,GNNExplainer依然可以抽取出最具有解释性的结构.

除了从结构的角度对GNN进行解释之外,GNNExplainer也可以抽取出最重要的特征来实现更好的解释.从下图可以看出,在molecule中含有多种原子中,有部分原子对预测mutagenicity有重要作用, 而GNNExplainer可以非常好的识别出来. Grad的方法一定程度上可以识别特征的重要性,但是不够明确.

Conclusion
神经网络包括图神经网络在很多领域都得到了应用也取得了很好的效果.但是如何对神经网络的预测结果进行解释是一个问题.很多工作尝试利用注意力机制来对模型预测结果进行解释.本文针对GNN的特点,从结构和特征的角度来对任意GNN在任意任务上的结果进行了解释.
初学GNN可以参考下面这本书

 
		 
		![梅露可物语新王宠技能最新组合详解 [多图] 梅露可物语新王宠技能最新组合详解 [多图]](https://www.mq3d.com/zb_users/theme/cardslee/style/noimg/9.jpg) 
		 
		 
		 
		