论文题目: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,...) p(x,y,z,...)得到独立同分布的数据抽样,我们感兴趣的是在给定 x x x的条件下,变量 y y y的表现。
观察型 p ( y ∣ x ) p(y|x) p(y∣x):观察变量 X X X取值为 x x x时 Y Y Y的概率分布。对于有监督机器学习,我们通常是这么做的。 p ( y ∣ x ) = p ( x , y ) p ( x ) p(y|x)=\frac{p(x,y)}{p(x)} p(y∣x)=p(x)p(x,y)。
干预型 p ( y ∣ d o ( x ) ) p(y|do(x)) p(y∣do(x)): 将变量 X X X强行设置为 x x x,其他变量按照原始机制产生相应数据时 Y Y Y的概率分布。
区别
假设 Y Y Y是水壶内的压力,取决于运行时间。 X X X是内置气压计的显示值。在随机时间同时观察 X , Y X,Y X,Y。 p ( y ∣ x ) p(y|x) p(y∣x)应当是一个均值为 x x x的单峰分布,随机性由测量误差体现。然而, p ( y ∣ d o ( x ) ) p(y|do(x)) p(y∣do(x))实际上并不依赖于 x x x的取值,其大体上等于水壶压力的边缘分布p(y)。因为我们人工设置了气压计的显示值(比如将指针固定),这并不会改变水壶内真实的压力值。
总结一下, y y y和 x x x是相关的或者是有依赖关系的,因此可以由观察到的 x x x去预测 y y y。但 y y y的值并不是由 x x x决定的。
联系
假设我们观察到3个变量
x
,
y
,
z
x,y,z
x,y,z,观察数据是联合分布的独立同分布抽样。我们的关注点是以
x
x
x预测
y
,
z
y,z
y,z变量同样可以测量但不进行操作(考虑到完整性)。利用训练数据构建模型
p
(
y
∣
y
,
θ
)
p(y|y,\theta)
p(y∣y,θ)来近似
p
(
x
∣
y
)
p(x|y)
p(x∣y)。
观测到的分布是蓝色分布(联合分布),但是 p ( y ∣ d o ( x ) ) p(y|do(x)) p(y∣do(x))取决于红色分布。两者分布不同,所以无法从蓝色分布来估计。
因果模型中包含联合分布的更多细节,箭头意味着因果方向。一旦我们有了一个因果图,我们可以通过改动因果图(删去所有指向
d
o
do
do操作节点的边)对干预的结果进行仿真。用绿色的分布对红色的分布进行仿真,用
p
~
(
y
∣
d
o
(
x
)
)
\tilde{p}(y|do(x))
p~(y∣do(x))来近似
p
(
y
∣
d
o
(
x
)
)
p(y|do(x))
p(y∣do(x))。
causal modeling
有向图 G G G表示变量 X = x 1 , . . . , x n X=x_1,...,x_n X=x1,...,xn的因果关系。联合概率分布为:
P ( x 1 , . . . , x n ) = ∏ P ( x i ∣ p a i ) P(x_1,...,x_n)=\prod{P(x_i|pa_i)} P(x1,...,xn)=∏P(xi∣pai) 。
其中 p a i pa_i pai是 x i x_i xi的父节点。对 G G G进行干预,使 x i = x i ′ x_i=x_i^{'} xi=xi′,也就是 d o ( x i ′ ) do(x_i^{'}) do(xi′)。并且移出 p a i pa_i pai到 x i x_i xi的边,得到图 G ′ G^{'} G′。得到干预后的分布为:
P ( x 1 , . . , x n ∣ d o ( x i ′ ) ) = { ∏ j ≠ i P ( x j ∣ p a j ) if x i = x i ′ 0 if x i ≠ x i ′ P(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(x1,..,xn∣do(xi′))={∏j=iP(xj∣paj)0 if xi=xi′ if xi=xi′
我们可以把一个因果模型定义为一个联合概率分布 P ( O , P , X ) P(\Bbb{O,P,X}) P(O,P,X)。输出、输入、中间变量。
Causal Representation in DNNs
因果的DNN模型应该被表示为 O , P \Bbb{O,P} O,P的联合概率分布。可以通过函数 f R : R → C f_{\Bbb R}:\Bbb{R\rightarrow C} fR:R→C推导得到概念的集合 C \Bbb C C,其中 R \Bbb R R为模型中神经元的集合。并且函数 f R f_{\Bbb R} fR应具有以下性质:
∫ R P ( O , P , R ) = ∫ C P ( O , P , C ) \int_R P(\Bbb{O,P,R})=\int_CP(\Bbb{O,P,C}) ∫RP(O,P,R)=∫CP(O,P,C)
边缘概率分布相等。使输入与输出的分布在神经元层面和在概念层面是相等的
P ( O , P ∣ R , d o ( p i ′ ) ) = P ( O , P ∣ C , d o ( p i ′ ) ) P(\Bbb{O,P}|R,do(p_i^{'}))=P(\Bbb{O,P}|C,do(p_i^{'})) P(O,P∣R,do(pi′))=P(O,P∣C,do(pi′))
对输入进行干预。输入干预方面保持相同的因果依存关系。
computing causal effects
已知一个模型 P ( O , P , R ) P(\Bbb{O,P,R}) P(O,P,R)定义一个叫做预期因果关系( expected causal effect)的度量方式。首先定义给定任意证明 Z Z Z,干预 x i ′ x_i^{'} xi′对于 x j x_j xj的因果关系:
Effect ( x i → x j , Z ) = P ( x j ∣ d o ( x i ′ ) , Z X i ) − P ( x j , Z X i ) \text{Effect}(x_i\rightarrow x_j,Z)=P(x_j|do(x_i^{'}),Z_{X_i})-P(x_j,Z_{X_i}) Effect(xi→xj,Z)=P(xj∣do(xi′),ZXi)−P(xj,ZXi)
Z X i Z_{X_i} ZXi表示非 X i X_i Xi的后驱节点的证据。因果关系本质上就是干预对于概率分布的改变量。定义预期因果关系:
E X i [ Effect ( x i → x j , Z ) ] = ∑ x i ∈ X i P ( X x i ∣ Z ) Effect ( x i → x j , 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)} EXi[Effect(xi→xj,Z)]=xi∈Xi∑P(Xxi∣Z)Effect(xi→xj,Z)
使用此公式,我们有一个简单而有效的方式来量化各种DNN输入和概念对输出的影响。
Conept Extravtion
目的是学习一种与激活有关的因果模型。激活值给定的实例特征的特定表示之间不一定具有任何特殊的相关性。取而代之的是,我们选择找到一种概念表示形式,即对激活的转换,这种转换最大程度地可以解释。为了满足因果关系,有以下三条准则:
-
概念应该是低维度的,以最大程度地减少人们需要进行的调查数量。
-
概念应该是可解释的(以图像的形式),我们希望激活限制于包含一致,可解释的视觉特征的连续区域。
-
概念应包含完成目标网络任务所需的所有相关信息(我们考虑的情况为图像分类)。
利用一个编码网络来构造概念。
L s h a l l o w ( θ ; a i ) = ∣ d θ ( c θ ( a i ) ) − a i ∣ 1 L_{shallow}(\theta ;a_i)=|d_\theta (c_\theta(a_i) )-a_i|_1 Lshallow(θ;ai)=∣dθ(cθ(ai))−ai∣1
L d e e p ( θ ; a i ) = K L ( r ( a i ) ∣ ∣ r ( d θ ( c θ ( a i ) ) ) ) L_{deep}(\theta;a_i)=KL(r(a_i)||r(d_\theta(c_\theta(a_i)))) Ldeep(θ;ai)=KL(r(ai)∣∣r(dθ(cθ(ai))))
L i n t e r p e r t a b i l i t y L_{interpertability} Linterpertability
"shallow"使编解码后的输出与输入在表现上接近。"deep"使编解码后再通过剩余的网络层之后的概率分布接近。"interpretability"在数学上量化与可解释概念图像相关联的属性。
训练好自动编码器之后,我们就要开始对网络进行干预。如果要直接干预网络激活以探测其功能,则将难以维护各个组件层激活之间的复杂相关统计信息。另一方面,在自动编码器中,我们期望网络激活中的特征之间的相关性将被编码网络捕获。我们将干预措施限制为将编码激活的各个概念特征图像归零。