欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Creating Meaningful Graph Neural Network Explanations with Generative Causality Techniques

最编程 2024-01-27 20:23:32
...
  • 总体流程

首先从计算图中蒸馏出因果图,然后将因果图作为标签训练图生成模型

在这里插入图片描述

  • 蒸馏子图

假设实例i的计算图为在这里插入图片描述,分别为节点集合、邻接矩阵以及特征矩阵,GNN的目标是学习出条件分布,实例i的二阶计算图如下图圈中所示。这里的实例i是节点,注意当实例为图时,计算图为整个图。生成解释的目标即为计算图在这里插入图片描述学习出一个子图在这里插入图片描述,该子图和预测结果是最相关的,即在这里插入图片描述在这里插入图片描述,这一过程称之为蒸馏子图。

在这里插入图片描述

给定计算图在这里插入图片描述在这里插入图片描述表示模型的预测误差,在这里插入图片描述表示从图中去掉边在这里插入图片描述的预测误差,该边对实例的个体因果效应定义为模型误差的减少量

在这里插入图片描述

其中,在这里插入图片描述在这里插入图片描述在这里插入图片描述

考虑到图的特殊结构,来自边的贡献并不是完全独立的,比如在上面的图里,j就同时是i的一阶和二阶邻居,为此,论文提出要使用一些graph rules,比如确保top-k因果贡献最高的边是相互连通的,得到的子图为在这里插入图片描述

  • 作为解释器的图生成模型

论文使用了基于图卷积的编码器和内积解码器构成图自编码器来生成子图。具体过程是先用卷积模块学习到节点特征在这里插入图片描述,然后计算因果邻接矩阵在这里插入图片描述,每一个值表示对应边的因果贡献。

为了对节点的角色进行标记,论文使用了节点标记的技巧,中心节点标记为0,一阶邻居标记为1,如下图依次类推,并将这些标签转化为one-hot编码,在其他的链路预测以及图分类任务上,节点标记算法要做对应修改。

在这里插入图片描述