生成模型—VAE

发布时间 2024-01-11 22:56:30作者: Hunan_tiger

生成模型—VAE(Variational Auto-Encoder)

为进一步了解面部反应生成模型的原理,故详细学习VAE。

Auto-encoder

感谢李宏毅老师的视频

自编码器是一种无监督学习的神经网络模型,可以用于数据降维、特征压缩、特征提取、数据生成等任务。其主要思想是尝试将输入数据通过编码器(Encoder)转换为一个低维度的潜在特征空间(类似PCA),并使用解码器(Decoder)将该特征空间重建为与原始数据尽可能相似的输出数据。自编码器由编码器和解码器两部分组成,其中编码器将高维度的输入数据映射到低维度的潜在特征空间,而解码器则将该潜在特征空间的表示映射回原来的高维度数据空间,以进行重构或预测任务。

自编码器可以用于无监督特征学习、数据降维、去噪、图像重建等多个领域。其中,通过限制编码和解码过程中的某些约束(如稀疏性、降噪、受限玻尔兹曼机等),可以进一步优化自编码器的表现,增强其鲁棒性和泛化性能。

AE

自编码器其实是Reconstruction的过程,也就是输入的vector/embedding/representing/code和输出的vector/embedding/representing/code as close as possible.

变体 Denoising Auto-encoder

DAE
以及BERT也可以视为一种Denoising Auto-encoder
AE

Discrete Latent Representation

中间Encoder的输出也称作Latent Representation

Discrete

原先是一个浮点数值的向量,可以让其二值化或者one-hot来得到新的向量,这一步应该是量化 (Quantization),从FP32转换为FP16或者INT8。

Quantization

Variational Auto-Encoder

首先关于变分推理,具体的贝叶斯公式推导可见文章视频(评论区笔记)

VAE的讲解视频P1,可从35:17开始观看,收益很大

VAE

简单来说,AE只会生成一个固定的Z码,但是因为训练数据的限制,实际不能很好拟合现实情况,所以引入VAE,它生成的是Z的概率分布然后采样出Z'送入Decoder

VQ-VAE

VQ-VAE

同时还参考了以下文章来更加了解VAE,若想了解更多生成模型可阅读文章