文章目录
最近看过的相关可解释性的论文
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[i−1]⋅hi(a[i−1]))P[i]=j=1∏i(γ−M[j])L sparse =i=1∑Nstepsb=1∑Bj=1∑DNsteps⋅B−Mb,j[i]log(Mb,j[i]+ϵ)
其中 M [ i ] M [ i ] M[i]表示第i个step的MASK矩阵, P [ i − 1 ] P [ i - 1 ] P[i−1]代表先验知识(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 ] Magg−b,j=i=1∑Nstepsηb[i]Mb,j[i]/j=1∑Di=1∑Nstepsηb[i]Mb,j[i]
和常用的解释性方法对于特征重要程度的对比:
Critical Tinking:
- 通过局部特征选择MASK,通过顺序步长的方式来选择特征,最后融合每个step的特征做出预测
- 虽然MASK矩阵是通过学习到的,是否能够真实反应对于输出的贡献有待考量
2.(2019ICLR)GNNExplainer: Generating Explanations for Graph Neural Networks
解决的问题:
- 同时包含图结构和特征信息会导致模型复杂,无法解释GNN做出的预测
方法和创新
- 对于单一实例,GNNExplainer能够确定一个紧凑的子图结构和节点的部分重要特征,这些特征对于预测起着重要作用
- 对于实例类,能够找到一个子图及节点特征原型来生成简洁一致的解释
方法的具体过程
GNNExplainer目的是为了找到如上图所示的一系列的重要节点信息传播路径(绿色路径)以及学习相应的节点上的特征重要性掩码
- 问题定义
-
定义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(hil−1,hjl−1,rij),其中 h i l − 1 , h j l − 1 h _ { i } ^ { l - 1 } , h _ { j } ^ { l - 1 } hil−1,hjl−1代表上一层节点表示
(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({ mijl∣vj∈Nvi})
(3)根据聚合的信息和上一层节点的信息生成当前节点的表示 h i l = UPDATE ( M i l , h i l − 1 ) h _ { i } ^ { l } = \operatorname { UPDATE } ( M _ { i } ^ { l } , h _ { i } ^ { l - 1 } ) hi