VAE是一种隐变量模型

隐变量模型

 广义上的隐变量主要就是指“不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种东西”。
 隐变量(latent variable)代表了隐因子(latent factor)的组合关系。

已知: 数据集DXD_X,其中每个点都属于空间XSX_S。隐变量ZZSZ∈Z_S
假设: 有两个变量,zZSz∈Z_SxXSx∈X_S。存在一个确定性函数族f(z;θ)f(z;θ),族中的每个函数由θΘ\theta\in\Theta唯一确定,f:ZS×ΘXSf:Z_S×Θ→X_S。当θθ固定、zz是一个概率密度函数为Pz(z)P_z(z)的随机变量时,f(z;θ)f(z;θ)就是定义在XSX_S上的随机变量xx,对应的概率密度函数可以写成g(x)g(x)
目标: 优化θθ,从而寻找到一个ff,它是随机变量xx的采样、和XX非常的像。
注意:
(1) xx是一个变量,DXD_X是已知的数据集,xDXx\notin D_X
(2) ff把隐变量zz映射成xx变量,而xx变量就是与数据集DXD_X具有直接关系的随机变量,这个直接关系可以表示成Px(DXx)P_x(D_X|x)。则数据集为DXD_X存在的概率Pt(DX)=Px(DXx)g(x)dxP_t(D_X)=∫P_x(D_X|x)g(x)dx

根据贝叶斯公式:
(1) Pt(DX)=Pxz(DXz;θ)Pz(z)dz(1)~P_t(D_X)=∫P_{xz}(D_X|z;θ)P_z(z)dz
其中,Pxz(DXz;θ)P_{xz}(D_X|z;θ)是新定义的概率密度函数,替换Pt(DX)P_t(D_X)中的Px(DXx)g(x)P_x(D_X|x)g(x),从而表示 zzDXD_X的关系
假定PxzP_{xz}是服从高斯分布的概率密度函数,即Pxz(DXz;θ)=N(DXf(x;θ),σ2I)P_{xz}(D_X|z;θ)=N(D_X|f(x;θ),σ^2I)
注意,zz的分布是未知的。

由于隐变量ZZ的分布是未知的,因此VAE首先假设其服从高斯分布,然后使用多层神经网络来进行逼近ZZ(即f(z;θ)f(z;θ)是一个多层神经网络)。因此,多层的神经网络前些层是逼近ZZ,后些层是ZXZ→X映射

上述内容整理自ran337287的博客,可点击进入文章

高斯混合模型(GMM)

 GMM是传统的隐变量模型,为多个高斯分布的混合,其密度函数为多个高斯密度函数的加权组合,用EM算法求解。
 隐变量Z表示样本属于哪个高斯分布,Z为离散的随机变量ZCategorical distributionZ\sim Categorical~distribution

求解GMM的EM算法过程:
logP(x)=ELBO+KL(qϕ(ZX)Pθ(ZX))logP(x)=ELBO+KL(q_\phi(Z|X)||P_\theta(Z|X))
E-step:
 当q=Pθ(ZX)KL=0q=P_\theta(Z|X)时,KL=0
 则argmaxθP(x)=argmaxELBOarg\underset{\theta}{max}P(x)=argmaxELBO
 ∴Expectation是ELBO
M-step:
θ=argmaxθELBO      =argmaxθEPθ(ZX)[logθP(X,Z)]\theta=arg\underset{\theta}{max}ELBO\\~~~~~~=arg\underset{\theta}{max}E_{P_\theta(Z|X)}[log_\theta P(X,Z)]

这一步留坑,下次完善

VAE概述

VAE是无限个高斯分布的混合。

示意图

【原理】变分自编码器

模型描述

