Preface

A Paper A Day Keep the Doctor Away. 今天的文章是:

Variational Inference of Disentangled Latent Concepts from Unlabeled Observations. (ICLR2018) [paper]

本文也是通过修改ELBO的方法促进Disentanglement,并提出了基于协方差惩罚的DIP-VAE-I, DIP-VAE-II的模型,和SAP(Separated Attribute Predictability)Metric。

Main Contents


Motivation

本文的Motivation也是促进qϕ(z){q_{\phi}(\mathbf{z})}(作者称之为inferred prior or expected variational posterior)和pθ(z){p_{\theta}(\mathbf{z})}的匹配,不过和FactorVAE、TC-VAE不同,作者是直接在ELBO上增加该项的。

qϕ(z){q_{\phi}(\mathbf{z})}pθ(z){p_{\theta}(\mathbf{z})}的KL散度可以这么来看:

KL(qϕ(z)pθ(z))=KL(Exp(x)qϕ(zx)Exp(x)pθ(zx))Exp(x)KL(qϕ(zx)pθ(zx)){ \begin{aligned} \text{KL}(q_{\phi}(\mathbf{z}) \| p_{\theta}(\mathbf{z})) &= \text{KL}(\mathbb{E}_{\mathbf{x} \sim p(\mathbf{x})} q_{\phi}(\mathbf{z} | \mathbf{x}) \| \mathbb{E}_{\mathbf{x} \sim p(\mathbf{x})} p_{\theta}(\mathbf{z} | \mathbf{x})) \\ &\leq \mathbb{E}_{\mathbf{x} \sim p(\mathbf{x})} \text{KL}(q_{\phi}(\mathbf{z} | \mathbf{x}) \| p_{\theta}(\mathbf{z} | \mathbf{x})) \end{aligned} }

因此作者认为在某种程度上,原始的VAE也有部分原因在优化二者的匹配,因此促进了Disentanglement。但是在复杂数据集上,原始VAE的表现不好,作者认为原因有两点:(1)初始的模型建模的数据分布pθ(x){p_{\theta}(\mathbf{x})}和真实数据分布p(x){p(\mathbf{x})}差异大,导致qϕ(z){q_{\phi}(\mathbf{z})}pθ(z){p_{\theta}(\mathbf{z})}初始差异也比较大。(2) ELBO的非凸优化困难,陷入局部极小值。导致不等号两边的差距过大,不能有效地限制qϕ(z){q_{\phi}(\mathbf{z})}pθ(z){p_{\theta}(\mathbf{z})}的匹配。

作者直接在原始ELBO加入限制二者匹配的项,ELBO变为:

maxθ,ϕEx[Ezqϕ(zx)[logpθ(xz)]KL(qϕ(zx)p(z))]λD(qϕ(z)p(z)){ \max _{\theta, \phi} \mathbb{E}_{\mathbf{x}}\left[\mathbb{E}_{\mathbf{z} \sim q_{\phi}(\mathbf{z} | \mathbf{x})}\left[\log p_{\theta}(\mathbf{x} | \mathbf{z})\right]-\mathrm{KL}\left(q_{\phi}(\mathbf{z} | \mathbf{x}) \| p(\mathbf{z})\right)\right]-\lambda D\left(q_{\phi}(\mathbf{z}) \| p(\mathbf{z})\right) }

作者称之为DIP-VAE(Disentangled Infered Piror)。

DIP-VAE-I, DIP-VAE-II

具体的D(qϕ(z)p(z)){D\left(q_{\phi}(\mathbf{z}) \| p(\mathbf{z})\right)}的计算上,作者采取了匹配两个分布的协方差的方式:

定义Covq(z)[z]:=Eq(z)[(zEq(z)[z])(zEq[z](z))]{\operatorname{Cov}_{q(\mathbf{z})}[\mathbf{z}]:=\mathbb{E}_{q(\mathbf{z})}\left[\left(\mathbf{z}-\mathbb{E}_{q(\mathbf{z})}[\mathbf{z}]\right)\left(\mathbf{z}-\mathbb{E}_{q[\mathbf{z}]}(\mathbf{z})\right)^{\top}\right]}

zqϕ(z){\mathbf{z} \sim q_{\phi}(\mathbf{z})}的协方差定义为:

Covqϕ(z)[z]=Ep(x)Covqϕ(zx)[z]+Covp(x)(Eqϕ(zx)[z]){ \operatorname{Cov}_{q_{\phi}(\mathbf{z})}[\mathbf{z}]=\mathbb{E}_{p(\mathbf{x})} \operatorname{Cov}_{q_{\phi}(\mathbf{z} | \mathbf{x})}[\mathbf{z}]+\operatorname{Cov}_{p(\mathbf{x})}\left(\mathbb{E}_{q_{\phi}(\mathbf{z} | \mathbf{x})}[\mathbf{z}]\right) }

一般q(zx)N(μϕ(x),Σϕ(x)){q(\mathbf{z} | \mathbf{x}) \sim \mathcal{N}(\mu_{\phi}(\mathbf{x}), \Sigma_{\phi}(\mathbf{x}))},上式进一步化简为:

Covqϕ(z)[z]=Ep(x)[Σϕ(x)]+Covp(x)[μϕ(x)]{ \operatorname{Cov}_{q_{\phi}(\mathbf{z})}[\mathbf{z}]=\mathbb{E}_{p(\mathbf{x})} [\Sigma_{\phi}(\mathbf{x})] +\operatorname{Cov}_{p(\mathbf{x})}\left[ \mu_{\phi}(\mathbf{x}) \right] }

