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)(作者称之为inferred prior or expected variational posterior)和pθ(z)的匹配,不过和FactorVAE、TC-VAE不同,作者是直接在ELBO上增加该项的。
qϕ(z)和pθ(z)的KL散度可以这么来看:
KL(qϕ(z)∥pθ(z))=KL(Ex∼p(x)qϕ(z∣x)∥Ex∼p(x)pθ(z∣x))≤Ex∼p(x)KL(qϕ(z∣x)∥pθ(z∣x))
因此作者认为在某种程度上,原始的VAE也有部分原因在优化二者的匹配,因此促进了Disentanglement。但是在复杂数据集上,原始VAE的表现不好,作者认为原因有两点:(1)初始的模型建模的数据分布pθ(x)和真实数据分布p(x)差异大,导致qϕ(z)和pθ(z)初始差异也比较大。(2) ELBO的非凸优化困难,陷入局部极小值。导致不等号两边的差距过大,不能有效地限制qϕ(z)和pθ(z)的匹配。
作者直接在原始ELBO加入限制二者匹配的项,ELBO变为:
θ,ϕmaxEx[Ez∼qϕ(z∣x)[logpθ(x∣z)]−KL(qϕ(z∣x)∥p(z))]−λD(qϕ(z)∥p(z))
作者称之为DIP-VAE(Disentangled Infered Piror)。
DIP-VAE-I, DIP-VAE-II
具体的D(qϕ(z)∥p(z))的计算上,作者采取了匹配两个分布的协方差的方式:
定义Covq(z)[z]:=Eq(z)[(z−Eq(z)[z])(z−Eq[z](z))⊤]
z∼qϕ(z)的协方差定义为:
Covqϕ(z)[z]=Ep(x)Covqϕ(z∣x)[z]+Covp(x)(Eqϕ(z∣x)[z])
一般q(z∣x)∼N(μϕ(x),Σϕ(x)),上式进一步化简为:
Covqϕ(z)[z]=Ep(x)[Σϕ(x)]+Covp(x)[μϕ(x)]
在具体约束上,作者使用element-wise方法(下文可以看到)。一般上,又将Σϕ(x)取为对角阵,所以上式中,能够起到控制分量之间相关性的仅有Covp(x)[μϕ(x)]项,于是作者根据协方差正则项的不同分出了两种模型:DIP-VAE-I,DIP-VAE-II:
DIP-VAE-I仅添加Covp(x)[μϕ(x)]的正则化项:
θ,ϕmaxELBO(θ,ϕ)−λodi=j∑[Covp(x)[μϕ(x)]]ij2−λdi∑([Covp(x)[μϕ(x)]]ii−1)2
DIP-VAE-II针对整个项:
θ,ϕmaxELBO(θ,ϕ)−λodi=j∑[Covqϕ(z)[z]]ij2−λdi∑([Covqϕ(z)[z]]ii−1)2
三个讨论:
(1) 为什么同时惩罚协方差的对角元素和非对角元素? 作者认为仅惩罚非对角线元素会导致对角元素的值也降低(因为i,j非对角元素是Cov中第i和j对角元素相乘得到的。)
(2) DIP-VAE-II由于不是直接惩罚的Covp(x)[μϕ(x)],带入了另外一项的影响,反而导致该项不能够趋向1。
(3) 使用更高阶的中心距替代协方差也是可以的。
SAP Score
SAP的思路上和MIG有点像,计算过程如下:
(i) 构建一个d×k的矩阵S(d为分量维度,k为factors个数)。
(ii) 对连续的factor,Si,j为仅用μϕ(x)i预测真实因子yj拟合的线性回归的R2 Score。
R2=(σ[μphi(x)iσyj]Cov([μϕ(x)]i,yj))
(iii) 对离散的factor,Si,j为在i latent上分段预测真实factor的测试分类准确率。
(iv) 对不活跃的分量σ[μϕ(x)]i=[Covp(x)[μϕ(x)]]ii→0,置Si,j=0。
(v) 对S的每一列(对每一个factor),寻找值最大的两个分量(即关联性最大的两个分量),得到二者的得分的差异,对所有的factors,报告得分差异的均值作为SAP Scores。
SAP Scores更高意味着,单个latent对应factor更加准确。并且作者提到可以根据最终的 correlation对分量进行分组,报告不同组的SAP Score,可以对组变量的编码效果量化。
实验
作者在CelebA、3DChairs、dSprites数据集上,与β-VAE和VAE进行了对比实验,并选用Z-diffs(就是β-VAE提出的Metric)和SAP作为Metric对比,报告qualitative和quantitative结果。
值得注意的结论:
(1) Z-diffs 得分和qualitative的表现在dSprites出现没有对应好的问题:具体表现在,β-VAE(β=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表现下降。
总结
作者提出的用协方差约束合计先验匹配的方法,比较简单,易于实现,也取得了比β-VAE更好点的效果。但是我觉得关于DIP-VAE-I和DIP-VAE-II两者差异的解释上,作者的说明不够具有说服力。