CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models

该博文介绍了CausalVAE,一种将因果关系融入到变分自编码器(VAE)中的方法。通过神经结构因果模型,文章探讨了如何使隐变量表示特定特征,并允许对这些特征进行干预,以符合物理规律。模型包含编码器和解码器,其中解码器允许对某个特征的改变影响其他相关特征。文章还提出了损失函数和优化目标,并讨论了用于确保因果一致性和重构质量的条件。最后,作者提到了实验设计的趣味性。
摘要由CSDN通过智能技术生成

Yang M., Liu F., Chen Z., Shen X., Hao J. and Wang J. CausalVAE: disentangled representation learning via neural structural causal models. arXiv preprint arXiv:2004.086975, 2020.

隐变量的因果表示.

主要内容

我们通常希望隐变量 z z z能够表示一些特别的特征, 通过改变 z z z使得生成的图形某些属性发生相应的变换, 但是这种设定的方式并不具备因果的关系, 比方说

image-20210606210209320

这个摆锤, 其隐变量 z z z是光照, 摆锤的角度, 影子的长短.

我们可以改变摆锤的角度, 一般的生成模型摆锤的角度变了, 但是光照和影子长短没有发生变化, 实际上由于摆锤角度的变化, 对于的隐变量:影子的长短也应该发生相应的变化以满足物理的规律. 如何把这些因果关系融入到普通的VAE中是本文的独到之处.

模型

image-20210606210649943

Encoder 部分:

ϵ = h ( x , u ) + ζ , \epsilon = h(x, u) + \zeta, ϵ=h(x,u)+ζ,

ϵ \epsilon ϵ可以看成是一个临时的隐变量;

z = ( I − A ) − 1 ϵ . z = (I - A)^{-1} \epsilon. z=(IA)1ϵ.

Decoder部分:

z i = g i ( A i ∘ z ) + ϵ i , z_i = g_i(A_i \circ z) + \epsilon_i, zi=gi(Aiz)+ϵ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θ(xz,ϵ,u)pθ(ϵ,zu),pθ(xz,ϵ,u)=pθ(xz)=pξ(xf(z)),pθ(ϵ,zu)=pϵ(ϵ)pθ(zu),pϵ(ϵ)=N(0,I),pθ(zu)=i=1npθ(ziui),pθ(ziui)=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=(IA)1ϵ).

注: z , u , ϵ ∈ R n , x ∈ R d . z, u, \epsilon \in \mathbb{R}^n, x \in \mathbb{R}^d. z,u,ϵRn,xRd.

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ϵ,zqϕ[logpθ(xz,ϵ,u)]D(qϕ(ϵ,zx,u))pθ(ϵ,zu)].

由于 p ( z ∣ ϵ ) = δ ( z = ( I − A ) − 1 ϵ ) p(z|\epsilon) = \delta(z=(I-A)^{-1}\epsilon) p(zϵ)=δ(z=(IA)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ϕ(zx,u)[logpθ(xz)]D(qϕ(ϵx,u)pϵ(ϵ))D(qϕ(zx,u)pθ(zu))]+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+ncAA)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=1nzigi(Aiz)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=EqXuσ(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 求解.

注: 作者设计的实验实在是非常有趣.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值