对于深度生成模型而言,数据的可解释性具有重要的意义。如果可以解释 VAE 在编码以后的成分,那么有选择性地改变隐层的部分数据,就可以指导性地生成不同的观测(图片、音频等)。由于在隐层中的表示并不是我们想象中那么独立的,实际上需要做一些变换,使得不同的特征可以解开纠缠(Disentangling Disentanglement)。

如图可以看到衣服的特征在隐层被提取出 49 维特征。若干个特征组合可以控制一个实质的衣服的特性(裤腿宽度、袖子长度等)。
Main Points
这篇论文主要提出了以下几个观点:
- 分解(decomposition)得好需要满足两个方面:overlap, structure
- 理论分析了 β-VAE 可以满足第一个方面,但不能满足第二个方面
- 给 β-VAE 的再增加一个约束项可以同时满足这两个方面
Decomposition: A Generalisation of Disentanglement
分解(Decomposition)是一种广义上的 解纠缠(Disentanglement).
对于解纠缠来说,要求一个比隐层更为抽象的真实空间的各个 generative factors (GF) 都是相互独立的。这个条件比较苛刻。
对于分解而言,并不要求 GF 相互独立。只要它在隐层的空间中可以学习出一种隐含的结构就够了。这种结构一般都由先验来显式地表示。
Tips on GF
经过 VAE 的编码,可以生成我们的隐空间。在隐空间上,可以再抽象出一个 GF 空间。理想状况下,我们希望隐空间可以解释所有的 GF 空间。比如隐空间的向量 h1,h2 在调整数值后可以改变袖子的长短。而袖子的长度即是一种 GF。而实际上,往往没有这么好的隐表示,通常都会有一个隐向量 h1 改变后,多个 GF 受到了影响。为了更接近我们的理想,需要对隐空间做一些结构化的假设,以学得更好的隐表示。
分解的表现如何,可以用两个方面来衡量:
- The latent encodings of data having an appropriate level of Overlap
- The aggregate encoding of data conforming to a desired Structure, represented through the prior.

这两个因素是相辅相成的。如果没有 overlap,分布之间太稀疏,将变为查表,导致隐层含有的信息太少。如果没有 structure,隐层将不会按照特定的结构化分解。
还有一个值得注意的地方是,在 VAE 中我们总是会假设变分分布是各向同性的高斯分布,但从实验结果来看这并不利于解纠缠。
Decomposition Analysis of β-VAE
β-VAE 的改动在于在 ELBO 式中给 KL 散度设定了一个正系数 β,
Lβ(x)=Eqϕ(z|x)[logpθ(x|z)]−βKL(qϕ(z|x)‖p(z)).通过后面的理论分析,将要说明 β-VAE 可以学出好的 overlap,但不能有 structure 的表示。
ELBO 的定义
logp(x)=log∫zp(x,z)dz≥Eq[logp(x|z)]−KL(q(z|x)‖p(z))≜L加入了 β 这个系数以后,使得 Lβ 并不是 logp(x) 真正意义上的下界。将 Lβ 拆分,
Lβ=L(x;πθ,β,qϕ)+(β−1)Hqϕ+logFβ可以得到符合形式的下界 L(x;πθ,β,qϕ),以及为了凑出这个下界而产生的多余项。
L(x;πθ,β,qϕ)=Eqϕ(z|x)[logpθ(x|z)]−KL(qϕ(z|x)‖fβ(z))这个下界的先验(annealed prior)为 fβ(z)≜p(z)β/Fβ,它的分母 Fβ≜∫zp(z)βdz 在给定 β 以后是一个常数。β 出现在指数上,它可以调整 z 的尺度。
Hqϕ 是变分分布 qϕ(z|x) 的熵,熵越小,则变分分布的方差越小,其 overlap 就可以变小。因此这一项在调整 β 以后可以控制 overlap. 但是 Hqϕ 对于隐层的旋转不敏感,因此它不能控制隐层的形状,即不影响 structure,也不鼓励学出一个更好的 structure.
logFβ 是一个常数项,因此优化时只需要优化前两项之和,得到的极值点与 Lβ 一致。
β 的作用
β 出现在 fβ(z) 和 (β−1)Hqϕ 两处。当 β 增大时,将出现两个方面的作用:
- fβ(z) 使得 z 的尺度变小,KL(qϕ(z|x)|fβ(z)) 约束变分分布跟着变陡。
- (β−1)Hqϕ 使得 Hqϕ 增大,使得变分分布变平坦。
这两者相互协调使得编码出来的边缘分布 qϕ(z) 和先验 p(z) 的尺度相匹配。
但是当 β 太大的时候,Hqϕ 过大,变分分布过于平坦,造成过多的 overlap,不利于解纠缠。
先验选择
当用各向同性的高斯作为先验时,不能鼓励隐变量得到有意义的隐表示。
换句话说,它可以鼓励隐表示去匹配factor,但不能去匹配旋转后的factor。但旋转以后的factor可能与隐变量强相关。这样的信息就被隐去了。
An Objective for Enforcing Decomposition
本论文新加了一个约束项在最后,表示变分边缘分布和先验的距离,
Lα,β(x)=Eqϕ(z|x)[logpθ(x|z)]−βKL(qϕ(z|x)‖p(z))−αD(qϕ(z),p(z))增加了这一项,有助于学得一个更好的 structure. 它的选项是开放性的,可以用 KL(qϕ(z)|p(z))、maximum mean discrepancy (MMD)、a variational formulation of the Jensen-Shannon divergence 等多种距离或熵来约束。

第一行可以看到,随着 β 增大,解纠缠的效果逐渐变差,最后聚类也减少至两个。
而第二行中,随着 α 增大,其仍旧能保持较好的 structure.
Inspiration
- 变分分布避免设置为各向同性的高斯分布。
- 调节 β 避免过多的 overlap.
- 可以尝试增加 α 带的约束项,但实际上是比较难算的。
- 理论分析得深入也可以中顶会ヽ( ̄ω ̄( ̄ω ̄〃)ゝ