《Causal Learning and Explanation of Deep Neural Networks via Autoencoded Activations》阅读笔记

论文题目:Causal Learning and Explanation of Deep Neural Networks via Autoencoded Activations

发表时间:2018 arXiv:1802.00541

作者及其背景:Michael Harradon, JeffDruce, BrianRuttenberg (Charles River Analytics)

Contributions

  • 用人类可理解的概念构造了一个因果性的DNN模型,该模型具有可解释性。
  • 一种无监督的技术,可从DNN中提取概念,这些概念很有可能是人类可以理解的。
  • 一种衡量输入与DNN输出概念的因果性的方法。

Motivation

深度神经网络的应用越来越广泛,但是存在重要的缺点:复杂,不透明和需要大量数据进行训练。因此,神经网络的解释性是一个重要问题。这种缺乏可解释性的现象会带来严重的社会后果。

目前已经有一些方法尝试进行解释(CNN可视化),但是这些方法都缺少对于因果关系的解释。然而,一个主要的挑战是,任何因果关系的解释都必须以人类可以理解的概念或变量来表达。 否则,解释可能会像原始模型一样混乱。

Algorithm

do-calculus

do算子

假设我们有从p(x,y,z,...)p(x,y,z,...)得到独立同分布的数据抽样,我们感兴趣的是在给定xx的条件下,变量yy的表现。

观察型p(yx)p(y|x):观察变量XX取值为xxYY的概率分布。对于有监督机器学习,我们通常是这么做的。p(yx)=p(x,y)p(x)p(y|x)=\frac{p(x,y)}{p(x)}

干预型p(ydo(x))p(y|do(x)): 将变量XX强行设置为xx,其他变量按照原始机制产生相应数据时YY的概率分布。

区别

假设YY是水壶内的压力,取决于运行时间。XX是内置气压计的显示值。在随机时间同时观察X,YX,Yp(yx)p(y|x)应当是一个均值为xx的单峰分布,随机性由测量误差体现。然而,p(ydo(x))p(y|do(x))实际上并不依赖于xx的取值,其大体上等于水壶压力的边缘分布p(y)。因为我们人工设置了气压计的显示值(比如将指针固定),这并不会改变水壶内真实的压力值。

总结一下,yyxx是相关的或者是有依赖关系的,因此可以由观察到的xx去预测yy。但yy的值并不是由xx决定的。

联系

《Causal Learning and Explanation of Deep Neural Networks via Autoencoded Activations》阅读笔记

假设我们观察到3个变量x,y,zx,y,z,观察数据是联合分布的独立同分布抽样。我们的关注点是以xx预测yzy,z变量同样可以测量但不进行操作(考虑到完整性)。利用训练数据构建模型p(yy,θ)p(y|y,\theta)来近似p(xy)p(x|y)
《Causal Learning and Explanation of Deep Neural Networks via Autoencoded Activations》阅读笔记

观测到的分布是蓝色分布(联合分布),但是p(ydo(x))p(y|do(x))取决于红色分布。两者分布不同,所以无法从蓝色分布来估计。

《Causal Learning and Explanation of Deep Neural Networks via Autoencoded Activations》阅读笔记
因果模型中包含联合分布的更多细节,箭头意味着因果方向。一旦我们有了一个因果图,我们可以通过改动因果图(删去所有指向dodo操作节点的边)对干预的结果进行仿真。用绿色的分布对红色的分布进行仿真,用p~(ydo(x))\tilde{p}(y|do(x))来近似p(ydo(x))p(y|do(x))

causal modeling

有向图GG表示变量X=x1,...,xnX=x_1,...,x_n的因果关系。联合概率分布为:

P(x1,...,xn)=P(xipai)P(x_1,...,x_n)=\prod{P(x_i|pa_i)}

