最近看过的相关可解释性的论文(持续更新...)

最近看过的相关可解释性的论文

1.(2020ICLR)TabNet: Atentive Interpretable Tabular Learning

解决的问题

  • 基于树的方法能够有很好的解释性,但是需要大量的特征工程,以及精度不够高 基于DNN的方法能够有效编码各种格式数据,无需大量特征工程,且能够准确鲁棒地对数据进行处理,能否设计兼顾两者的DNN

想法/创新:

  • 提出了一种基于表格的数据的DNN的架构TabNet,学习类似决策树式的映射,使用顺序注意机制从每个决策步中选择最显著的特征用于下游任务
  • 能够提供输入的量化每个输入对于输出的贡献,全局可解释性和局部可解释性

在这里插入图片描述
之前的论文已经证明DNN可以通过拟合一个函数模拟决策树的学习过程,从而构建一个超平面的决策边界。TabNet基于一个tree-like的函数,通过构成系数Mask确定每个特征的比例,具体而言,TabNet构建了一个sequential multi-step的结构,设计了 instance-wise 的特征选择方法。上图中,第一step选择professional类的特征,第二step选择Investment类的特征。
在这里插入图片描述
整个网络由多个step模块构成,每个模块包括一个feature transformer和一个attentive transformer,其中attentive transformer生成mask决定每个特征的重要性,而feature transformer用于特征的提取
在这里插入图片描述

M [ i ] = sparsemax ⁡ ( P [ i − 1 ] ⋅ h i ( a [ i − 1 ] ) ) P [ i ] = ∏ j = 1 i ( γ − M [ j ] ) L  sparse  = ∑ i = 1 N steps ∑ b = 1 B ∑ j = 1 D − M b , j [ i ] N steps ⋅ B log ⁡ ( M b , j [ i ] + ϵ ) M [ i ] = \operatorname { sparsemax } ( P [ i - 1 ] \cdot h _ { i } ( a [ i - 1 ] ) )\\ P [ i ] = \prod _ { j = 1 } ^ { i } ( \gamma - M [ j ] )\\ L _ { \text { sparse } } = \sum _ { i = 1 } ^ { N _ { \text {steps} } } \sum _ { b = 1 } ^ { B } \sum _ { j = 1 } ^ { D } \frac { - M _ { b , j } [ i ] } { N _ { \text {steps} } \cdot B } \log ( M _ { b , j } [ i ] + \epsilon ) M[i]=sparsemax(P[i1]hi(a[i1]))P[i]=j=1i(γM[j])L sparse =i=1Nstepsb=1Bj=1DNstepsBMb,j[i]log(Mb,j[i]+ϵ)
其中 M [ i ] M [ i ] M[i]表示第i个step的MASK矩阵, P [ i − 1 ] P [ i - 1 ] P[i1]代表先验知识(i step前所有的step的先验), h i h_i hi代表特征提取器,如果某些特征的 M [ i ] M [ i ] M[i]很大时,那么在下一步,就希望更多的关注于先前没有关注的特征,loss目的是为了保证M的稀疏性

在这里插入图片描述
[ d [ i ] , a [ i ] ] = f i ( M [ i ] ⋅ f ) [ d [ i ] , a [ i ] ] = f _ { i } ( M [ i ] \cdot f ) [d[i],a[i]]=fi(M[i]f)
这里表示split后的两部分,一部分用于本步的决策,一部分作为下一step的输入

可解释性的体现:每个step 的mask都是一种局部解释性,而融合的mask是一种全局解释性,每个输入对于输出的贡献可以通过累加所有step的MASK来得到
M a g g − b , j = ∑ i = 1 N s t e p s η b [ i ] M b , j [ i ] / ∑ j = 1 D ∑ i = 1 N s t e p s η b [ i ] M b , j [ i ] M _ { agg - b , j } = \sum _ { i = 1 } ^ { N _ { s t e p s } } \eta _ { b } [ i ] M _ { b , j } [ i ] / \sum _ { j = 1 } ^ { D } \sum _ { i = 1 } ^ { N _ { s t e p s } } \eta _ { b } [ i ] M _ { b , j } [ i ] Maggb,j=i=1Nstepsηb[i]Mb,j[i]/j=1Di=1Nstepsηb[i]Mb,j[i]
和常用的解释性方法对于特征重要程度的对比:
在这里插入图片描述
Critical Tinking:

  1. 通过局部特征选择MASK,通过顺序步长的方式来选择特征,最后融合每个step的特征做出预测
  2. 虽然MASK矩阵是通过学习到的,是否能够真实反应对于输出的贡献有待考量