在具体约束上,作者使用element-wise方法(下文可以看到)。一般上,又将Σϕ(x){\Sigma_{\phi}(\mathbf{x})}取为对角阵,所以上式中,能够起到控制分量之间相关性的仅有Covp(x)[μϕ(x)]{\operatorname{Cov}_{p(\mathbf{x})}\left[ \mu_{\phi}(\mathbf{x}) \right]}项,于是作者根据协方差正则项的不同分出了两种模型:DIP-VAE-I,DIP-VAE-II:

DIP-VAE-I仅添加Covp(x)[μϕ(x)]{\operatorname{Cov}_{p(\mathbf{x})}\left[ \mu_{\phi}(\mathbf{x}) \right]}的正则化项:

maxθ,ϕELBO(θ,ϕ)λodij[Covp(x)[μϕ(x)]]ij2λdi([Covp(x)[μϕ(x)]]ii1)2{ \max _{\theta, \phi} \mathrm{ELBO}(\theta, \phi)-\lambda_{o d} \sum_{i \neq j}\left[\operatorname{Cov}_{p(\mathbf{x})}\left[\boldsymbol{\mu}_{\phi}(\mathbf{x})\right]\right]_{i j}^{2}-\lambda_{d} \sum_{i}\left(\left[\operatorname{Cov}_{p(\mathbf{x})}\left[\boldsymbol{\mu}_{\phi}(\mathbf{x})\right]\right]_{i i}-1\right)^{2} }

DIP-VAE-II针对整个项:

maxθ,ϕELBO(θ,ϕ)λodij[Covqϕ(z)[z]]ij2λdi([Covqϕ(z)[z]]ii1)2{ \max _{\theta, \phi} \mathrm{ELBO}(\theta, \phi)-\lambda_{o d} \sum_{i \neq j}\left[\operatorname{Cov}_{q_{\phi}(\mathbf{z})}[\mathbf{z}]\right]_{i j}^{2}-\lambda_{d} \sum_{i}\left(\left[\operatorname{Cov}_{q_{\phi}(\mathbf{z})}[\mathbf{z}]\right]_{i i}-1\right)^{2} }

三个讨论:

(1) 为什么同时惩罚协方差的对角元素和非对角元素? 作者认为仅惩罚非对角线元素会导致对角元素的值也降低(因为i,j非对角元素是Cov中第i和j对角元素相乘得到的。)

(2) DIP-VAE-II由于不是直接惩罚的Covp(x)[μϕ(x)]{\operatorname{Cov}_{p(\mathbf{x})}\left[ \mu_{\phi}(\mathbf{x}) \right]},带入了另外一项的影响,反而导致该项不能够趋向1。

(3) 使用更高阶的中心距替代协方差也是可以的。

SAP Score

SAP的思路上和MIG有点像,计算过程如下:

(i) 构建一个d×k{d \times k}的矩阵S{S}d{d}为分量维度,k{k}为factors个数)。

(ii) 对连续的factor,Si,j{S_{i,j}}为仅用μϕ(x)i{\mu_{\phi}(\mathbf{x})_i}预测真实因子yj{y_j}拟合的线性回归的R2{R^2} Score。

R2=(Cov([μϕ(x)]i,yj)σ[μphi(x)iσyj]){ R^2 = \left( \frac{\operatorname{Cov}([\mu_{\phi}(\mathbf{x})]_i,\mathbf{y}_j)}{\sigma[\mu_{phi}(\mathbf{x})_i \sigma_{\mathbf{y}_j}]} \right) }

(iii) 对离散的factor,Si,j{S_{i,j}}为在i{i} latent上分段预测真实factor的测试分类准确率。

(iv) 对不活跃的分量σ[μϕ(x)]i=[Covp(x)[μϕ(x)]]ii0{\sigma_{\left[\boldsymbol{\mu}_{\phi}(\mathbf{x})\right]_{i}}=\left[\operatorname{Cov}_{p(x)}\left[\boldsymbol{\mu}_{\phi}(\mathbf{x})\right]\right]_{i i} \to 0},置Si,j=0{S_{i,j} = 0}

(v) 对S{S}的每一列(对每一个factor),寻找值最大的两个分量(即关联性最大的两个分量),得到二者的得分的差异,对所有的factors,报告得分差异的均值作为SAP Scores。

SAP Scores更高意味着,单个latent对应factor更加准确。并且作者提到可以根据最终的 correlation对分量进行分组,报告不同组的SAP Score,可以对组变量的编码效果量化。

实验


作者在CelebA、3DChairs、dSprites数据集上,与β{\beta}-VAE和VAE{VAE}进行了对比实验,并选用Z-diffs(就是β{\beta}-VAE提出的Metric)和SAP作为Metric对比,报告qualitative和quantitative结果。

值得注意的结论:

(1) Z-diffs 得分和qualitative的表现在dSprites出现没有对应好的问题:具体表现在,β{\beta}-VAE(β=60{\beta = 60})的模型表现的factor控制性好于DIP-VAE-I,但是得分却更低(95.7 < 98.7)。

(2) DIP-VAE-I和DIP-VAE-II的比较:DIP-VAE-I在dSprites的表现远不如DIP-VAE-II,但是在CelebA上表现出相对更高的SAP Scores和更低的重建误差。作者认为原因在于具体数据集的factor和latent dimensions的大小问题。作者认为当真实factor数量小于latent dimension时,DIP-VAE-I会倾向于将单个factor的变化平分到各个分量,导致Disentanglement表现下降。

总结

作者提出的用协方差约束合计先验匹配的方法,比较简单,易于实现,也取得了比β{\beta}-VAE更好点的效果。但是我觉得关于DIP-VAE-I和DIP-VAE-II两者差异的解释上,作者的说明不够具有说服力。