深度学习进阶文档深度页
AE、VAE、GAN 与扩散模型
生成模型学习重建、潜分布、对抗或去噪目标,采样过程各不相同。
学习目标
- 解释核心机制
- 手算一个主要形状或公式
- 运行完整示例并排查错误
为什么需要这个概念
AE、VAE、GAN 与扩散模型是该文档中连接数据表示、训练目标和工程实现的核心主题。
- 掌握AE、VAE、GAN 与扩散模型的输入输出与训练边界
- 能够用 PyTorch 代码验证公式和形状
学习前需要掌握
PyTorch Tensor内容待补充神经网络训练循环
背景与问题
AE、VAE、GAN 与扩散模型是该文档中连接数据表示、训练目标和工程实现的核心主题。
概念定义
生成模型学习重建、潜分布、对抗或去噪目标,采样过程各不相同。
直观理解
把AE、VAE、GAN 与扩散模型理解为数据在模型中的一套明确变换,而不是只记一个类名。
核心原理
必须分别记录损失组成、固定采样条件并评价质量与多样性。
实现时必须同时检查 shape、dtype、mask 或模式切换,并用验证集而不是测试集选择配置。
数学表达
核心公式
AE、VAE、GAN 与扩散模型的核心数学表达。
变量含义
Nbatch sizeD/H特征或隐藏维度
计算步骤
- 1按公式或模块逐步计算
- 2核对输出 shape
代码对应位置
示例 1AE、VAE、GAN 与扩散模型 · PyTorch 示例:验证AE、VAE、GAN 与扩散模型的输入、计算和输出。
变量解释
| 变量 | 含义 |
|---|---|
N | batch size |
D/H | 特征或隐藏维度 |
完整数值示例
AE、VAE、GAN 与扩散模型数值/形状检查
已知条件
- N=8
- D=64
- 1
按公式或模块逐步计算
- 2
核对输出 shape
输出保持 batch 维并符合任务头约定
处理前后对比
计算与实现步骤
- 1
确认输入与目标
- 2
建立最小模块
- 3
随机张量前向
- 4
计算损失
- 5
反向与更新
- 6
验证与错误分析
代码实现
示例 1
AE、VAE、GAN 与扩散模型 · PyTorch 示例
AE、VAE、GAN 与扩散模型 · PyTorch 示例
PyTorch
example_01.py用途:验证AE、VAE、GAN 与扩散模型的输入、计算和输出。
x=torch.rand(16,1,28,28)
x_hat,z=autoencoder(x)
loss=F.mse_loss(x_hat,x);loss.backward()
print(x_hat.shape,z.shape)代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
验证AE、VAE、GAN 与扩散模型的输入、计算和输出。
loss- 当前预测与目标之间的损失值。
Step 1 · 1–4 行
计算损失对参数的梯度,对应数学表达中的 ∇J;梯度只给出局部变化方向。
x=torch.rand(16,1,28,28)
x_hat,z=autoencoder(x)
loss=F.mse_loss(x_hat,x);loss.backward()
print(x_hat.shape,z.shape)代码与数学原理
平方误差代码对应均方损失。
预期输出或运行结果
打印与页面说明一致的张量形状或损失。
常见错误 · 4 条
- AE 重建好即能随机采样
- 输出范围不匹配
- 不同 loss 横比
- 确认样本轴、特征轴以及 X 与 y 的第一维完全对应。
实际应用
- AE、VAE、GAN 与扩散模型
- 教学与项目基线
常见错误
AE 重建好即能随机采样
输出范围不匹配
不同 loss 横比
文档来源
23_生成模型_VAE_GAN与扩散模型原始文档
学习资料/deeplearning/23_生成模型_VAE_GAN与扩散模型.md- §1–2 总览
- §3 AE
- §4 VAE
- §5 GAN
- §6 Diffusion
常见问题
AE、VAE、GAN 与扩散模型最先检查什么?
先检查输入输出 shape、dtype 和数据边界。
何时使用测试集?
全部设计锁定后最终评估。
推荐学习资料
视频课程B 级
MIT Introduction to Deep Learning
以密集讲座和实验介绍神经网络、序列模型、生成模型和深度学习应用。
MIT 6.S191 Team · MIT