2.(2019ICLR)GNNExplainer: Generating Explanations for Graph Neural Networks

解决的问题:

  1. 同时包含图结构和特征信息会导致模型复杂,无法解释GNN做出的预测

方法和创新

  • 对于单一实例,GNNExplainer能够确定一个紧凑的子图结构和节点的部分重要特征,这些特征对于预测起着重要作用
  • 对于实例类,能够找到一个子图及节点特征原型来生成简洁一致的解释

方法的具体过程
在这里插入图片描述
在这里插入图片描述
GNNExplainer目的是为了找到如上图所示的一系列的重要节点信息传播路径(绿色路径)以及学习相应的节点上的特征重要性掩码

  • 问题定义
  1. 定义GNN的主要相关计算:
    (1)节点对间的信息 m i j l = MsG ⁡ ( h i l − 1 , h j l − 1 , r i j ) m _ { i j } ^ { l } = \operatorname { MsG } ( h _ { i } ^ { l - 1 } , h _ { j } ^ { l - 1 } , r _ { i j } ) mijl=MsG(hil1,hjl1,rij),其中 h i l − 1 , h j l − 1 h _ { i } ^ { l - 1 } , h _ { j } ^ { l - 1 } hil1,hjl1代表上一层节点表示
    (2)每个节点聚合邻居信息 M i l = AGG ⁡ ( { m i j l ∣ v j ∈ N v i } ) M _ { i } ^ { l } = \operatorname { AGG } ( \{ m _ { i j } ^ { l } | v _ { j } \in N _ { v _ { i } } \} ) Mil=AGG({mijlvjNvi})
    (3)根据聚合的信息和上一层节点的信息生成当前节点的表示 h i l = UPDATE ⁡ ( M i l , h i l − 1 ) h _ { i } ^ { l } = \operatorname { UPDATE } ( M _ { i } ^ { l } , h _ { i } ^ { l - 1 } ) hil=UPDATE(Mil,hil1)

  2. GNN目的是为了学习一个条件概率分布 P Φ ( Y ∣ G c , X c ) P _ { \Phi } ( Y | G _ { c } , X _ { c } ) PΦ(YGc,Xc),GNN的预测可以被表示为 y ^ = Φ ( G c ( v ) , X c ( v ) ) \hat { y } = \Phi ( G _ { c } ( v ) , X _ { c } ( v ) ) y^=Φ(Gc(v),Xc(v))

    GNNExplainer目标是为预测生成一个解释 ( G S , X S F ) ( G _ { S } , X _ { S } ^ { F } ) (GS,XSF) G S G _ { S } GS表示计算图的一个小子图, X S F X _ { S } ^ { F } XSF表示被F mask后的节点特征集

  • 单实例解释

    首先是对于结构的解释:
    max ⁡ G S M I ( Y , ( G S , X S ) ) = H ( Y ) − H ( Y ∣ G = G S , X = X S ) \max _ { G _ { S } } M I ( Y , ( G _ { S } , X _ { S } ) ) = H ( Y ) - H ( Y | G = G _ { S } , X = X _ { S } ) GSmaxMI(Y,(GS,XS))=H(Y)H(YG=GS,X=XS)
    MI衡量当G和X被限制在 G S 和 X S G_S和X_S GSXS下预测y概率的改变,由于模型已经训练完成,所以H(Y)是固定的,所以可以将问题转化为最小化条件熵 H ( Y ∣ G = G S , X = X S ) H ( Y | G = G _ { S } , X = X _ { S } ) H(YG=GS,X=XS):

    H ( Y ∣ G = G S , X = X S ) = − E Y ∣ G S , X S [ log ⁡ P Φ ( Y ∣ G = G S , X = X S ) ] H ( Y | G = G _ { S } , X = X _ { S } ) = - E _ { Y | G _ { S } , X _ { S } } [ \log P _ { \Phi } ( Y | G = G _ { S } , X = X _ { S } ) ] H(YG=GS,X=XS)=EYGS,XS[logPΦ(YG=GS,X=XS)]

    所以新的优化目标:
    min ⁡ G E G S ∼ G H ( Y ∣ G = G S , X = X S ) \min _ { G } E _ { G _ { S } \sim G } H ( Y | G = G _ { S } , X = X _ { S } ) GminEGSGH(YG=GS,X=XS)
    利用Jensen不等式和凸性假设,我们可以得到:
    min ⁡ G H ( Y ∣ G = E G [ G S ] , X = X S ) \min _ { G } H ( Y | G = E _ { G } [ G _ { S } ] , X = X _ { S } ) GminH(YG=EG[GS],X=XS)
    因为在实际中凸假设是不成立的,但是通过实验加入正则项能够达到一个local minimum 且具有良好的解释性,为了实现对于 E G E_G EG的估计将其分解为变分伯努利分布 P G ( G S ) = ∏ ( j , k ) ∈ G c A S [ j , k ] P _ { G } ( G _ { S } ) = \prod _ { ( j , k ) \in G _ { c } } A _ { S } [ j , k ] PG(GS)=(j,k)GcAS[j,k],所以可用 A c ⊙ σ ( M ) A _ { c } \odot \sigma ( M ) Acσ(M)来代替 E G E_G EG,这里 M M M是就是我们要学习的Graph Mask. 很多任务只关心部分类的节点及其模型如何对该类进行预测.因此上式可以修正为:
    min ⁡ M − ∑ c = 1 C 1 [ y = c ] log ⁡ P Φ ( Y = y ∣ G = A c ⊙ σ ( M ) , X = X c ) \min _ { M } - \sum _ { c = 1 } ^ { C } 1 [ y = c ] \log P _ { \Phi } ( Y = y | G = A _ { c } \odot \sigma ( M ) , X = X _ { c } ) Mminc=1C1[y=c]logPΦ(Y=yG=Acσ(M),X=Xc)

    与结构方面的解释类似,feature方面的解释也是通过一个mask来决定哪些特征对于预测是重要的:
    X S F = { x j F ∣ v j ∈ G S } , x j F = [ x j , t 1 , … , x j , t k ]  for  F t i = 1 X _ { S } ^ { F } = \{ x _ { j } ^ { F } | v _ { j } \in G _ { S } \} , \quad x _ { j } ^ { F } = [ x _ { j , t _ { 1 } } , \ldots , x _ { j , t _ { k } } ] \text { for } F _ { t _ { i } } = 1 XSF={xjFvjGS},xjF=[xj,t1,,xj,tk] for Fti=1
    其中 X S F = X S ⊙ F X _ { S } ^ { F } \text = X _ { S } \odot F XSF=XSF F F F是我们要学习的mask

    最终联合优化最大化互信息熵:
    max ⁡ G S , F M I ( Y , ( G S , F ) ) = H ( Y ) − H ( Y ∣ G = G S , X = X S F ) \max _ { G _ { S } , F } M I ( Y , ( G _ { S } , F ) ) = H ( Y ) - H ( Y | G = G _ { S } , X = X _ { S } ^ { F } ) GS,FmaxMI(Y,(GS,F))=H(Y)H(YG=GS,X=XSF)

