细致讲解VAE变分自编码器,包含前导知识

一. 前导知识

  1. 协方差矩阵:对角线为方差,其余为两个变量的协方差

如何直观地理解「协方差矩阵」? - 知乎

 2. 多元高斯分布:

多元正态分布的概率密度由协方差矩阵的特征向量控制旋转(rotation),特征值控制尺度(scale),除了协方差矩阵,均值向量会控制概率密度的位置 

3. KL散度

KL散度(Kullback–Leibler divergence,缩写 KLD)是一种统计学度量,表示的是一个概率分布相对于另一个概率分布的差异程度,在信息论中又称为相对熵(Relative entropy)

(1) 设离散概率空间Z上有两个概率分布 PQ,那Q相对于QKL散度定义如:

(2)对于连续型随机变量,设概率空间X上有两个概率分布PQ,其概率密度分别为pq,那么,P相对于QKL散度定义如下

注意:KL散度度量无对称性

4. 极大似然估计

定义:利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值  

如果 theta 是已知确定的, x是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点x ,其出现概率是多少;

如果 x 是已知确定的,theta 是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数theta,出现 x这个样本点的概率是多少。

5. 变分推断

求后验概率的过程被称为推断(Inference),推断分为精确推断和近似推断。精确推断一般主要是根据贝叶斯等概率公式推导出后验概率,但在一些生成模型中,如RBM, DBN, DBM很难应用精确推断,于是乎我们就有了近似推断,近似推断又分为确定性近似和随机性近似,确定性近似方法就是变分推断(Variance Inference, VI),随机性近似的方法有马尔可夫蒙特卡洛采样(Markov Chain Monte Carlo, MCMC)、Metropolis-Hastings采样(MH)、吉布斯采样(Gibbs)

其中L(q)为变分项,也即ELBO,这样就把对数似然转化为了变和KL的和,q(z)用来近似后验分布p(z|x),即KL项越小越好,此时变分项达到最大,最终: 

补充:变分推论(VI)是一种近似复杂分布的技术。这个想法是要设置一个参数化的分布族(例如高斯族,其参数是均值和协方差),并在该族中寻找目标分布的最佳近似。该族中最好的对象是使给定的近似误差测量值最小化的元素(大多数情况下是近似分布与目标分布之间的Kullback-Leibler散度),并通过对该族的参数进行梯度下降来发现。

二. VAE发展过程、结构及工作原理

PCA降维---->自编码器降维、提取特征----->VAE提取特征

  1. PCA寻找一个一维线性子空间,将数据投影到该空间,实现降维。降维空间中的新特征为旧特征的线性组合。

 2. 自编码器AE由一个编码器和一个解码器构成,编码器编码数据(降维,提取特征),解码器由特征恢复数据,通过最小化重构误差:

达到优化bottleneck中所提取特征的目的。

ps. 线性自编码器vs PCA

目标不同,PCA最小化投影方差,linear AE最小化重构误差

PCA降维空间基正交,线性自编码器不一定。

3. 自编码器隐空间缺乏规则性(特征不可解释、不可利用)---->VAE

(1)VAE目标:可利用隐空间的特征生成新的数据

 (2)实现方法:

a. 将输入编码为分布而不是点;

b. 目标函数加入正则化项,避免过度拟合,且让隐空间隐变量分布向高斯分布的方向靠近。保证隐空间连续性与完整性

连续性:

完整性:

隐空间表现出梯度特性:

(4)VAE数学原理:

      “概率解码器”由P(x|z)定义而概率编码器由P(z|x)定义

 a. 我们假设隐空间中的编码表示z遵循先验分布p(z)

 b. 由贝叶斯定理建立先验后验似然之间的关系:

c. 现在让我们假设p(z)是标准的高斯分布,p(x|z)是高斯分布,其均值由变量z的确定性函数f定           义,并且协方差矩阵的形式为正常数c乘以单位矩阵I的。假定函数f属于记为F的函数族,对             于F我们暂不指定。因此,我们有

隐变量分布为标准正态分布,而编码器输出为其结构决定其参数的正态分布

d.(***)接下来开始变分推断:

假设一个 q(z|x)来近似p(z|x),其均值和协方差由参数x的两个函数g和h定义。这两个函数应该分别属于后面确定但可以参数化的函数族G和H。

现在需要通过优化函数g和h以最小化近似分布 和真实分布p(z|x)间的Kullback-Leibler散度,从而找到该族中的最佳近似

 

 空心E为期望,z是从 中采样得来的

在倒数第二个方程中,我们可以观察到在近似后验p(z|x)时存在一个权衡点——最大化“观测”的可能性(第一项,减小重构误差)与接近先验分布(第二项,p(z|x)和 之间的KL散度最小)。这种折衷对于贝叶斯推理问题是很自然的,体现了在数据的置信度与先验分布置信度之间的平衡

此时我们就找到了最佳g和h,即编码器结构,而解码器结构未找到,即f。

e. 对于给定的输入data x,当我们从编码器结构近似分布 中采样z然后从解码器分布p(z|x)中采样x^时,我们希望最大化x^=x的概率。因此,我们正在寻找最优f∗

 其中最佳 取决于函数f,获得方法如前所属。将所有部分聚集在一起,我们正在寻找最优的g*,h∗f∗,因此:

(5)引入神经网络

f, g, h 都是由神经网络实现,因此为了节省资源会互相折叠

                                         Encoder                                           Decoder

  

利用DNN的限制:

a. 由于我们无法轻松地在函数的整个空间上进行优化,因此我们限制了优化域G,H,F

b. 对于编码器,因为它定义了 的协方差矩阵,所以h(x)被假定为方阵

c. 对于编码器,为了简化计算并减少参数的数量,额外假设 是具有对角协方差矩阵的多维高斯分布(变量独立性假设)。在此假设下,h(x)只是协方差矩阵对角元素的向量,因此其大小与g(x)相同。但是,我们以这种方式减少了我们用于变分推断的分布族,因此,对p(z|x)的近似可能不太准确。

d. 假定解码器p(x|z)具有固定的高斯协方差,函数f决定其高斯均值

注释:第一个重点是编码器获得均值和协方差的网络共享了一部分权重。第二个重点是协方差矩阵被简化为对角阵,也就是简化成了一维向量。这样,均值和方差就都可以用全连接网络来获得了

e. (?) E和D串联后,采样操作是不可导的!因此利用重参数化技巧(reparametrisation trick

  如果z是遵循均值g(x)与协方差h(x)的高斯分布的随机变量,则z可以表示为:

f. VAE总体框图:

整理资料,一字一字地码不容易,路过的友友给个赞哦!

 参考资料:

1. Joseph Rocca, Understanding Variational Autoencoders (VAEs)

2.半小时理解变分自编码器 - 知乎

3. 交叉熵、相对熵(KL散度)、JS散度和Wasserstein距离(推土机距离) - 知乎

4. 如何直观地理解「协方差矩阵」? - 知乎

5. 一文搞懂极大似然估计 - 知乎

6. 变分推断 - 知乎

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值