生成模型

一个要求,怎样产生多个合理结果?

一个器形镂空模版展开为三个不同的完整器物,蓝色结构由金色纸带连接。

生成模型

左右滑动查看完整图解 ↔

放大阅读图解 ↗

本讲目录

封面与60页正文

开篇:从任务到可能性

自回归与VAE:逐步决定与潜表示

GAN:反馈、约束与编辑

扩散及延展:从局部改进到跨段生成

World Model、语言与全课回收

本页说明

学习材料

同一个潜空间,支持重建、插值与采样

潜表示首先提供了可操作的生成入口:编码一张图再解码是重建;沿两个表示之间移动并解码是插值;从约定分布抽取起点再解码是采样。三种操作用同一个解码器,却分别观察输入信息、局部路径与采样覆盖。本页椅子是教学示意,具体曲线与量值到LAB02观察。 两把椅子的表示之间,可以选一条路径,逐次观察输出是否平滑变化。图中的三张椅图是在说明这种展示方式,不是已经测得的连续插值轨迹。若一次真实演示确实平滑,它的价值在于:它说明这条特定路径上的表示能被解码,也展示了沿途哪些属性发生变化。但它没有走到的地方,仍然没有被检查。

重建、插值和随机生成对应不同问题。重建从一张已知图像的编码出发,检查输入信息是否保住;插值沿人为选定的路径走,检查这条路径上的连续变化;先验采样按事先规定的分布抽新起点,检查生成入口实际会遇到哪些成功与失败。前两项漂亮,不能代替第三项。

因此,应在看输出之前约定起点怎么选,并保留所有结果,而不是先生成很多、再挑最好看的六张。眼前的六个位置是在解释这种检查方法,不是某个真实模型的性能统计。真正评价还要交代样本数量、任务条件和失败标准;有限抽样同样没有穷尽整个空间。

编码得到一个起点采样:从约定的分布取新起点结果 1结果 2结果 3结果 4结果 5结果 6
先定起点选择办法,再保存所有结果;不能用挑出的漂亮路径代表生成入口。

另一个问题更容易被结构图遮住:模型真的使用了潜变量吗?固定其他输入,只替换、打乱或固定潜变量,再看输出中的任务相关属性是否跟着改变。一个很强的解码器可能从其他条件完成大部分工作,即使架构里画着潜变量,实际依赖也很弱。

编码得到一个起点只换潜变量有变化几乎不变同一个解码器,输入变化应进入输出
固定其他条件而改变潜变量,再检查任务相关变化,才能追问模型是否依赖这条信息通道。

“换了潜变量,图像有几个像素变了,算不算用了?” 要看任务想保留或控制什么。若希望改变椅型,只抖动几个噪点没有回答这项要求;若输出几乎不变,也不能立刻认定变量完全无效,还需检查替换范围、其他条件是否已固定结果,以及解码是否有多对一关系。

有效的解释应能接受这样的干预,而不只是给某个模块命名。下一页把连续潜变量换成离散地址,进一步分清变量的编号与真正送入解码器的内容。

画面怎样推进

第1步

输入可以被编码为一个表示;沿表示空间中的路径改变起点,再用同一解码器得到一串结果,这提供了插值与连续变化的观察入口。一条手选路径只说明走过的区域,不能代表整个空间。

打开这一停点

第2步

生成时可以从约定的分布取得新起点,再交给同一解码器产生候选。预先约定采样办法并保留全部结果,才能检查这个生成入口实际覆盖哪些变化、出现哪些失败。

打开这一停点

第3步

固定解码器和其他条件,只改变潜变量,观察输出是否出现任务相关变化;这检查解码器有没有利用该变化。几乎不变值得进一步检查,像素变化也不自动等于有用信息。

打开这一停点

学习材料

与当前画面直接相关

同一解码器,三种操作分别检验什么?

拿 LAB07 的测试数字作具体对象。重建把一张数字 x 编码为 μ(x),再显示 decoder(μ);后验抽样仍固定这张 x,但改变 ε,由 q(z|x) 得到不同 z。两者都借助真实输入,不是无输入生成,decoder(μ) 也不等于所有后验输出的平均。

插值先编码数字 3 与 8,指定 z(α)=(1−α)μ₃+αμ₈,再显示 11 个位置的结果。中点是潜向量的中点,未必等于两张输出图片逐像素平均;平滑只说明这条路径上的响应。先验采样则取消端点输入,用预先固定的 25 个标准正态 z;保存图展示其中前十个,包含模糊和重复。

自检:清晰重建加平滑插值,是否证明先验入口好用?不能,两项展示都从输入图得到起点。先比较初始化与训练后的同输入、同先验起点,再读失败样本。还应分清解码器输出的灰度图是 Bernoulli 概率,按它逐像素再抽 0/1 才是完整观测;原始数据灰度与二值训练输入是另外两行。均匀潜网格也不是高斯采样。

继续读:四种潜空间展示的输入来源 · LAB07:操作与结果对照

连续阅读

CLS 03 · 潜变量:从重建到生成

按连续正文理解这条方法的训练信号、使用过程与算例;数学与实践在相关问题旁展开。

先看:第3章,从对象和问题开始

阅读与实践

LAB 07 · 图像 VAE:重建与可用起点

先比较原图与重建,再看同一先验起点。只改变 KL 权重,读取重建与编码区域的权衡。

先看:先看保存结果与读图解释

在 Deepnote 阅读与运行

LAB 02 · VAE:ELBO 缺口与重参数化

先读本册保存结果,再按实现顺序核对一个算例;最后只改一个变量。

先看:先看保存结果与读图解释

在 Deepnote 阅读与运行

来源与进一步阅读

Variational Autoencoder

把展示分成重建、选定插值和先验采样三类,再为“任务使用了潜变量”提出一次可反驳的干预。

先看:第32–48页:重建与生成;回看第23–31页的潜变量关系