Preface
A Paper A Day Keep the Doctor Away. 今天的文章是:
Relevance Factor VAE: Learning and Identifying Disentangled Factors. [paper]
本文提出的RF-VAE是BF-VAE的前作,也是同一个组的工作。RF-VAE主要基于FactorVAE,通过对隐分量中的relevant变量和nuisance变量分别取不同的约束强度形式,希望二者学习到不同的分布,并引入了一个relevance indicator变量的学习同时达到辨识隐编码中有用和无用的分量的效果。
Main Contents
Two Variables
作者认为:在Disentangled表示学习中,总是倾向于选择一个足够的大的隐空间维度,而其中只有部分的维度可以学习到对应真实变化因子的特征,这部分维度的分量称为 relevant 分量,而剩余的无用的称为 nuisance 分量。作者认为在优化上之前的工作没有区别二者,而且不能很容易地分辨两种分量。这是本文的motivation。
具体来说latent 分量应该和数据x相关,它的合计推断后验应该是highly non-Gaussian。而nuisance 分量应该和x独立,合计推演后验应该最终是标准高斯(所以最终导致KL vanshing)。将两种分量组成的集合分别记为R和N,且有R∩N=∅。
RF-VAE (Known R)
从FactorVAE的loss考虑:
LFactorVAE=Rec(θ,v)+Dimensional prior matchEqd(x)[j=1∑dKL(q(zj∣x)∥p(zj))]+TCγKL(q(z)∥j=1∏dq(zj))
其中θ,v分别是 Decoder 和Encoder的参数。
在R已知的情况下,作者做出以下两点修改:(1)Dimensional prior match项,对relevant分量和nuisance分量施加不同程度的限制。(2)TC项仅针对relevant参数。loss变为:
LRF-VAE-1whereλj=Rec(θ,v)+Dimensional prior matchEqd(x)[j=1∑dλjKL(q(zj∣x)∥p(zj))]+TCγKL⎝⎛q(zR)∥j∈R∏q(zj)⎠⎞={λminifλmaxifj∈Rj∈N(λmin<λmax)
TC项的近似计算同样采取FactorVAE的Density-Ratio Tricks,使用一个Discriminator。
KL⎝⎛q(zR)∥j∈R∏q(zj)⎠⎞≈Eq(zR)[log1−D(zR)D(zR)]
Discriminator的更新和GAN中Discriminator更新的方法一样:
Dmax(Ez∼q(z)[logD(zR)]+Ez∼Πjq(zj)[log(1−D(zR))])
RF-VAE: Learning R
实际中R是未知的,而且也不好假定,作者引入了一个relevance indicator变量r,r和z的维度一样,而且:
rj={10ifj∈Rifj∈N
如果我们能学习到r,那么我们可以得到R={j∣rj=1},即可辨识relevant分量。
引入r之后,loss更改为:
LRF-VAE-1=Rec(θ,v)+Eqd(x)[j=1∑dλ(rj)KL(q(zj∣x)∥p(zj))]+γEq(z)[log1−D(r∘z)D(r∘z)]+ηS∥r∥1
其中r也是可学习的参数,λ(rj)为递减函数,λ(0)=λmax>λ(1)=λmin,而对r的L1正则化是希望它稀疏,即大部分的分量为 nuisance 分量。
但是r仅能取{0,1}不便于优化,作者将它放松为连续变量r=[0,1]d。同时为了使r尽量取得0或者1,作者添加r的信息熵进行优化:H(r)=−∑j=1d(rjlogrj+(1−rj)log(1−rj)),整体的loss最终变为:
LRF-VAE-1=Rec(θ,v)+Eqd(x)[j=1∑dλ(rj)KL(q(zj∣x)∥p(zj))]+γEq(z)[log1−D(r∘z)D(r∘z)]+ηS∥r∥1+ηHH(r)
同时λ(rj)也变成[0,1]上的连续函数,作者直接取为线性函数。
Discriminator更新使用的loss和之前的几乎一样,所以不再赘述。
实验
作者在3DFaces,dSprites,OvalSprites,Teapots四个数据集上,和VanillaVAE,β-VAE,FactorVAE做了量化的对比实验,选取了三个Metric,分别是(1)FactorVAE的Metric;(2)修改的FactorVAE的Metric:仅有一个factor改变,寻找变化最大的factor,用于分类;(3)[1]中的Metric。
实验中的RF-VAE又分为两个模型,一个是给定R大小的RF-VAE(称为RF-VAE-0),另一个是学习r的RF-VAE。
实验结果
比较值得注意的实验结果有:
(1) 在dSprites上,尽管RF-VAE-0表现最好,但是它学习到的factor中,shape因子还是和其他entangled了,而RF-VAE仅学习到了三个relevant factors。作者将原因归咎于模型对离散变量还不能很好地建模。 所以作者又在OvalSprites上实验了,为了排除离散变量。。。。
(2) Teapots上,RF-VAE的各Metric表现都更差,作者认为原因是模型结构不足以表示整个数据集的所有变化。(不过这个解释我也不是很理解,作者提到这个现象和[1]中相同,并认为是一个future work)取更多的relevant factors的RF-VAE表现更好了点。
总结
RF-VAE在区分relevant分量和nuisance分量上有可取之处,并可以显式反映relevant分量数量。但是可以看到relevant分量的q(zj)的建模上其实和设想的highly non-Gaussian
还是有差距。因此该组就提出了BF-VAE,通过改变先验形式,并使得先验可学习的方式,扩展了RF-VAE。