AE和VAE

AE(AutoEncoder):自编码器

原理:自编码器是一种无监督的特征学习方式,其目的是利用无标签数据找到一个有效的低维特征提取器,即重构损失来训练低维的特征表示。主要用于数据去噪、可视化降维(类比PCA可以进行比较)

AE和VAE_第1张图片
AE和VAE_第2张图片

损失函数:自动编码器是数据相关的,自动编码器的过程是有损的,损失函数正是用来衡量由于压缩而损失掉的信息,一般使用L2损失

在这里插入图片描述

流程:编码器进行数据降维后,如下图所示,在低维空间上通过解码器进行解码复原原图像

AE和VAE_第3张图片

同时在低维空间上非编码处进行解码可以生成新的不同于输入的样本,这起到数据增强的作用,

AE和VAE_第4张图片

所以AE通过学习输入,生成一个低维的码空间,decoder可以将码空间还原到原始图像,但是问题在于如果对于介于某两个特征之间的特征encoder并没有学习到码空间里,那么在decoder时就一定不会生成有希望特征的图像,即码空间的泛化能力基本为零,所以将引入VAE带变分的自编码器;

AE和VAE_第5张图片

如图所示,AE学习过程码空间记录了满月和半月的特征,decoder时可以较好地还原,但是无法decoder出我们希望的3/4弦月

AE和VAE_第6张图片

如图所示,采用VAE后,由于VAE过程利用混合高斯模型加入了noise,使得码空间在特征之间具有了较好的泛化能力,3/4弦月的图像可以decoder出来,这个过程也属于生成模型。

V(Variational)AE变分编码器

AE和VAE_第7张图片

VAE过程的encoder输出两个vector,vector里每一维进行高斯采样得到均值m和标准差σ,再从标准正态分布里生成一个vector采样得到e,进行在这里插入图片描述的计算得到码空间,σ与e相乘即noise,引入最小化重构误差AE和VAE_第8张图片来逼近AE的结果,但是采样的过程是一种连续的表达方法,我们可以得到很多原始训练数据中没有的数据了。

最后想说一下AE与VAE的差别主要在于,二者都是X->Z->X’的过程,但是AE是单值映射关系,即:z=f(x);而VAE则是分布映射关系,即:DX→DZ。

除此之外VAE深刻的数学推导我还尚未理解,待我理解之后再补充吧。

你可能感兴趣的:(模式识别与机器学习,深度学习,计算机视觉)