VAE
学习来源: 学习视频链接
0. 前言
什么事高斯分布?
1. 与普通编码器的区别—(数据流是断裂的)
流程解读:
1. 解码器拿到的只是和原始数据同分布的另外一个样本,根本就没有拿到原始数据编码的信息;
2. 虽然 Di 和 di 的均值和标准差相同,但是Di是人造的完美高斯分布;
3. 所有过程是基于样本为最小单位;(输入编码器多少个样本,就输入解码器多少个Z,是一致的)
4. 流程1中,每个样本的所有特征信息转码成类高斯分布di的均值和标准差
2. 细节解读
- 均值和方差是从编码器中直接输出的,并不是通过类正态分布计算出来的,这就意味着编码器encode的权重改变,输出的均值和标准差也会改变。所以意味着可以得出多组均值和标准差。
- 反向传播是通过链式法则的,数据流断裂则无法进行。
3. 梳理数据流举例
(补充:就算只输出一组均值和方差的时候,也是估计的,因为编码器encode把原始数据编码成的是类正态分布,不是完美的正态分布,所有没有确定的均值和标准差,现在需要生成多组,只不过是多估计几组数据)
4. 怎么让一个样本输出多组均值和标准差呢?
5. 画图总结
5.1 编码器部分
6. 损失函数
6.1 KL散度
用来衡量两组数据分布之间的差异
6.2 VAE损失函数
6.2.1 损失函数的后半部分
6.2.2 损失函数的前半部分
理论和实践是有差异的,只要是重构损失就可以了