文章目录
一、前作: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回顾
最后的状态 h t h_t ht被视作学习到的特征向量,并通过逻辑回归来进行最后的预测,返回一个各个类的概率分布
2. contextual decomposition of lstm(lstm的上下文分解)
给定固定的短语 x q , . . . , x r x_q,...,x_r xq,...,xr,且 1 ≤ q ≤ r ≤ T 1\leq q \leq r \leq T 1≤q≤r≤T,我们将每个输出即细胞状态分解为如下形式
其中
β
t
\beta _t
βt表示对于
h
t
h_t
ht仅仅由给定短语单独的贡献,而
γ
t
\gamma_t
γt代表部分由短语无关元素的贡献,对于
c
t
c_t
ct来说也是一样
这里
W
β
T
W\beta_T
WβT给出了短语对于LSTM预测贡献的定量分数,由于该分数对应于逻辑回归的输入,所以可以将其解释为标准的逻辑回归的系数
3. disambiguating interactions between gates(门之间的相互作用的消歧)
在细胞更新阶段,
i
t
i_t
it和
g
t
g_t
gt仅仅由那个时间步的
x
t
x_t
xt和前一个隐藏状态
h
t
−
1
=
β
t
−
1
+
γ
t
−
1
h_{t-1}=\beta_{t-1}+\gamma_{t-1}
ht−1=βt−1+γt−1决定,因此在计算
i
t
⨀
g
t
i_t \bigodot g_t
it⨀gt,通常叫做门控制,由
x
t
x_t
xt到
i
t
i_t
it的贡献和由
h
t
h_t
ht到
g
t
g_t
gt的贡献相互作用,反之亦然
基于这个观点,我们假设我们有一个能够线性化门和更新的方法,以至于我们能够将这些操作写成对于他们输入贡献的线性和
所以在我们更新细胞状态的时候,门之间的积变成了不同元素的贡献的线性和之间的乘积,通过展开这些乘积,结果中的交叉项目被自然的解释为变量之间的相互作用
例1:交叉项指定为结果是否仅仅来自于短语
例2:来自于短语和其他因素之间的相互作用
例3:单纯来自于其他因素
二、后续:HIERARCHICAL INTERPRETATIONS FOR NEURAL NET-WORK PREDICTIONS(神经网络预测的层次解释)
主要概念及贡献
主要思想: agglomerative contextual decomposition (ACD) 凝聚上下文的分解,生成输入特征的层次聚类,以及每个聚类对最终预测的贡献,该层次结构被优化以识别出DNN所学习的具有预测性的特征簇(其实本质还是在于如何能够得到一组最有影响力的特征子集,从而能够提供简洁的解释)
主要贡献:
- 通过一般化上下文分解得到特征组的重要度分数(contextul decomposition CD)
- 引入了层次显著性概念,在凝聚聚类阶段将组级重要性度量CD作为连接向量,这种方法适用于所有的可以通过合适度量来计算重要性的模型
文章中描述的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)
给定一组特征
{
x
j
}
j
∈
S
\left \{x_j\right \}_{j \in S}
{xj}j∈S,一般化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}j∈S的重要性度量,而
γ
(
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}j∈S在第
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),对于整个网络则可以分解为
- 当 g i g_i gi是卷积或者全连接时,层次操作包含一个权重矩阵 W W W和偏差 b b b,其中,权重矩阵是可以分别和两个分量相乘,但是偏差必须根据激活值来进行划分
- 当 g i g_i gi是max-pooling时我们定义被max-pool选择的索引或者通道为 m a x _ i d x s max\_idxs max_idxs,对于相应的通道进行分解
- 如果
g
i
g_i
gi是ReLu的话
2. agglomerative contextul decomposition (ACD)(凝聚的上下文分解)
鉴于上面介绍的广义CD分数,我们现在介绍用于生成ACD解释的聚类过程。在高层次上,等价于聚类层次聚类,其中CD交互被用作连接度量来决定在每一步连接哪些集群。该过程从个体特征入手,根据CD提供的交互得分,迭代地组合它们,构建层次结构,显示的ACD解释为层次结构,以及每个节点上的CD重要性得分。