假设Z是连续、高维的属于高斯分布的随机变量,则:
2{ZN(0,I)  XZN(μθ(Z),Σθ(Z))(2)\begin{cases}Z\sim N(0,I)~~ \\X|Z\sim N(\mu_\theta(Z), \Sigma_\theta(Z)) \end{cases}

 上式假设ZZ服从标准的高斯分布。类似先验。但是我们更关注的是后验Pθ(ZX)P_\theta(Z|X)以辅助建模。
 上式假设XZX|Z为连续变量,将要用多层神经网络去逼近得到。如果假设为离散变量,则XZCategorical distributionX|Z\sim Categorical~distribution

模型:
3Pθ(X)=ZPθ(X,Z)dZ                      =ZPθ(Z)Pθ(XZ)dZ(3)P_\theta(X)=\int_ZP_\theta(X,Z)dZ\\~~~~~~~~~~~~~~~~~~~~~~=\int_ZP_\theta(Z)P_\theta(X|Z)dZ
ZZ是高维的
∴无法通过积分得到结果
P(X)P(X)是intractable
∴后验概率Pθ(ZX)=Pθ(Z)Pθ(XZ)Pθ(X)P_\theta(Z|X)=\frac{P_\theta(Z)P_\theta(X|Z)}{P_\theta(X)}是intractable
∴求θ\theta要先解决后验概率Pθ(ZX)P_\theta(Z|X)

模型求解

假设{P(Z)=N(0,I)Pθ(XZ)=N(μθZ,Σθ(Z))Pθ(ZX) is intractableqΦ(ZX)Pθ(ZX)\begin{cases}P(Z)=N(0,I)\\P_\theta(X|Z)=N(\mu_\theta|Z,\Sigma_\theta(Z))\end{cases}\\∵P_\theta(Z|X)~is~intractable\\∴q_\Phi(Z|X)\xRightarrow{逼近}P_\theta(Z|X)

Pθ(ZX)P_\theta(Z|X) is intractable,因此不能用EM算法求解。因为EM算法的先决条件是q=Pθ(ZX)q=P_\theta(Z|X)

假设θ\theta已经求出来了,即Model已经训练好了。生成样本过程:
ZP(Z)Z(i)X(i)Z\sim P(Z)\rarr Z^{(i)}\rarr X^{(i)}\simPθ(XZ(i))P_\theta(X|Z^{(i)})NN\xLeftarrow[NN]{逼近}
目标:
<θ^,ϕ^>=argminKL(qϕ(ZX)Pθ(ZX))=argmaxELBO=argmaxEqϕ(ZX)[logPθ(X,Z)]+H[qϕ(ZX)]=argmaxEqϕ(ZX)[logPθ(XZ)+logP(Z)]+H[qϕ(ZX)]=argmaxEqϕ(ZX)[logPθ(XZ)]KL(qϕ(ZX)P(Z))<\hat\theta,\hat\phi>=argminKL(q_\phi(Z|X)||P_\theta(Z|X))\\=argmaxELBO\\=argmaxE_{q_\phi(Z|X)}[logP_\theta(X,Z)]+H[q_\phi(Z|X)]\\=argmaxE_{q_\phi(Z|X)}[logP_\theta(X|Z)+logP(Z)]+H[q_\phi(Z|X)]\\=argmaxE_{q_\phi(Z|X)}[logP_\theta(X|Z)]-KL(q_\phi(Z|X)||P(Z))

上式的最后一行,
(1)argmaxargmax项即为损失函数
(2)KL项即为正则化项,意在使得qϕq_\phi更接近P(Z)P(Z),使得qϕq_\phi更接近高斯分布,防止其坍缩到一个点。

 使用梯度下降法θ^\hat\thetaϕ^\hat\phi。采用重参数化技巧+神经网络(如SGVI, SGVB, SVI, Amortized Inference等)来解决该优化问题,即求近似后验

SGVI为例:假设q(ZX)q(Z|X)
【原理】变分自编码器
【原理】变分自编码器

注意: 初始是从P(Z)P(Z)中采样Z(i)Z^{(i)},训练时是从qϕ(ZX)q_\phi(Z|X)中采样Z(i)Z^{(i)}

相关文章:

  • 2021-12-30
  • 2021-05-24
  • 2022-12-23
  • 2021-12-05
  • 2021-11-30
  • 2021-09-16
  • 2021-05-04
猜你喜欢
  • 2021-05-13
  • 2021-11-21
  • 2021-11-27
  • 2022-01-17
  • 2022-01-20
  • 2021-06-20
  • 2021-12-25
相关资源
相似解决方案