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}
x∈RN代表图片,而
v
∈
R
K
\mathbf{v} \in \mathbb{R}^{K}
v∈RK为条件独立的隐变量,即
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(v∣x)=∑klogp(vk∣x),还有条件依赖的隐变量
w
∈
R
H
\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)。
我们现在希望通过一种无监督的方法,仅仅利用数据
X
X
X就能得到
x
\mathbf x
x和
z
\mathbf z
z的联合分布,其中
z
∈
R
M
\mathbf{z} \in \mathbb{R}^{M}
z∈RM,
M
≥
K
M \geq K
M≥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
θ
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θ(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 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
)
)
<
ϵ
\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
)
=
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ϕ(z∣x)[logpθ(x∣z)]−β(DKL(qϕ(z∣x)∥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ϕ(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
从信息瓶颈的角度看
β
−
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(z∣x)[logp(x∣z)]使得上式最大时,就是在隐含着互信息
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ϕ(z∣x)∥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ϕ(z∣x)→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ϕ(z∣x)[logpθ(x∣z)]−γ∣DKL(qϕ(z∣x)∥p(z))−C∣其中
C
C
C为一个逐渐增大的数字,一般
γ
\gamma
γ取一个很大的数字,保证
K
L
KL
KL部分能满足
C
C
C。