TensorFlow深度学习实战(25)——变分自编码器详解与实现
TensorFlow深度学习实战(25)——变分自编码器详解与实现
- 0. 前言
- 1. 变分自编码器
- 1.1 VAE 工作原理
- 1.2 VAE 构建策略
- 1.3 KL 散度
- 1.4 重参数化技巧
- 2. 数据集分析
- 3. 构建变分自编码器
- 小结
- 系列链接
0. 前言
变分自编码器 (Variational Autoencoder
, VAE
) 是一种生成模型,结合了自编码器和概率模型的思想,通过学习输入数据的潜分布,能够生成新的样本。与传统的自编码器不同,变分自编码器引入了概率建模的思想,并通过编码器和解码器之间的随机性来实现生成过程。编码器将输入数据映射到潜空间中的概率分布,假设潜变量是从多元正态分布中采样得到的,解码器则将从潜空间采样得到的潜在变量映射回原始数据空间,并生成新的样本。本节中,将介绍变分自编码器的基本概念,并使用 TensorFlow
实现变分自编码器生成新图像。
1. 变分自编码器
变分自编码器 (Variational Autoencoder
, VAE
) 融合了神经网络和贝叶斯推理,是无监督学习中最受欢迎的方法之一。在传统的自编码器的编码器和解码器网络基础上,变分自编码器增加了额外的随机层。随机层在编码器网络之后使用高斯分布对数据进行采样,而在解码器网络之后则使用伯努利分布进行采样,变分自编码器可以基于训练数据集的分布生成图像。