【深度学习08】变分自编码器(VAE)

大致内容: 

1.编码器-解码器(E-D)

1.1降维

机器学习中有类似主成分分析(PCA)这样的降维方法:减少描述数据的特征数量的过程。而编码器-解码器结构也可以实现降维思想。如图所示:

  • 编码器(encoder)用于压缩数据:把一张图片压缩成一个向量的数据。
  • 解码器(decoder)用于解压缩:把一个的向量解压缩成一张图片。
  • 中间这个向量所在的编码空间也称之为隐空间(latent space),相比于真实空间,隐空间的维度大大降低了。

这种压缩表示的原理是:通过捕捉原始空间中的重要特征。同时减少噪声和冗余信息。而且,在隐空间中,相似的样本也是相近的,这确保了在隐空间中进行各种计算操作的正确性,同时在隐空间中计算也会更加便捷。

2.自编码器(AE)

2.1原理

  • 自编码器作为一种神经网络结构,将输入数据映射到隐藏层,解码器将隐藏层映射到输出层。
  • 输入层和输出层有相同的大小,隐藏层的大小通常小于输入层和输出层的大小。
  • 在训练的过程中,自编码器的目标就是最小化输入数据和解码数据之间的重构误差(对应图中的loss),以此来学习参数。e和d分别对应编码器encoder和解码器decoder的映射函数。
  • 编解码器结构,为数据创造了这样一个瓶颈:确保了只有重要的信息特征能够通过并且重建。
2.2特点

  1. 我们知道PCA方法实际上是对基坐标轴进行线性变换。而如果自编码器中的编解码函数也是线性的。那么就跟PCA是类似的了,唯一不同的就是神经网络不对坐标轴的正交性有所限制(如右图中ae 的两个维度彼此并不正交)。
  2. 自编码器的深度降维能力其实来自于编解码函数的深度非线性。可以这么说:当编解码器有足够的自由度(足够大)时,甚至可以将任何初始数据的维度减少到1(N个数据对应实轴上N个整数相关的解码器,再进行逆变换的过程中实现无损解压缩)。
  3. 但是我们仍然要记住降维的目的:尽量将数据主要的结构信息保留在简化的表示中,这需要我们仔细控制和调整潜空间的大小和自编码器的“深度。
2.3局限

  • 从这个例子可以看出,对于中间的原始数据来说,分类成左边的图虽然看似更简单,但是丢失了很多信息。不如分类成右边二维的情形,效果更好。
  • 自编码器训练,以最小损失为目标,而不管潜空间如何组织。容易导致严重的过拟合问题,很难直接用于内容生成任务。

3.变分自编码器(VAE)

3.1直观

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值