图网络可解释性笔记

此篇笔记只是个人随笔,供大家参考

一、文章:《An Evaluation of Backpropagation Interpretability for Graph Classification with Deep Learning》

三种基于反向传播的可解释性方法,解释三种图网络:

 思路是某个子图或是节点对网络分类决策的重要程度。通过可解释方法识别的大多数活动节点之间的频繁子图(§V-D),以及通过DIFFPOOL可视化更高级别的节点集群

DIFFPOOL

为了比较可解释性方法的质量,我们采用了三个定量指标:保真度、对比性和稀疏性(fidelity, contrastivity, and sparsity)。保真度的计算是通过遮挡重要值大于阈值的节点得到的精度差。在图空间中,节点的遮挡可以通过多种方式实现:在一种极端情况下,我们可以删除该节点及其所有关联边。然而,这可能会彻底改变图的结构。相反,我们考虑一个更温和的遮挡:我们移除节点的相关特征,同时保持图结构不变。在各种可能的节点遮挡技术中,我们发现上述方法始终产生最佳保真分数,从而突出了可解释性方法的有效性

生成测试图的热图可视化,显示哪些节点(和子图)对输出分类有积极作用,哪些节点(和子图)对输出分类有消极作用。


对于深度学习的可解释性方法包括:
(1)内在的(intrinsic),即通过构建将可解释性直接融入其结构的自解释模型,
(2)因果颠倒的(post-hoc),即通过创建第二个模型来为现有模型提供解释。在保持基本模型精度不变的情况下,因果颠倒的模型的预测性能有限。

可解释性方法也可以分为:
(1)全局的,用户可以通过检查复杂模型的结构和参数来理解模型是如何全局工作的,从而解释类的本质;
(2)局部的,局部地检查模型的个体预测,试图弄清楚为什么模型会做出这样的决定。

 基于扰动/闭塞的模型(Perturbation/ occlusion-based models)通过测量特征改变时预测分数的变化来确定特征的贡献。虽然是与模型无关的,这种方法可以计算效率低,因为每个扰动都需要通过网络进行单独的前向传播。相反,反向传播方法是特定于模型的,并计算特定输出相对于输入的梯度(或其变体),使用反向传播来推导特征的贡献。直觉上,较大梯度的大小可能代表一个特征与预测的更实质性的相关性。反向传播方法更有效,因为它们通常只需要一次向前传递和另一次向后传递。


基于图分类深度学习的可解释性
讨论了最近的两个:GNNExplainer[27]使用交互信息形式化了重要性的概念,从而确定了输入图的一个子图和对模型预测影响最大的节点特征子集。这类似于基于扰动/闭塞的可解释性方法。第二种方法GroupINN[26]跨多个训练图执行节点分组,并将这种节点分组合并到神经网络的框架中,从而在几个特定任务上下文中识别出最具预测性的子图。这与我们在本文中研究的特定实例和基于回溯传播的可解释性方法不同。

DeepLIFT考虑到积极和消极的贡献,揭示了其他反向传播方法遗漏的依赖关系。

卷积神经网络(cnn)由交替堆叠的卷积层和空间池化层组成。将卷积推广到图的方法分为谱[3]方法和空间[7]方法。在谱方法中,滤波器应用于通过图傅里叶变换计算的图的频率模态。谱公式的一个局限性是,它们依赖于图拉普拉斯算子的固定谱,因此只适用于具有单一结构(和节点上不同特征)的图。相比之下,空间方法并不局限于固定的图结构,因为它们通过在相邻节点之间传播特征来提取局部特征。后来,Kipf和Welling[11]发展了一阶近似的谱卷积,这也促使了相邻节点之间的传播。
然而以上方法不适合做图级别分类,原因之一是,在提取局部节点特征后,这些特征直接归纳为用于图分类的图级特征,因此,为了更好地获取节点之间的关系以及得到完整的图表达,在图池化做了一些改进:
1)GCNN with global average pooling(GCNN+GAP[11], [13]):在全局平均池中没有需要优化的参数,因此它充当结构正则化器,