Critical Thinking:

  1. 定义了图节点特征计算的过程,为了得到子图和特征子集,使用了互信息熵的概念,通过变分近似,将非凸的图卷积网络能够通过加入正则项进行凸优化,从而在局部最小点能够获得好的解释,其中的方法很类似于之前所说的找到最小充分子集,这里的最小充分子集定义为一个小图及图上节点的特征子集
  2. 和非GNN相比,思想其实是很相似的,都是通过MASK或者选择出重要特征优化互信息熵(我们选出的这些特征子集对于预测有重要作用)

3.(NIPS2020)Parameter Explainer for Graph Neural Network

解决的问题:

  • 解决了上面提到的GNNExplainer存在的问题(1)只能用于单个实例的解释,生成了一个子图和特征子集来提供可解释的解释(2)对于每个实例都要重新训练,这使得在多实例场景中不能成功应用,得到的解释属于local解释不能得到全局的集合的归纳的解释

方法/创新:

  • 强调集体性和归纳性,PGEExplainer使用了由图数据建模的生成概率模型,能从观察的数据中发现基础的结构作为解释
  • 将底层结构建模为边的分布,解释的图从其中进行采样,为了综合解释多个实例的预测,PGExplainer中的生成过程被一个深度神经网络参数化。由于神经网络参数在被解释实例的总体上是共享的,所以PGExplainer自然适用于为每个实例提供模型级的解释,并提供GNN模型的全局视图。

The PGExplainer
在这里插入图片描述