其中paipa_ixix_i的父节点。对GG进行干预,使xi=xix_i=x_i^{'},也就是do(xi)do(x_i^{'})。并且移出paipa_ixix_i的边,得到图GG^{'}。得到干预后的分布为:

P(x1,..,xndo(xi))={jiP(xjpaj) if xi=xi0 if xixiP(x_1,..,x_n|do(x_i^{'}))=\begin{cases}\prod_{j\neq i}{P(x_j|pa_j)} & \text{ if } x_i=x_i^{'} \\ 0 & \text{ if } x_i\neq x_i^{'}\end{cases}

我们可以把一个因果模型定义为一个联合概率分布P(O,P,X)P(\Bbb{O,P,X})。输出、输入、中间变量。

Causal Representation in DNNs

因果的DNN模型应该被表示为O,P\Bbb{O,P}的联合概率分布。可以通过函数fR:RCf_{\Bbb R}:\Bbb{R\rightarrow C}推导得到概念的集合C\Bbb C,其中R\Bbb R为模型中神经元的集合。并且函数fRf_{\Bbb R}应具有以下性质:

RP(O,P,R)=CP(O,P,C)\int_R P(\Bbb{O,P,R})=\int_CP(\Bbb{O,P,C})

边缘概率分布相等。使输入与输出的分布在神经元层面和在概念层面是相等的

P(O,PR,do(pi))=P(O,PC,do(pi))P(\Bbb{O,P}|R,do(p_i^{'}))=P(\Bbb{O,P}|C,do(p_i^{'}))

对输入进行干预。输入干预方面保持相同的因果依存关系。

computing causal effects

已知一个模型P(O,P,R)P(\Bbb{O,P,R})定义一个叫做预期因果关系( expected causal effect)的度量方式。首先定义给定任意证明ZZ,干预xix_i^{'}对于xjx_j的因果关系:

Effect(xixj,Z)=P(xjdo(xi),ZXi)P(xj,ZXi)\text{Effect}(x_i\rightarrow x_j,Z)=P(x_j|do(x_i^{'}),Z_{X_i})-P(x_j,Z_{X_i})

ZXiZ_{X_i}表示非XiX_i的后驱节点的证据。因果关系本质上就是干预对于概率分布的改变量。定义预期因果关系:

EXi[Effect(xixj,Z)]=xiXiP(XxiZ)Effect(xixj,Z)E_{X_i}[\text{Effect}(x_i\rightarrow x_j,Z)]=\sum_{x_i\in X_i}{P(X_{x_i}|Z)\text{Effect}(x_i\rightarrow x_j,Z)}

使用此公式,我们有一个简单而有效的方式来量化各种DNN输入和概念对输出的影响。

Conept Extravtion

目的是学习一种与**有关的因果模型。**值给定的实例特征的特定表示之间不一定具有任何特殊的相关性。取而代之的是,我们选择找到一种概念表示形式,即对**的转换,这种转换最大程度地可以解释。为了满足因果关系,有以下三条准则:

  1. 概念应该是低维度的,以最大程度地减少人们需要进行的调查数量。

  2. 概念应该是可解释的(以图像的形式),我们希望**限制于包含一致,可解释的视觉特征的连续区域。

  3. 概念应包含完成目标网络任务所需的所有相关信息(我们考虑的情况为图像分类)。

    利用一个编码网络来构造概念。
    《Causal Learning and Explanation of Deep Neural Networks via Autoencoded Activations》阅读笔记

Lshallow(θ;ai)=dθ(cθ(ai))ai1L_{shallow}(\theta ;a_i)=|d_\theta (c_\theta(a_i) )-a_i|_1

Ldeep(θ;ai)=KL(r(ai)r(dθ(cθ(ai))))L_{deep}(\theta;a_i)=KL(r(a_i)||r(d_\theta(c_\theta(a_i))))

LinterpertabilityL_{interpertability}

"shallow"使编解码后的输出与输入在表现上接近。"deep"使编解码后再通过剩余的网络层之后的概率分布接近。"interpretability"在数学上量化与可解释概念图像相关联的属性。

训练好自动编码器之后,我们就要开始对网络进行干预。如果要直接干预网络**以探测其功能,则将难以维护各个组件层**之间的复杂相关统计信息。另一方面,在自动编码器中,我们期望网络**中的特征之间的相关性将被编码网络捕获。我们将干预措施限制为将编码**的各个概念特征图像归零。

Experiment

《Causal Learning and Explanation of Deep Neural Networks via Autoencoded Activations》阅读笔记