【神经网络与深度学习】VAE 和 GAN

这位大佬写的 VAE 的讲解很不错

VAE 和 GAN 的相同点和不同点

引言

VAE(变分自编码器)和 GAN(生成对抗网络)是深度学习中两种主要的生成模型,它们在数据生成任务中发挥着重要作用。虽然它们的目标相似,都是生成与训练数据分布相匹配的新样本,但在训练方式、潜在空间结构、生成样本质量和稳定性方面存在显著差异。本文将从多个方面对 VAE 和 GAN 进行对比分析,以帮助初学者更直观地理解它们的特点和区别。


相同点

  • 生成数据的目标:两者都致力于生成与训练数据相似的新数据。例如,在图像生成任务中,它们都能生成逼真的人脸或风景,在文本生成领域,它们可以生成符合语法和语义的句子。
  • 基于神经网络:VAE 和 GAN 均依赖神经网络实现。VAE 包含编码器和解码器两个组件,而 GAN 由生成器和判别器组成。
  • 学习数据分布:二者的核心目标都是学习训练数据的分布,并通过采样从该分布生成新的数据样本。

不同点

训练方式

  • VAE:采用最大似然估计,通过最小化重构误差和 KL 散度来训练模型。重构误差衡量解码器的输出与原始输入的差异,KL 散度则衡量编码器输出的潜在分布与先验分布的匹配程度。
  • GAN:采用对抗训练方式,生成器与判别器互相竞争。生成器努力生成逼真的假样本,而判别器尝试区分真实数据和生成数据。双方不断优化,直至达到平衡。

潜在空间

  • VAE:具有明确的潜在空间,并假设其服从某种先验分布(通常是高斯分布)。编码器将输入数据映射到潜在空间中的分布,解码器则从该分布中采样生成新的数据。
  • GAN:没有显式的潜在空间,生成器直接从随机噪声生成数据。虽然可以通过调整随机噪声影响生成结果,但潜在空间的结构较不明确,难以精确控制和解释。

生成样本的质量

  • VAE:生成样本通常较模糊,因为它在训练过程中关注重构误差和潜在分布的约束,而不是样本的细节。
  • GAN:能够生成高质量、逼真的样本。由于判别器的存在,生成器被迫不断提升生成样本的质量,以骗过判别器。

训练稳定性

  • VAE:训练较为稳定,基于传统优化方法,通过最小化损失函数更新参数。
  • GAN:训练过程不稳定,容易出现梯度消失、模式崩溃等问题。模式崩溃指生成器只能生成有限的样本,而无法涵盖整个数据分布。

对比表格

比较项目 VAE GAN
训练方式 最小化重构误差和 KL 散度 生成器和判别器对抗训练
潜在空间 有明确潜在空间,假设服从先验分布 无显式潜在空间
生成样本质量 较模糊 高质量、逼真
训练稳定性 相对稳定 不稳定,易出现梯度消失和模式崩溃

VAE 和 GAN 的数学原理

相关推荐
Joshua-a3 小时前
工程数学-理解卷积的含义_线性时不变系统的冲激响应与卷积
人工智能·深度学习
song5013 小时前
React Native for OpenHarmony 实战:三方库 react-native-css-transformer 的鸿蒙化适配指南
css·人工智能·深度学习·react native·transformer
数智工坊11 小时前
视觉SLAM第12讲|地图构建:单目稠密重建、RGB-D点云与八叉树地图全解析
人工智能·深度学习·矩阵·机器人
GPU实战笔记11 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
论文复现现场13 小时前
8卡4090能跑70B吗?Llama-2显存预算、QLoRA与通信瓶颈
人工智能·深度学习·分布式训练·llama·显存·qlora·算家云
用户159706376014 小时前
一文读懂淘宝店铺在售商品接口:整店商品批量拉取用于竞品研究
深度学习
布吉岛的石头14 小时前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
liron7116 小时前
技术的诞生与演化--技术自举及其冷启动
人工智能·深度学习·神经网络·自然语言处理
喜欢打篮球的普通人17 小时前
MiniMind 学习笔记(十八):速通强化学习——从 MDP 到 PPO 的概念与算法地图
笔记·深度学习·学习
`流年づ17 小时前
VGG、AlexNet、GoogLeNet对比
人工智能·深度学习