2)DGCNN [29] (GCNN with sort pool): 如果两个节点在最后一个通道中具有相同的值,则通过比较它们在最后第二个通道中的值来打破这种联系,依此类推(消除最后一层的模糊化)。 直觉上,SortPooling层对本地化的节点特性进行排序,而不是对它们进行汇总,这样可以保留更多的信息,并允许我们从全局图拓扑中学习。此外,它还统一了图的大小:不同节点数的图通过保留top-k节点来统一其大小


3)DIFFPOOL [28]
DIFFPOOL通过学习图神经网络(GNN)每层节点的簇分配,将节点映射到一组簇,然后形成下一层GNN的粗化输入,从而生成图的分层表示
嵌入GNN在这一层为输入集群生成新的嵌入,而池化GNN计算输入集群到粗化的nl+1集群的概率分配。

以上三个gcnn都以端到端方式支持图分类,而不需要首先将图转换为向量。它们的池层在节点排列下是不变的。邻接矩阵中的任何排列都会产生同构图,从而输出相同的预测。这对gcnn来说很重要。
相比之下,DIFFPOOL更具备可解释性,可以突出哪一部分子图更具有贡献度
 


我们研究了三种基于反向传播的事后(因果颠倒的)可解释性方法:
1)具有对比梯度的显著性映射(CG)[20]:这是一个简单的梯度和行之有效的方法,它使用一个输入的输出对节点图计算显著图(或归因地图),这是一个热图显示所有输入节点的归因。在这个显著性映射中,在输入节点上的梯度范数表示它们的相对重要性。
由于负梯度的归零,CG可能无法突出对输出有负贡献的输入;此外,它还可能遇到梯度饱和问题,梯度中的不连续会导致不理想的结果。(梯度饱和常常是和激活函数相关的,比如sigmod和tanh就属于典型容易进入梯度饱和区的函数,即自变量进入某个区间后,梯度变化会非常小,表现在图上就是函数曲线进入某些区域后,越来越趋近一条直线,梯度变化很小,梯度饱和会导致训练过程中梯度变化缓慢,从而造成模型训练缓慢)

2)梯度加权类激活映射(Grad-CAM)[17]
早期的CG方法在输入中突出显示详细深入的细节,但没有类别区分。相反,梯度加权类激活映射(Grad-CAM)具有高度的类区分性,因为它根据每个类相对于每个特征映射的梯度,通过将最终卷积层中的特征映射与特定类关联来计算粗粒度特征重要性映射。然后使用加权激活的特征映射来指示哪些输入是最重要的。
3)深度学习重要特征(DeepLIFT)
DeepLIFT从输出层L开始(在softmax之前),并以向后的方式进行。每个神经元a被赋予一个属性,表示在原始输入图G上激活的神经元相对于在某个参考输入图G0上激活的神经元的相对效果(Eq. 14)。参考图G0选择是同构输入图G,其所有节点特征被去除(例如,节点特征矩阵X = 0)。所有神经元决心向前运行一个引用值通过网络,使用基线G0作为输入,并记录每个神经元的激活:

 可解释性方法分配的节点属性值对于CG和Grad-CAM都是在0到1之间标准化的,而对于DeepLIFT是在1到1之间标准化的。


可解释性的衡量指标:
1) 保真度(fidelity)是通过遮挡所有属性值大于阈值(0.5)的节点(已经进行可解释性工作)来计算准确度(AUC-ROC)的下降。这样的节点被称为突出节点。为了计算保真度,在保持图结构不变的情况下,去除显著节点的特征。直观上,通过可解释性方法识别的显著节点的遮挡会显著降低分类性能。如果通过可解释性方法对凸点进行咬合后提高了准确性,则保真度可能是负的。如果分类结果较差,再加上质量较低的可解释性方法(如CG),这种情况就更常见。

2)对比性(contrastivity)是正类和负类二值化(即基于识别的显著节点)显著映射mˆ0,mˆ1之间的汉明距离dH之比,用两种方法识别的显著节点总数进行归一化:

 较高的对比度表明,可解释性方法突出的类特定特性在类之间应该有显著差异。(可认为区分度高)

