VAE(Variational Auto-Encoder)

本文介绍了自编码器的基础,包括其工作原理和应用,接着深入探讨了变分自编码器(VAE),解释了如何通过采样和KL散度来处理分布,并介绍了反向传播中的参数重参数化技巧。最后,文章讨论了解耦变分自编码器(Disentangled VAE),其目标是得到不相关特征的低维表示,以及调整超参数β的影响。
摘要由CSDN通过智能技术生成

一、普通的auto-encoder

auto-encoder分为encoder,latent vector,decoder三个部分,通过encoder(全连接,卷积,RNNs等)将一些图片,语言等高维的数据映射到低维的数据,得到压缩后的或者说是降维后的表达,也就是latent vector。decoder一般来说与encoder对称的一个结构,当然也可以是另外的结构。但是实现的功能只有一个,就是将latent vector恢复成原始的图像,也就是一个生成时模型(generator),类似于GAN种也有生成式模型。
整个模型通过反向传播来进行实现,目标loss是输入的数据和生成数据的MSE(按像素/逐点)
在这里插入图片描述
**缺点:**auto encoder可以将数据降维,降维后的数据可以恢复成原来的图像,这样就可以认为降维后的数据完美的包含了原始数据的所有关键的特征,信息的损失有限,其实也就相当于一个压缩算法。但是,思考一下你会发现这个信息的提取和初始化特征有很大的关系,除了各个层的维度是确定的,其他的参数都是自动获取的,也就是说对于同一个数据集,每次从头开始重新训练得到特征会有非常大的差异。

应用:
作为压缩算法。
作为图像分割算法:重建时候的目标是将目标挖除的
作为去噪算法:将输入叠加噪声一起输入,输出就是原始数据。强迫模型去除噪声(降维时候将噪声去除)。

二、变分自编码(VAE)

变分自编码与基础的自编码最大的区别就是
1)我们不再将原始数据映射为一个定长的向量,而是映射到一个分布,这个分布我们认为是符合正太分布。也就是将瓶颈处(最中间的编码结果)的一个向量,替换成了两个向量,也就是态分布的均值和方差。每次要喂给解码部分输入的时候,从这两个向量中采样出一个数据出来
2)loss的区别。因为我们现在希望得到的是一个分布,那么loss中也需要增加这一部分,就是KL散度。另外加上重建误差,就是VAE的loss。
L ( θ , ϕ , x ( i ) ) =    − D K L ( q ϕ ( z ∣ x ( i ) ) ∣ ∣ p θ ( z ) )    +    E q ϕ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值