跳转到内容

6.6.1 生成模型路线图:采样、解码、审查

生成模型不是只预测标签,而是创造新样本。实用闭环是:采样潜在编码,解码输出,审查结果,比较版本。

生成模型章节关系图

GAN 对抗平衡图

概念第一层意思
latent vector用于生成的紧凑隐藏输入
decoder / generator把潜在编码变成输出
discriminator在 GAN 中判断真实还是生成
VAE学习更平滑的潜在空间
review生成结果仍需要人和指标检查

创建 generative_first_loop.py,安装 torch 后运行。

import torch
torch.manual_seed(0)
latent = torch.randn(2, 4)
decoder = torch.nn.Sequential(torch.nn.Linear(4, 6), torch.nn.Tanh())
generated = decoder(latent)
print("latent_shape:", tuple(latent.shape))
print("generated_shape:", tuple(generated.shape))
print("value_range:", round(generated.min().item(), 3), round(generated.max().item(), 3))

预期输出:

Terminal window
latent_shape: (2, 4)
generated_shape: (2, 6)
value_range: -0.863 0.695

这还不是真正的生成器,只是展示核心形状直觉:小的 latent vector 可以被解码成更大的输出。

极小 decoder 运行结果图

顺序阅读先抓住什么
16.6.2 GANgenerator、discriminator、对抗平衡
26.6.3 VAEencoder、decoder、潜在空间

保留一条生成结果复盘笔记:

潜在形状
进入生成器/解码器的紧凑代码是什么
输出形状
输出的是哪种类似样本的对象
质量检查
它看起来合理吗,或能重建得好吗?
多样性检查
输出是否有变化,还是在塌缩?
信任规则
生成的输出始终需要复查

能解释预测标签和生成样本的区别,并说明为什么生成结果需要审查而不能盲信,就算通过。

检查思路与讲解
  1. 合格答案要把 tensor、模型层、loss、backward() 和 optimizer 更新连成一个训练闭环。
  2. 证据应包含可运行的小实验、tensor shape 检查,以及能解释的 loss 或验证曲线。
  3. 自检时要能指出一个失败模式,例如 shape 不匹配、loss 不下降、过拟合、数据泄漏,或只会说 Attention/Transformer 名词却讲不出数据流。