beta-VAE

beta-VAE: Learning Basic Visual Concepts with a Constrained Variational Framework

β − V A E \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 ∈ R N \mathbf{x} \in \mathbb{R}^{N} xRN代表图片,而 v ∈ R K \mathbf{v} \in \mathbb{R}^{K} vRK为条件独立的隐变量,即 log ⁡ p ( v ∣ x ) = ∑ k log ⁡ p ( v k ∣ x ) \log p(\mathbf{v} | \mathbf{x})=\sum_{k} \log p\left(v_{k} | \mathbf{x}\right) logp(vx)=klogp(vkx),还有条件依赖的隐变量 w ∈ R H \mathbf{w} \in \mathbb{R}^{H} wRH。那么图片由着两个隐变量共同生成,则 p ( x ∣ v , w ) = Sim ⁡ ( v , w ) p(\mathbf{x} | \mathbf{v}, \mathbf{w})=\operatorname{Sim}(\mathbf{v}, \mathbf{w}) p(xv,w)=Sim(v,w)
我们现在希望通过一种无监督的方法,仅仅利用数据 X X X就能得到 x \mathbf x x z \mathbf z z的联合分布,其中 z ∈ R M \mathbf{z} \in \mathbb{R}^{M} zRM M ≥ K M \geq K MK。也就是说有 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(xz)p(xv,w)=Sim(v,w)。那么目标函数为 max ⁡ θ E p θ ( z ) [ p θ ( x ∣ z ) ] \max _{\theta} \mathbb{E}_{p_{\theta}(\mathbf{z})}\left[p_{\theta}(\mathbf{x} | \mathbf{z})\right] θmaxEpθ(z)[pθ(xz)]与VAE一样,引入一个inferred后验分布 q ϕ ( z ∣ x ) q_{\phi}(\mathbf{z} | \mathbf{x}) qϕ(zx),我们的目标是 q ϕ ( z ∣ x ) q_{\phi}(\mathbf{z} | \mathbf{x}) qϕ(zx)能够以解耦的方式将 v \mathbf v v解耦出。为了能够达到目的,我们可以让这个后验接近 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 ⁡ ϕ , θ E x ∼ D [ E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] ]  subject to  D K L ( q ϕ ( z ∣ x ) ∥ p ( z ) ) &lt; ϵ \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)&lt;\epsilon ϕ,θmaxExD[Eqϕ(zx)[logpθ(xz)]] subject to DKL(qϕ(zx)p(z))<ϵ求解上式,利用拉格朗日KKT条件 F ( θ , ϕ , β ; x , z ) = E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] − β ( D K L ( 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ϕ(zx)[logpθ(xz)]β(DKL(qϕ(zx)p(z))ϵ)又因为 β , ϵ ≥ 0 \beta, \epsilon \geq 0 β,ϵ0,则 F ( θ , ϕ , β ; x , z ) ≥ L ( θ , ϕ ; x , z , β ) = E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] − β D K L ( 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ϕ(zx)[logpθ(xz)]βDKL(qϕ(zx)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

从信息瓶颈的角度看 β − V A E \beta-VAE βVAE。首先先科普下什么是information bottlenec。假设我们面对分类任务,标注数据对是 ( x 1 , y 1 ) , … , ( x N , y N ) \left(x_{1}, y_{1}\right), \ldots,\left(x_{N}, y_{N}\right) (x1,y1),,(xN,yN)。我们把这个任务分为两步来理解,第一步是编码,第二步就是分类。第一步是把 x x x编码为一个隐变量 z z z,然后分类器把 z z z识别为类别 y y y
我们试想在 z z z处加一个“瓶颈” β \beta β,它像一个沙漏,进入的信息量可能有很多,但是出口就只有 β \beta β那么大,所以这个瓶颈的作用是:不允许流过 z z z的信息量多于 β \beta β。跟沙漏不同的是,沙漏的沙过了瓶颈就完事了,而信息过了信息瓶颈后,还需要完成它要完成的任务(分类、回归等),所以模型迫不得已,只好想办法让最重要的信息通过瓶颈。这就是信息瓶颈的原理!
那么衡量信息量大小的式子刚好有互信息 I ( Z , Y ; θ ) = ∫ d z d y p ( z , y ∣ θ ) log ⁡ p ( 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 = Y Z=Y Z=Y时,这样我们的学习就没有意义了。因此可以考虑对上式加上一定的约束 max ⁡ θ I ( Z , Y ; θ )  s.t.  I ( X , Z ; θ ) ≤ I c \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 , Z X,Z X,Z的互信息约束在一个范围中,这样就是相当于一个瓶颈,提取十分必要的信息,而略去一些没有意义的信息!求解上式同样适用拉格朗日乘子,最后得到 R I B ( θ ) = 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 .
那么 β − V A E \beta-VAE βVAE就能用信息瓶颈的理论解释了。首先第一部分为一个重建问题 max ⁡ E q ( z ∣ x ) [ log ⁡ p ( x ∣ z ) ] \max E_{q(\mathbf{z} | \mathbf{x})}[\log p(\mathbf{x} | \mathbf{z})] maxEq(zx)[logp(xz)]使得上式最大时,就是在隐含着互信息 I ( Z , Y ; θ ) I(Z, Y ; \boldsymbol{\theta}) I(Z,Y;θ)变大,其中 Y = X Y=X Y=X。只有 X , Z X,Z X,Z的相关程度很高的时候,重建才能很好!更加极端的情况就是AE自动编码机, Z = e n c o d e r ( X ) Z=encoder(X) Z=encoder(X)为一个决定性关系,此时重构可以做到很高的精度,而且 X , Z X,Z X,Z的互信息也很大!
K L KL KL部分 D K L ( q ϕ ( z ∣ x ) ∥ p ( z ) ) D_{K L}\left(q_{\phi}(\mathbf{z} | \mathbf{x}) \| p(\mathbf{z})\right) DKL(qϕ(zx)p(z)),在IB理论中是减少 X , Z X,Z X,Z的互信息,当我们减少 K L KL KL散度时,则有 q ϕ ( z ∣ x ) → p ( z ) q_{\phi}(\mathbf{z} | \mathbf{x}) \rightarrow p(\mathbf z) qϕ(zx)p(z),那就是说明 X , Z X,Z X,Z就是独立了,从而互信息也就为0了。那么 K L KL KL部分越大,说明该维度的隐变量含有的信息量就越大。
β − V A E \beta-VAE βVAE虽然能够学习到很好的特征,但是其重建能力真的很差,如下图所示。
在这里插入图片描述
本文发现逐渐增大信息瓶颈可以让重建能力上升,且能够学习到很棒的特征。因此提出了如下的目标函数: L ( θ , ϕ ; x , z , C ) = E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] − γ ∣ D K L ( 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ϕ(zx)[logpθ(xz)]γDKL(qϕ(zx)p(z))C其中 C C C为一个逐渐增大的数字,一般 γ \gamma γ取一个很大的数字,保证 K L KL KL部分能满足 C C C
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值