3) 稀疏性(sparsity)等于1减去任意一类可识别的显著节点数(mˆ0∪mˆ1),除以输入图中节点总数n:

 稀疏性度量解释的局部化,这对较大的图很有用(假如存在许多显著节点,则无法粗分显著群体,尤其是大图)。注意,通过报告许多节点作为显著节点,可以提高保真度,但稀疏性会较低。因此,为了获得更好的可解释性方法,应该在保真度和稀疏度之间进行适当的权衡


可解释性可视化:

1)几种可解释性方法的可视化,分类模型——DGCNN-适用于节点级别分类

从上面的分子结构可以明显地看出,CG可解释性方法无法对有显著节点/节点群进行突出,而Grad-CAM和DeepLIFT可行(isomers:同构图,即拥有相同的图结构,但是不同的节点特征)。因此,Grad-CAM适用于类区分的可视化,而DeepLIFT用于识别两个单独实体之间的差异。

2)针对Grad-CAM的可视化,分类模型——2层DIFFPOOL_D——适用于图级别分类

 观察到,来自第1层的活动子图(用暗红色标记)大小适中,因此,它们可能有助于发现在预测图的类标签方面贡献最大的活动子图

3) DeepLIFT和传统图挖掘算法GraphSig比较

通过DeepLIFT得到的子图通常比GraphSig的小,但是它们通常包含GraphSig子图的重要子结构

 

### 回答1: DeepSHAP和DeepLIFT是两种用于解释神经网络预测结果的方法。DeepSHAP是SHAP (SHapley Additive exPlanations) 的深度学习版本,它可以用来解释神经网络模型中特征对预测结果的贡献程度。而DeepLIFT则是一种基于比较的解释方法,它通过比较输入和参考值之间的差异来解释特征对预测结果的影响。这两种方法都可以用来理解神经网络模型中特征对预测结果的影响,但它们的实现方式是不同的。 ### 回答2: DeepSHAP和DeepLIFT都是用于解释深度神经网络(DNN)决策的方法。它们可以揭示模型在输入上的预测结果中每个特征的相对重要性。 DeepSHAP是一种使用Shapley值(一种公平的资源分配方法)来解释DNN预测的方法。它通过计算不同特征在每个样本中的贡献度,并结合了输入和输出数据的组合来确定每个特征的影响力。通过计算每个特征的Shapley值,DeepSHAP提供了一个可解释的特征重要性评估。 DeepLIFT是一种使用参考输入来计算重要性的方法。它将预测结果与某个基准输入进行比较,然后通过计算每个特征对预测结果的贡献度来衡量其重要性。DeepLIFT通过进行输入输出之间的反向传播来计算相对权重。通过比较任意输入和某个基准输入之间的权重变化,DeepLIFT可以确定每个特征对模型预测的影响。 尽管DeepSHAP和DeepLIFT都是解释DNN决策的方法,它们之间存在一些差异。DeepSHAP通过在样本和特征间的组合上计算Shapley值来解释预测。而DeepLIFT则通过与参考输入进行比较,计算每个特征的影响力。因此,它们使用不同的策略来评估特征的重要性。 总的来说,DeepSHAP和DeepLIFT都提供了关于深度神经网络决策的重要信息。它们可以帮助我们理解模型是如何进行预测的,从而增强模型的解释性和可解释性。 ### 回答3: DeepSHAP和DeepLIFT是两种用于解释神经网络决策过程的方法。 DeepSHAP是基于关于输入特征相互作用的Shapley值原理的深度学习解释方法。它通过对每个特征进行掩模的方式,来计算每个特征对于模型输出的贡献程度。DeepSHAP通过计算每个特征的Shapley值,得出了每个特征对于模型输出的贡献程度,从而提供了对模型决策的解释。 DeepLIFT也是一种解释神经网络的方法,它通过比较输入的激活模式和一个参考输入的激活模式之间的差异,来计算每个特征对于模型输出的贡献程度。DeepLIFT通过计算每个特征的贡献度,提供了对模型决策的解释。 因此,DeepSHAP和DeepLIFT都是用于解释神经网络决策过程的方法。它们的目标都是提供对模型输出的解释,但采用了不同的计算方式。DeepSHAP基于Shapley值原理计算每个特征的贡献度,而DeepLIFT通过比较激活模式之间的差异来计算贡献度。两者都可以用于理解神经网络对于输入数据的关注程度,帮助我们理解模型决策的原因。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值