变分自编码器(Variational Autoencoder, VAE),傻瓜式理解

本文介绍了变分自编码器(VAE)的基本思想及其实现细节,包括如何通过正态分布来表达中间特征,并利用KL散度进行训练,最终实现图像的生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变分自编码器(Variational Autoencoder, VAE)

VAE是一个改了中间层的自编码机。
基本思想来源:中间特征的泛化表示。
与一般的区别:一般的自编码机就是一个多层网络,中间的特征是一个固定的向量值。而VAE中间的特征是一种分布。
中间特征的抽象思考:1、如果输入是一个人脸图像,那么中间特征也许表示眼睛大小、肤色、头发种类等等等;2、类似于label smoothing一样,一个不确定的分布会更加符合人们事实的判断,就像去猜一个人的年龄一样,严谨的人会说他在20-25岁之间,而20-25岁的概率是基本符合正态分布的。


进阶思考
1、如果中间层的特征是一个分布,那么服从什么分布——正态分布
2、怎么才能让中间层表示一个正态分布呢?
正态分布无外乎是均值和权重就能控制的,那么我的中间层的激活值就是均值+权重
3、既然是自编码器那么整个网络的输入和输出要尽量相似。
4、神经网络的学习能力极好,既然我希望中间层是很多个正态分布的组合向量,那么我不如规定这些正态分布都满足0,1正态分布。
根据这些思考我们来定义损失函数:
损失函数是为了两个目的:①所谓自编码,就是要还原自己的样子,所以输入和输出的比较是不可少的
②既然希望中间层满足0,1正态分布,那么我们就把输出的分布和0,1正态分布来做比较,那么分布与分布之间的比较使用到了KL散度,也是就是相对熵。
所以损失函数最后就出来了。通过反向传播,来达到目的。最后我们通过中间层的随机在正态分布上取值的手段就能生成类似的图像。
参考文档:http://www.dengfanxin.cn/?p=334

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值