GNNExplainer: Generating Explanations for Graph Neural Networks

Ying R., Bourgeois D., You J., Zitnik M. and Leskovec J. GNNExplainer: generating explanations for graph neural networks. In Advances in Neural Information Processing Systems (NIPS), 2019.

本文介绍了一种后处理的可解释方案: 即给定一个训练好的 GNN, 对它给予解释.

符号说明

  • G=(V,E), 图;
  • X={x1,,xn},xiRd, d 维的 node features;
  • Φ:G×X[C], GNN Φ 将结点映射为类别 c{1,2,,C}.

本文方法

  • 作者希望通过一个结点的 local subgraph 来解释某个结点的预测标签为什么是 y^. 如上图所示, vi 的朋友们都非常享受球类运动, 所以 GNN 预测他可能喜欢篮球.

  • 假设完整的图为 Gc, 作者希望为结点 v 找到一个子图 GS(v)Gc, 以及部分特征 XS={xj|vjGS} 来解释 v;

  • 首先, 作者希望通过子图 GS,XS, 具备足够的预测 y(v) 的信息, 即:

    (2)maxGSMI(Y,(GS,XS))=H(Y)H(Y|G=GS,X=XS),

    因为 H(Y) 是不变的, 所以等价于

    EY|GS,XS[logPΦ(Y|G=GS,X=XS)].

    当然了, 如果 GS 本身没有限制的话, 它就会倾向于 Gc, 所以我们希望 GS 是比较小的:

    |GS|KM.

  • 但是上述问题其实很难优化, 因为 GS 本身是在一个离散的空间上, 很自然地, 作者将邻接矩阵放松到 AS[0,1]n×n, 且 [AS]ij[Ac]ij, 即只有 Gc 原本存在的边才有可能非零. 我们可以将其理解为边存在的概率, 于是 GS 就可以理解为采样得到的一个图, 此时 (2) 需要改写为:

    maxGEGSGH(Y|G=GS,X=XS),

    其中 G 是由 AS 引出的分布, PG(GS)=(i,j)V[AS]ij.
    既然信息熵是凹的, 倘若整体关于 GS 也是凹的 (虽然实际上不现实, 但是作者的实验证明下面的优化目标用起来还可以), 则:

    maxGH(Y|G=EGSG[GS],X=XS),

  • 实际上, 我们可以直接建模 EGSG[GS]

    Acσ(M),

    其中 MRn×n 为 mask, σ 为 sigmoid 激活函数将其映射到 [0,1].

  • 于是乎, 我们的目标为:

    minMlogPΦ(Y=c|G=Acσ(M),X=Xc).

    需要注意的是, 为了最后获得稀疏的结果, 需要对 M 进行截断处理.

  • 类似地, 我们可以对特征添加 mask F, 用其为 1 的部分来表示对预测重要的特征部分:

    maxGS,FMI(Y,(GS,XS))=H(Y)H(Y|G=GS,X=XSF:=XSF).

    作者说这种建模方式会导致 F 的值趋向 0 但是那个特征依旧很重要的情况, 改用如下的建模方式:

    X=Z+(XS)F,jFjKF,

    其中 ZRd 采样自经验分布.
    注: 这一块不是很理解, 应该是借鉴自图像的可解释 [48].

代码

[official]

posted @   馒头and花卷  阅读(218)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示