beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework
β−VAE\beta-VAEβ−VAE的目标是学习独立的特征,让某种特征对应某个生成因素,而独立于其他因素。For example,a model trained on photos of human faces might capture the gentle, skincolor, hair color, hair length, emotion, whether wearing a pair of glasses andmany other relatively independent factors in separate dimensions. Such a disentangled representation is very beneficial to facial image generation.
数据集D={X,V,W}\mathcal{D}=\{X, V, W\}D={X,V,W},其中x∈RN\mathbf{x} \in \mathbb{R}^{N}x∈RN代表图片,而v∈RK\mathbf{v} \in \mathbb{R}^{K}v∈RK为条件独立的隐变量,即logp(v∣x)=∑klogp(vk∣x)\log p(\mathbf{v} | \mathbf{x})=\sum_{k} \log p\left(v_{k} | \mathbf{x}\right)logp(v∣x)=∑klogp(vk∣x),还有条件依赖的隐变量w∈RH\mathbf{w} \in \mathbb{R}^{H}w∈RH。那么图片由着两个隐变量共同生成,则p(x∣v,w)=Sim(v,w)p(\mathbf{x} | \mathbf{v}, \mathbf{w})=\operatorname{Sim}(\mathbf{v}, \mathbf{w})p(x∣v,w)=Sim(v,w)。
我们现在希望通过一种无监督的方法,仅仅利用数据XXX就能得到x\mathbf xx和z\mathbf zz的联合分布,其中z∈RM\mathbf{z} \in \mathbb{R}^{M}z∈RM,M≥KM \geq KM≥K。也就是说有p(x∣z)≈p(x∣v,w)=Sim(v,w)p(\mathbf{x} | \mathbf{z}) \approx p(\mathbf{x} | \mathbf{v}, \mathbf{w})=\operatorname{Sim}(\mathbf{v}, \mathbf{w})p(x∣z)≈p(x∣v,w)=Sim(v,w)。那么目标函数为maxθEpθ(z)[pθ(x∣z)]
\max _{\theta} \mathbb{E}_{p_{\theta}(\mathbf{z})}\left[p_{\theta}(\mathbf{x} | \mathbf{z})\right]
θmaxEpθ(z)[pθ(x∣z)]与VAE一样,引入一个inferred后验分布qϕ(z∣x)q_{\phi}(\mathbf{z} | \mathbf{x})qϕ(z∣x),我们的目标是qϕ(z∣x)q_{\phi}(\mathbf{z} | \mathbf{x})qϕ(z∣x)能够以解耦的方式将v\mathbf vv解耦出。为了能够达到目的,我们可以让这个后验接近p(z)p(\mathbf z)p(z),这样既能限制隐变量的信息瓶颈,又能达到之前说的解耦的效果,且p(z)=N(0,I)p(\mathbf{z})=\mathcal{N}(0, I)p(z)=N(0,I)。则目标函数为maxϕ,θEx∼D[Eqϕ(z∣x)[logpθ(x∣z)]] subject to DKL(qϕ(z∣x)∥p(z))<ϵ
\max _{\phi, \theta} \mathbb{E}_{x \sim \mathbf{D}}\left[\mathbb{E}_{q_{\phi}(\mathbf{z} | \mathbf{x})}\left[\log p_{\theta}(\mathbf{x} | \mathbf{z})\right]\right] \quad \text { subject to } D_{K L}\left(q_{\phi}(\mathbf{z} | \mathbf{x}) \| p(\mathbf{z})\right)<\epsilon
ϕ,θmaxEx∼D[Eqϕ(z∣x)[logpθ(x∣z)]] subject to DKL(qϕ(z∣x)∥p(z))<ϵ求解上式,利用拉格朗日KKT条件F(θ,ϕ,β;x,z)=Eqϕ(z∣x)[logpθ(x∣z)]−β(DKL(qϕ(z∣x)∥p(z))−ϵ)
\mathcal{F}(\theta, \phi, \beta ; \mathbf{x}, \mathbf{z})=\mathbb{E}_{q_{\phi}(\mathbf{z} | \mathbf{x})}\left[\log p_{\theta}(\mathbf{x} | \mathbf{z})\right]-\beta\left(D_{K L}\left(q_{\phi}(\mathbf{z} | \mathbf{x}) \| p(\mathbf{z})\right)-\epsilon\right)
F(θ,ϕ,β;x,z)=Eqϕ(z∣x)[logpθ(x∣z)]−β(DKL(qϕ(z∣x)∥p(z))−ϵ)又因为β,ϵ≥0\beta, \epsilon \geq 0β,ϵ≥0,则F(θ,ϕ,β;x,z)≥L(θ,ϕ;x,z,β)=Eqϕ(z∣x)[logpθ(x∣z)]−βDKL(qϕ(z∣x)∥p(z))
\mathcal{F}(\theta, \phi, \beta ; \mathbf{x}, \mathbf{z}) \geq \mathcal{L}(\theta, \phi ; \mathbf{x}, \mathbf{z}, \beta)=\mathbb{E}_{q_{\phi}(\mathbf{z} | \mathbf{x})}\left[\log p_{\theta}(\mathbf{x} | \mathbf{z})\right]-\beta D_{K L}\left(q_{\phi}(\mathbf{z} | \mathbf{x}) \| p(\mathbf{z})\right)
F(θ,ϕ,β;x,z)≥L(θ,ϕ;x,z,β)=Eqϕ(z∣x)[logpθ(x∣z)]−βDKL(qϕ(z∣x)∥p(z))可以发现与vanilla-VAE的唯一区别就是在KL项引入了。Therefore a higher β\betaβ encourages more efficient latent encoding and further encouragesthe disentanglement. Meanwhile, a higher β\betaβ may create a trade-off between reconstruction quality and the extent of disentanglement.
Understanding disentangling in β\betaβ-VAE
从信息瓶颈的角度看β−VAE\beta-VAEβ−VAE。首先先科普下什么是information bottlenec。假设我们面对分类任务,标注数据对是(x1,y1),…,(xN,yN)\left(x_{1}, y_{1}\right), \ldots,\left(x_{N}, y_{N}\right)(x1,y1),…,(xN,yN)。我们把这个任务分为两步来理解,第一步是编码,第二步就是分类。第一步是把xxx编码为一个隐变量zzz,然后分类器把zzz识别为类别yyy。
我们试想在zzz处加一个“瓶颈”β\betaβ,它像一个沙漏,进入的信息量可能有很多,但是出口就只有β\betaβ那么大,所以这个瓶颈的作用是:不允许流过zzz的信息量多于β\betaβ。跟沙漏不同的是,沙漏的沙过了瓶颈就完事了,而信息过了信息瓶颈后,还需要完成它要完成的任务(分类、回归等),所以模型迫不得已,只好想办法让最重要的信息通过瓶颈。这就是信息瓶颈的原理!
那么衡量信息量大小的式子刚好有互信息I(Z,Y;θ)=∫dzdyp(z,y∣θ)logp(z,y∣θ)p(z∣θ)p(y∣θ)
I(Z, Y ; \boldsymbol{\theta})=\int d z d y p(z, y | \boldsymbol{\theta}) \log \frac{p(z, y | \boldsymbol{\theta})}{p(z | \boldsymbol{\theta}) p(y | \boldsymbol{\theta})}
I(Z,Y;θ)=∫dzdyp(z,y∣θ)logp(z∣θ)p(y∣θ)p(z,y∣θ)显然上式最大的时候刚好为Z=YZ=YZ=Y时,这样我们的学习就没有意义了。因此可以考虑对上式加上一定的约束maxθI(Z,Y;θ) s.t. I(X,Z;θ)≤Ic
\max _{\boldsymbol{\theta}} I(Z, Y ; \boldsymbol{\theta}) \text { s.t. } \quad I(X, Z ; \boldsymbol{\theta}) \leq I_{c}
θmaxI(Z,Y;θ) s.t. I(X,Z;θ)≤Ic让X,ZX,ZX,Z的互信息约束在一个范围中,这样就是相当于一个瓶颈,提取十分必要的信息,而略去一些没有意义的信息!求解上式同样适用拉格朗日乘子,最后得到RIB(θ)=I(Z,Y;θ)−βI(Z,X;θ)
R_{I B}(\boldsymbol{\theta})=I(Z, Y ; \boldsymbol{\theta})-\beta I(Z, X ; \boldsymbol{\theta})
RIB(θ)=I(Z,Y;θ)−βI(Z,X;θ)Intuitively, the first term in RIB encourages Z to be predictive of Y ; thesecond term encourages Z to“forget”X. Essentially it forces Z to act likea minimal sufficient statistic of X for predicting Y .
那么β−VAE\beta-VAEβ−VAE就能用信息瓶颈的理论解释了。首先第一部分为一个重建问题maxEq(z∣x)[logp(x∣z)]
\max E_{q(\mathbf{z} | \mathbf{x})}[\log p(\mathbf{x} | \mathbf{z})]
maxEq(z∣x)[logp(x∣z)]使得上式最大时,就是在隐含着互信息I(Z,Y;θ)I(Z, Y ; \boldsymbol{\theta})I(Z,Y;θ)变大,其中Y=XY=XY=X。只有X,ZX,ZX,Z的相关程度很高的时候,重建才能很好!更加极端的情况就是AE自动编码机,Z=encoder(X)Z=encoder(X)Z=encoder(X)为一个决定性关系,此时重构可以做到很高的精度,而且X,ZX,ZX,Z的互信息也很大!
而KLKLKL部分DKL(qϕ(z∣x)∥p(z))D_{K L}\left(q_{\phi}(\mathbf{z} | \mathbf{x}) \| p(\mathbf{z})\right)DKL(qϕ(z∣x)∥p(z)),在IB理论中是减少X,ZX,ZX,Z的互信息,当我们减少KLKLKL散度时,则有qϕ(z∣x)→p(z)q_{\phi}(\mathbf{z} | \mathbf{x}) \rightarrow p(\mathbf z)qϕ(z∣x)→p(z),那就是说明X,ZX,ZX,Z就是独立了,从而互信息也就为0了。那么KLKLKL部分越大,说明该维度的隐变量含有的信息量就越大。
β−VAE\beta-VAEβ−VAE虽然能够学习到很好的特征,但是其重建能力真的很差,如下图所示。
本文发现逐渐增大信息瓶颈可以让重建能力上升,且能够学习到很棒的特征。因此提出了如下的目标函数:L(θ,ϕ;x,z,C)=Eqϕ(z∣x)[logpθ(x∣z)]−γ∣DKL(qϕ(z∣x)∥p(z))−C∣
\mathcal{L}(\theta, \phi ; \mathbf{x}, \mathbf{z}, C)=\mathbb{E}_{q_{\phi}(\mathbf{z} | \mathbf{x})}\left[\log p_{\theta}(\mathbf{x} | \mathbf{z})\right]-\gamma\left|D_{K L}\left(q_{\phi}(\mathbf{z} | \mathbf{x}) \| p(\mathbf{z})\right)-C\right|
L(θ,ϕ;x,z,C)=Eqϕ(z∣x)[logpθ(x∣z)]−γ∣DKL(qϕ(z∣x)∥p(z))−C∣其中CCC为一个逐渐增大的数字,一般γ\gammaγ取一个很大的数字,保证KLKLKL部分能满足CCC。