文献中显示真实生活中的图都有一些基础结构,所以将输入图 G o G _ { o } Go分解为两个子图, G o = G s + Δ G G _ { o } = G _ { s } + \Delta G Go=Gs+ΔG,其中第一项代表做出重要贡献的子图(即用于说明的子图),剩下的是任务无关的边,同上篇一样,通过最大化预测和 G s G_s Gs的互信息熵来找到 G s G_s Gs:
max ⁡ G s M I ( Y o , G s ) = H ( Y o ) − H ( Y o ∣ G = G s ) \max _ { G _ { s } } MI ( Y _ { o } , G _ { s } ) = H ( Y _ { o } ) - H ( Y _ { o } | G = G _ { s } ) GsmaxMI(Yo,Gs)=H(Yo)H(YoG=Gs)

直接优化导致很大的复杂度,假设解释图是吉尔伯特随机图,从原始图中挑选连边是独立的,将G看做一个随机图变量,基于上述假设,图G的概率可以被描述为:
P ( G ) = Π ( i , j ) ∈ E P ( e i j ) P ( G ) = \Pi _ { ( i , j ) \in E } P ( e _ { i j } ) P(G)=Π(i,j)EP(eij)
一个直接的实例是 P ( e i j ) P(e_{ij}) P(eij)属于伯努利分布,并且 P ( e i j = 1 ) = θ i j P(e_{ij}=1)=\theta_{ij} P(eij=1)=θij是边存在在G中的概率,在这个放松的条件下:
min ⁡ G s H ( Y o ∣ G = G s ) = min ⁡ G s E G s [ H ( Y o ∣ G = G s ) ] ≈ min ⁡ Θ E G s ∼ q ( Θ ) [ H ( Y o ∣ G = G s ) ] \min _ { G _ { s } } H ( Y _ { o } | G = G _ { s } ) = \min _ { G _ { s } } E _ { G _ { s } } [ H ( Y _ { o } | G = G _ { s } ) ] \approx \min _ { \Theta } E _ { G _ { s } \sim q ( \Theta ) } [ H ( Y _ { o } | G = G _ { s } ) ] GsminH(YoG=Gs)=GsminEGs[H(YoG=Gs)]ΘminEGsq(Θ)[H(YoG=Gs)]

重新参数化技巧

将采样过程使用一个确定的方法来近似,将边权重从二值放松为0,1间的连续数值
G s ≈ G ^ s = f Ω ( G o , τ , ϵ ) G _ { s } \approx\hat { G } _ { s } = f _ { \Omega } ( G _ { o } , \tau , \epsilon ) GsG^s=fΩ(Go,τ,ϵ)
其中参数为 Ω \Omega Ω,温度为 τ \tau τ,独立随机变量 ϵ \epsilon ϵ,利用二值确定分布作为实例

具体来说,边权重由下式计算:
ϵ ∼ Uniform ⁡ ( 0 , 1 ) , e ^ i j = σ ( ( log ⁡ ϵ − log ⁡ ( 1 − ϵ ) + ω i j ) / τ ) \epsilon \sim \operatorname { Uniform } ( 0,1 ) , \quad \hat { e } _ { i j } = \sigma ( ( \log \epsilon - \log ( 1 - \epsilon ) + \omega _ { i j } ) / \tau ) ϵUniform(0,1),e^ij=σ((logϵlog(1ϵ)+ωij)/τ)
在这里插入图片描述
这段就讲了使用这种分布来近似伯努利分布的合理性,然后可以将优化目标写为:
min ⁡ Ω E ϵ ∼ Uniform ⁡ ( 0 , 1 ) H ( Y o ∣ G = G ^ s ) \min _ { \Omega } E _ { \epsilon \sim \operatorname { Uniform } ( 0,1 ) } H ( Y _ { o } | G = \hat { G } _ { s } ) ΩminEϵUniform(0,1)H(YoG=G^s)

