概
隐变量的因果表示.
主要内容
我们通常希望隐变量 z z z能够表示一些特别的特征, 通过改变 z z z使得生成的图形某些属性发生相应的变换, 但是这种设定的方式并不具备因果的关系, 比方说
这个摆锤, 其隐变量 z z z是光照, 摆锤的角度, 影子的长短.
我们可以改变摆锤的角度, 一般的生成模型摆锤的角度变了, 但是光照和影子长短没有发生变化, 实际上由于摆锤角度的变化, 对于的隐变量:影子的长短也应该发生相应的变化以满足物理的规律. 如何把这些因果关系融入到普通的VAE中是本文的独到之处.
模型
Encoder 部分:
ϵ = h ( x , u ) + ζ , \epsilon = h(x, u) + \zeta, ϵ=h(x,u)+ζ,
ϵ \epsilon ϵ可以看成是一个临时的隐变量;
z = ( I − A ) − 1 ϵ . z = (I - A)^{-1} \epsilon. z=(I−A)−1ϵ.
Decoder部分:
z
i
=
g
i
(
A
i
∘
z
)
+
ϵ
i
,
z_i = g_i(A_i \circ z) + \epsilon_i,
zi=gi(Ai∘z)+ϵi,
这一部分是重构
z
z
z, 正是这一步的存在使得我们能够干预
z
i
z_i
zi使得其它的
z
j
z_j
zj也发生相应的改变.
x = f ( z ) + ξ . x = f(z) + \xi. x=f(z)+ξ.
联合分布为:
p
θ
(
x
,
z
,
ϵ
∣
u
)
=
p
θ
(
x
∣
z
,
ϵ
,
u
)
p
θ
(
ϵ
,
z
∣
u
)
,
p
θ
(
x
∣
z
,
ϵ
,
u
)
=
p
θ
(
x
∣
z
)
=
p
ξ
(
x
−
f
(
z
)
)
,
p
θ
(
ϵ
,
z
∣
u
)
=
p
ϵ
(
ϵ
)
p
θ
(
z
∣
u
)
,
p
ϵ
(
ϵ
)
=
N
(
0
,
I
)
,
p
θ
(
z
∣
u
)
=
∏
i
=
1
n
p
θ
(
z
i
∣
u
i
)
,
p
θ
(
z
i
∣
u
i
)
=
N
(
λ
1
(
u
i
)
,
λ
2
2
(
μ
i
)
)
.
p_{\theta}(x, z, \epsilon|u) = p_{\theta}(x|z, \epsilon, u)p_{\theta}(\epsilon, z|u), \\ p_{\theta}(x|z,\epsilon,u) = p_{\theta}(x|z) = p_{\xi}(x-f(z)), \\ p_{\theta}(\epsilon,z|u) = p_{\epsilon}(\epsilon) p_{\theta}(z|u), \quad p_{\epsilon}(\epsilon) = \mathcal{N}(0, I), \\ p_{\theta}(z|u) = \prod_{i=1}^n p_{\theta}(z_i|u_i), \quad p_{\theta}(z_i|u_i) = \mathcal{N}(\lambda_1(u_i), \lambda_2^2(\mu_i)).
pθ(x,z,ϵ∣u)=pθ(x∣z,ϵ,u)pθ(ϵ,z∣u),pθ(x∣z,ϵ,u)=pθ(x∣z)=pξ(x−f(z)),pθ(ϵ,z∣u)=pϵ(ϵ)pθ(z∣u),pϵ(ϵ)=N(0,I),pθ(z∣u)=i=1∏npθ(zi∣ui),pθ(zi∣ui)=N(λ1(ui),λ22(μi)).
估计的后验分布为:
q
ϕ
(
z
,
ϵ
∣
x
,
u
)
=
q
(
z
∣
ϵ
)
q
ζ
(
ϵ
−
h
(
x
,
u
)
)
,
q
(
z
∣
ϵ
)
=
δ
(
z
=
(
I
−
A
)
−
1
ϵ
)
.
q_{\phi}(z, \epsilon|x, u) = q(z|\epsilon)q_{\zeta}(\epsilon - h(x, u)), \\ q(z|\epsilon) = \delta (z=(I-A)^{-1}\epsilon).
qϕ(z,ϵ∣x,u)=q(z∣ϵ)qζ(ϵ−h(x,u)),q(z∣ϵ)=δ(z=(I−A)−1ϵ).
注: z , u , ϵ ∈ R n , x ∈ R d . z, u, \epsilon \in \mathbb{R}^n, x \in \mathbb{R}^d. z,u,ϵ∈Rn,x∈Rd.
ELBO
由此可以推出ELBO:
E
q
X
[
E
ϵ
,
z
∼
q
ϕ
[
log
p
θ
(
x
∣
z
,
ϵ
,
u
)
]
−
D
(
q
ϕ
(
ϵ
,
z
∣
x
,
u
)
)
∥
p
θ
(
ϵ
,
z
∣
u
)
]
.
\mathbb{E}_{q_{\mathcal{X}}}[\mathbb{E}_{\epsilon, z\sim q_{\phi}}[\log p_{\theta}(x| z, \epsilon,u)] - \mathbb{D}(q_{\phi}(\epsilon, z|x, u))\| p_{\theta}(\epsilon, z|u)].
EqX[Eϵ,z∼qϕ[logpθ(x∣z,ϵ,u)]−D(qϕ(ϵ,z∣x,u))∥pθ(ϵ,z∣u)].
由于
p
(
z
∣
ϵ
)
=
δ
(
z
=
(
I
−
A
)
−
1
ϵ
)
p(z|\epsilon) = \delta(z=(I-A)^{-1}\epsilon)
p(z∣ϵ)=δ(z=(I−A)−1ϵ), 所以上式可以进一步化为:
E
q
X
[
E
q
ϕ
(
z
∣
x
,
u
)
[
log
p
θ
(
x
∣
z
)
]
−
D
(
q
ϕ
(
ϵ
∣
x
,
u
)
∥
p
ϵ
(
ϵ
)
)
−
D
(
q
ϕ
(
z
∣
x
,
u
)
∥
p
θ
(
z
∣
u
)
)
]
+
c
o
n
s
t
.
\mathbb{E}_{q_{\mathcal{X}}}[\mathbb{E}_{q_{\phi(z|x,u)}}[\log p_{\theta}(x|z)] - \mathbb{D}(q_{\phi}(\epsilon|x,u)\|p_{\epsilon}(\epsilon))-\mathbb{D}(q_{\phi}(z|x,u)\|p_{\theta}(z|u))]+\mathrm{const}.
EqX[Eqϕ(z∣x,u)[logpθ(x∣z)]−D(qϕ(ϵ∣x,u)∥pϵ(ϵ))−D(qϕ(z∣x,u)∥pθ(z∣u))]+const.
关于 A A A
正如在这儿所论述的,
A
A
A需要对应一个有向无环图, 本文采取的策略是:
H
(
A
)
=
t
r
(
(
I
+
c
n
A
∘
A
)
n
)
−
n
=
0
,
H(A) = \mathrm{tr}((I+\frac{c}{n}A \circ A)^n) - n =0,
H(A)=tr((I+ncA∘A)n)−n=0,
这里
c
c
c是任意正数.
同时为了满足
z
z
z重构, 需要以下条件满足:
l
m
=
E
q
ϕ
∑
i
=
1
n
∥
z
i
−
g
i
(
A
i
∘
z
)
∥
2
≤
κ
2
,
l_m = \mathbb{E}_{q_{\phi}} \sum_{i=1}^n \|z_i-g_i(A_i \circ z)\|^2 \le \kappa_2,
lm=Eqϕi=1∑n∥zi−gi(Ai∘z)∥2≤κ2,
注: 这里
z
i
z_i
zi是重构前的.
特别的, 为了更好地用额外信息(不是很认同, 感觉得看实际情况吧):
l
u
=
E
q
X
∥
u
−
σ
(
A
T
u
)
∥
2
2
≤
κ
1
,
l_u = \mathbb{E}_{q_{\mathcal{X}}} \|u - \sigma(A^Tu)\|_2^2 \le \kappa_1,
lu=EqX∥u−σ(ATu)∥22≤κ1,
所以最终的损失为:
L
=
−
E
L
B
O
+
α
H
(
A
)
+
β
l
u
+
γ
l
m
,
\mathcal{L} = -\mathrm{ELBO} +\alpha H(A) + \beta l_u + \gamma l_m,
L=−ELBO+αH(A)+βlu+γlm,
注: 本文不像别的方法一样用augmented Lagrange 求解.
注: 作者设计的实验实在是非常有趣.