HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS

一、前作:BEYOND WORD IMPORTANCE: CONTEXTUAL DE-COMPOSITION TO EXTRACT INTERACTIONS FROM LSTMs(Oral)

主要思路及贡献

引入了上下文分解(CD),这是一种解释算法,用于分析由标准LSTMs做出的单个预测,而不需要对底层模型进行任何更改。通过分解LSTM的输出,CD捕获单词或变量组合对LSTM最终预测的贡献。CD不仅提取了哪些词对LSTM的预测有贡献的信息,而且还提取了它们是如何组合以产生最终预测的信息。通过对LSTM的输出进行数学分解,我们能够消除句子的不同部分在每一步所作贡献的歧义

CONTEXTUAL DECOMPOSITION OF LSTMS(Lstm的上下文分解)

将lstm的输出分解为两部分贡献:一部分是有给定短语或者词产生的结果,第二部分是其他因素产生的结果,这样分解的观点是lstm是对变量相互作用建模的一种工具,反应了变量之间的相互作用。

1. lstm回顾

HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS
最后的状态 h t h_t ht被视作学习到的特征向量,并通过逻辑回归来进行最后的预测,返回一个各个类的概率分布
HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS

2. contextual decomposition of lstm(lstm的上下文分解)



二、后续:HIERARCHICAL INTERPRETATIONS FOR NEURAL NET-WORK PREDICTIONS(神经网络预测的层次解释)

主要概念及贡献

主要思想: agglomerative contextual decomposition (ACD) 凝聚上下文的分解,生成输入特征的层次聚类,以及每个聚类对最终预测的贡献,该层次结构被优化以识别出DNN所学习的具有预测性的特征簇(其实本质还是在于如何能够得到一组最有影响力的特征子集,从而能够提供简洁的解释)

主要贡献:

  1. 通过一般化上下文分解得到特征组的重要度分数(contextul decomposition CD)
  2. 引入了层次显著性概念,在凝聚聚类阶段将组级重要性度量CD作为连接向量,这种方法适用于所有的可以通过合适度量来计算重要性的模型

HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS
文章中描述的ACD是如何对“not very good ”给出“negtive”判断的,是根据构造出了层次级别的有意义的短语并给出每个短语对预测结果的贡献

具体方法

1. 一般DNNs的上下文分解(CD)重要性得分

给定一个DNNs f ( x ) f(x) f(x),可以将它的输出看做将 s o f t m a x softmax softmax作用到 g ( x ) g(x) g(x)上( g ( x ) g(x) g(x)代表一系列的逻辑单元),比如卷积,ReLU)

HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS
给定一组特征 { x j } j ∈ S \left \{x_j\right \}_{j \in S} {xj}jS,一般化CD算法将逻辑单元 g ( x ) g(x) g(x)分解为两个部分的和, β ( x ) \beta(x) β(x) γ ( x ) \gamma(x) γ(x),其中 β ( x ) \beta(x) β(x)是特征组 { x j } j ∈ S \left \{x_j\right \}_{j \in S} {xj}jS的重要性度量,而 γ ( x ) \gamma(x) γ(x)是不在 β ( x ) \beta(x) β(x)中的特征对 g ( x ) g(x) g(x)的贡献
g C D = ( β ( x ) , γ ( x ) ) β ( x ) + γ ( x ) = g ( x ) g^{CD}=(\beta(x),\gamma(x)) \\ \beta(x)+\gamma(x)=g(x) gCD=(β(x),γ(x))β(x)+γ(x)=g(x)
为了计算对于 g ( x ) g(x) g(x)的CD分解,对于每一个 g i ( x ) g_i(x) gi(x)定义层次CD分解, g i C D = ( β i , γ i ) g_i^{CD}=(\beta_i,\gamma_i) giCD=(βi,γi),同理 β i \beta_i βi代表重要性对于特征组 { x j } j ∈ S \left \{x_j\right \}_{j \in S} {xj}jS在第 i i i层的重要性度量,而 γ i \gamma_i γi代表剩下部分对于第 i i i层的贡献,为了得到分解 β i + γ i = g i ( x ) \beta_i+\gamma_i=g_i(x) βi+γi=gi(x),对于整个网络则可以分解为
HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS

  • g i g_i gi是卷积或者全连接时,层次操作包含一个权重矩阵 W W W和偏差 b b b,其中,权重矩阵是可以分别和两个分量相乘,但是偏差必须根据**值来进行划分

HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS

  • g i g_i gi是max-pooling时我们定义被max-pool选择的索引或者通道为 m a x _ i d x s max\_idxs max_idxs,对于相应的通道进行分解

HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS

  • 如果 g i g_i gi是ReLu的话
    HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS

2. agglomerative contextul decomposition (ACD)(凝聚的上下文分解)

鉴于上面介绍的广义CD分数,我们现在介绍用于生成ACD解释的聚类过程。在高层次上,等价于聚类层次聚类,其中CD交互被用作连接度量来决定在每一步连接哪些集群。该过程从个体特征入手,根据CD提供的交互得分,迭代地组合它们,构建层次结构,显示的ACD解释为层次结构,以及每个节点上的CD重要性得分。

HIERARCHICAL INTERPRETATIONS FOR NEURAL NET- WORK PREDICTIONS