在节点分类任务中我们修改条件熵为交叉熵,并使用蒙特卡洛近似
min ⁡ Ω E ϵ ∼ Uniform ⁡ ( 0 , 1 ) H ( Y o , Y ^ s ) ≈ min ⁡ Ω − 1 K ∑ k = 1 K ∑ c = 1 C P ( Y o = c ) log ⁡ P ( Y ^ s = c ) = min ⁡ Ω − 1 K ∑ k = 1 K ∑ c = 1 C P Φ ( Y = c ∣ G = G o ) log ⁡ P Φ ( Y = c ∣ G = G ^ s ( k ) ) \left. \begin{array} { c } { \min _ { \Omega } E _ { \epsilon \sim \operatorname { Uniform } ( 0,1 ) } H ( Y _ { o } , \hat { Y } _ { s } ) \approx \min _ { \Omega } - \frac { 1 } { K } \sum _ { k = 1 } ^ { K } \sum _ { c = 1 } ^ { C } P ( Y _ { o } = c ) \log P ( \hat { Y } _ { s } = c ) } \\ \\ { = \min _ { \Omega } - \frac { 1 } { K } \sum _ { k = 1 } ^ { K } \sum _ { c = 1 } ^ { C } P _ { \Phi } ( Y = c | G = G _ { o } ) \log P _ { \Phi } ( Y = c | G = \hat { G } _ { s } ^ { ( k ) } ) } \end{array} \right. minΩEϵUniform(0,1)H(Yo,Y^s)minΩK1k=1Kc=1CP(Yo=c)logP(Y^s=c)=minΩK1k=1Kc=1CPΦ(Y=cG=Go)logPΦ(Y=cG=G^s(k))

从全局的观点来看图神经网络的解释
Z = GNNE ⁡ Φ 0 ( G o , X ) , Y = GNNC ⁡ Φ 1 ( Z ) Z = \operatorname { GNNE } _ { \Phi _ { 0 } } ( G _ { o } , X ) , Y = \operatorname { GNNC } _ { \Phi _ { 1 } } ( Z ) Z=GNNEΦ0(Go,X),Y=GNNCΦ1(Z)
其中Z表示经过GNN得到的node embedding,同时将它作为解释器的输入
Ω = g Ψ ( G o , Z ) \Omega = g _ { \Psi } ( G _ { o } , Z ) Ω=gΨ(Go,Z)
具体到实例中,PGExplainer的优化目标是:
min ⁡ Ψ − ∑ i ∈ I ∑ k = 1 K ∑ c = 1 C P Φ ( Y = c ∣ G = G o ( i ) ) log ⁡ P Φ ( Y = c ∣ G = G ^ s ( i , k ) ) \min _ { \Psi } - \sum _ { i \in I } \sum _ { k = 1 } ^ { K } \sum _ { c = 1 } ^ { C } P _ { \Phi } ( Y = c | G = G _ { o } ^ { ( i ) } ) \log P _ { \Phi } ( Y = c | G = \hat { G } _ { s } ^ { ( i , k ) } ) ΨminiIk=1Kc=1CPΦ(Y=cG=Go(i))logPΦ(Y=cG=G^s(i,k))

对于节点分类任务
ω i j = M L P Ψ ( [ z i ; z j ; z v ] ) \omega _ { i j } = MLP _ { \Psi } ( [ z _ { i } ; z _ { j } ; z _ { v } ] ) ωij=MLPΨ([zi;zj;zv])

对于图分类任务
ω i j = MLP ⁡ Ψ ( [ z i ; z j ] ) \omega _ { i j } = \operatorname { MLP } _ { \Psi } ( [ z _ { i } ; z _ { j } ] ) ωij=MLPΨ([zi;zj])

正则化

size和熵限制,budget限制(都是为了使得找到的子图是稀疏的,即是最小贡献子图)

连通限制:
H ( e ^ i j , e ^ i k ) = − [ ( 1 − e ^ i j ) log ⁡ ( 1 − e ^ i k ) + e ^ i j log ⁡ e ^ i k ] H ( \hat { e } _ { i j } , \hat { e } _ { i k } ) = - [ ( 1 - \hat { e } _ { i j } ) \log ( 1 - \hat { e } _ { i k } ) + \hat { e } _ { i j } \log \hat { e } _ { i k } ] H(e^ij,e^ik)=[(1e^ij)log(1e^ik)+e^ijloge^ik]
思想是在真实场景下,决定性的结构被认为是相互关联的,如果两条边都和节点有连接,那么如果选择了一条边也要选择另一条
H ( e ^ i j , e ^ i k ) = − [ ( 1 − e ^ i j ) log ⁡ ( 1 − e ^ i k ) + e ^ i j log ⁡ e ^ i k ] H ( \hat { e } _ { i j } , \hat { e } _ { i k } ) = - [ ( 1 - \hat { e } _ { i j } ) \log ( 1 - \hat { e } _ { i k } ) + \hat { e } _ { i j } \log \hat { e } _ { i k } ] H(e^ij,e^ik)=[(1e^ij)log(1e^ik)+e^ijloge^ik]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值