VAE->VaDE->DGG 三篇论文演化讲起

本文需要具有VAE、VADE、图嵌入基础,请先阅读其他博客:

VAE相关笔记:

  1. VAE变分自编码+聚类
  2. 再探VAE(问题解答)
  3. VAE变分自编码模型形象化理解

VADE笔记:
     VADE笔记

DGG笔记:
     DGG笔记

一、变分自编码(VAE)

在这里插入图片描述
如上图所示,假设有两张训练图片,一张是全月图,一张是半月图,经过训练我们的自编码器模型已经能无损地还原这两张图片。接下来,我们在z上,两张图片的编码点中间处取一点,然后将这一点交给解码器,我们希望新的生成图片是一张清晰的图片(类似3/4全月的样子)。但是,实际的结果是,生成图片是模糊且无法辨认的乱码图。一个比较合理的解释是,因为编码和解码的过程使用了深度神经网络,这是一个非线性的变换过程,所以在z上点与点之间的迁移是非常没有规律的。也就是说中间隐层z的分布,我们是未知的,因此我们并不知道从何处取一点来生成我们想要的图片。

在这里插入图片描述
现在分布有了,是不是只要选择合适的z数据来生成x就行了?不行,因为不知道怎么选。怎么理解,根据上图我们可以看出,输入两个x,得到两个z。现在我们知道了这两个z是在标准正态分布中的两个点,但是问题来了,在什么位置的两个点?没人知道,既然具体位置都不知道,那怎么取它俩之间的第三个z来生成3/4月x?所以我们现在虽然有了z的分布,P(Z)~n(0,1),但是没有一点用处。因为不知道取哪里的z,假设的分布再好有啥用。既然这个分布不切实际,那我们再来个切实际的分布吧,

在这里插入图片描述
看这个图,蓝色线是真实数据x的分布,只不过这个分布具体形式我们并不知道。黑色点是N个真实数据X1~XN。
,我们利用神经网络,把这N个数据X输入,这样每个数据x都会产生一个均值和方差,构成一个分布。我们发现,N个z放一起可以构成一个分布,同时,由于z是在x的条件下生成的,因此这个分布是可以还原到数据x的!但是这N个z合在一起构成了一个超级复杂的分布!具体形式还不知道,所以依然没法选择一个合适的z,生成我们想要的数据。

在这里插入图片描述
然后就有人又想到了最初提的假设,如果这些放在一起的z的分布就是一个标准正态分布,也就是说,这些蓝色的z|x的分布,都去逼近这个橙色线条,标准正态分布,并且最后完全拟合,那这样不就都解决了吗:由于该标准正态是这些混合在一起的z构成的,那么这些z一定都在这个分布上,同时每个z的位置我们还都知道,这样就可以完成采样z,进而生成我们想要的数据了!

实际上,上面提到的:输入进去的每个数据x生成一个z,这个z又重构到一个x的过程,就是 x条件下生成z的后验概率,记做 z | x, 和z条件下,生成x的后验概率。我们的采样并非是从那个没啥用的先验分布p(z)采集得来的,而是从这个 能够还原回x的z|x分布--------z的后验分布中完成的采样。

现在推理模型有了,在他上面再加上生成模型,vae的框架就搭建出来了。接下来让我们看一个vae的模型图

在这里插入图片描述
从下往上看。最下面,x。蓝色线条是真实数据的分布,黑色的点是N个真实的样本。我们将这N个样本输入到神经网络中,经过映射,得到隐层的均值和方差,构成了z的后验分布:z|x。也就是这些蓝色的线条。由于z的后验分布z given x 分布形式未知,因此我们需要让他逼近于先验分布,也就是标准正态高斯,这个橙色的线条。接下来,我们在z的后验分布中,进行采样,为计算方便,我们只采集一个样本,也就是这些红色的点。最后,我们将采集的样本,送入神经网络,解码出来数据,即我们最后生成的数据,x given z。这也就是vae的整体框架。

但是现在有一个问题,当前模型中,如果不存在噪声的影响(方差),输入的x与输出的x应该是完全相同的。也就是这些线条应该是一一对齐的。但是在图上我们可以看到,他们并没有对其。原因就是由于约束了 x条件下z的后验分布逼近标准正态分布,z的后验分布中,方差不可能为0。因此我们采集的样本,很难保证正好是均值,故而生成的x与输入的x,可能面临比较大的误差。因此我们还需要拟合x的后验分布与先验分布相靠近。即p(x)逼近于p(x|z)。

在这里插入图片描述
在这里插入图片描述

高斯混合模型(GMM)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

变分深度嵌入聚类(VaDE)

在这里插入图片描述
在VAE中,我们提到了,“把N个数据x的隐层z都取出来放在一起,可以构成一个分布,这个分布是可以还原到数据x的!但是这个分布太复杂了,很难拟合。”所以为了方便计算、推导,我们是假设的服从标准正态分布。
但是我们知道这是不符合实际情况的,针对不同的数据x,隐层z的分布不一定都是相同的,而让他们都去拟合逼近于一个固定的、相同的单一标准高斯分布,这是不合理的。因此,vade算法,就是针对这种情况提出了改进。Vade算法假设隐层z的先验分布满足混合高斯分布。那应该如何做聚类呢?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DGG

占位

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值