VAE是一种隐变量模型
隐变量模型
广义上的隐变量主要就是指“不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种东西”。
隐变量(latent variable)代表了隐因子(latent factor)的组合关系。
已知: 数据集DX,其中每个点都属于空间XS。隐变量Z∈ZS。
假设: 有两个变量,z∈ZS和x∈XS。存在一个确定性函数族f(z;θ),族中的每个函数由θ∈Θ唯一确定,f:ZS×Θ→XS。当θ固定、z是一个概率密度函数为Pz(z)的随机变量时,f(z;θ)就是定义在XS上的随机变量x,对应的概率密度函数可以写成g(x)。
目标: 优化θ,从而寻找到一个f,它是随机变量x的采样、和X非常的像。
注意:
(1) x是一个变量,DX是已知的数据集,x∈/DX。
(2) f把隐变量z映射成x变量,而x变量就是与数据集DX具有直接关系的随机变量,这个直接关系可以表示成Px(DX∣x)。则数据集为DX存在的概率Pt(DX)=∫Px(DX∣x)g(x)dx。
根据贝叶斯公式:
(1) Pt(DX)=∫Pxz(DX∣z;θ)Pz(z)dz
其中,Pxz(DX∣z;θ)是新定义的概率密度函数,替换Pt(DX)中的Px(DX∣x)g(x),从而表示 z与DX的关系。
假定Pxz是服从高斯分布的概率密度函数,即Pxz(DX∣z;θ)=N(DX∣f(x;θ),σ2I)
注意,z的分布是未知的。
由于隐变量Z的分布是未知的,因此VAE首先假设其服从高斯分布,然后使用多层神经网络来进行逼近Z(即f(z;θ)是一个多层神经网络)。因此,多层的神经网络前些层是逼近Z,后些层是Z→X映射。
上述内容整理自ran337287的博客,可点击进入文章
高斯混合模型(GMM)
GMM是传统的隐变量模型,为多个高斯分布的混合,其密度函数为多个高斯密度函数的加权组合,用EM算法求解。
隐变量Z表示样本属于哪个高斯分布,Z为离散的随机变量Z∼Categorical distribution
求解GMM的EM算法过程:
logP(x)=ELBO+KL(qϕ(Z∣X)∣∣Pθ(Z∣X))
E-step:
当q=Pθ(Z∣X)时,KL=0
则argθmaxP(x)=argmaxELBO
∴Expectation是ELBO
M-step:
θ=argθmaxELBO =argθmaxEPθ(Z∣X)[logθP(X,Z)]
这一步留坑,下次完善
VAE概述
VAE是无限个高斯分布的混合。
示意图

模型描述
假设Z是连续、高维的属于高斯分布的随机变量,则:
(2){Z∼N(0,I) X∣Z∼N(μθ(Z),Σθ(Z))
上式假设Z服从标准的高斯分布。类似先验。但是我们更关注的是后验Pθ(Z∣X)以辅助建模。
上式假设X∣Z为连续变量,将要用多层神经网络去逼近得到。如果假设为离散变量,则X∣Z∼Categorical distribution。
模型:
(3)Pθ(X)=∫ZPθ(X,Z)dZ =∫ZPθ(Z)Pθ(X∣Z)dZ
∵Z是高维的
∴无法通过积分得到结果
∴P(X)是intractable
∴后验概率Pθ(Z∣X)=Pθ(X)Pθ(Z)Pθ(X∣Z)是intractable
∴求θ要先解决后验概率Pθ(Z∣X)
模型求解
假设{P(Z)=N(0,I)Pθ(X∣Z)=N(μθ∣Z,Σθ(Z))∵Pθ(Z∣X) is intractable∴qΦ(Z∣X)逼近Pθ(Z∣X)
Pθ(Z∣X) is intractable,因此不能用EM算法求解。因为EM算法的先决条件是q=Pθ(Z∣X)
假设θ已经求出来了,即Model已经训练好了。生成样本过程:
Z∼P(Z)→Z(i)→X(i)∼Pθ(X∣Z(i))逼近NN
目标:
<θ^,ϕ^>=argminKL(qϕ(Z∣X)∣∣Pθ(Z∣X))=argmaxELBO=argmaxEqϕ(Z∣X)[logPθ(X,Z)]+H[qϕ(Z∣X)]=argmaxEqϕ(Z∣X)[logPθ(X∣Z)+logP(Z)]+H[qϕ(Z∣X)]=argmaxEqϕ(Z∣X)[logPθ(X∣Z)]−KL(qϕ(Z∣X)∣∣P(Z))
上式的最后一行,
(1)argmax项即为损失函数。
(2)KL项即为正则化项,意在使得qϕ更接近P(Z),使得qϕ更接近高斯分布,防止其坍缩到一个点。
使用梯度下降法θ^和ϕ^。采用重参数化技巧+神经网络(如SGVI, SGVB, SVI, Amortized Inference等)来解决该优化问题,即求近似后验。
SGVI为例:假设q(Z∣X)


注意: 初始是从P(Z)中采样Z(i),训练时是从qϕ(Z∣X)中采样Z(i)。