生成模型

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

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

生成模型

左右滑动查看完整图解 ↔

放大阅读图解 ↗

本讲目录

封面与60页正文

开篇:从任务到可能性

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

GAN:反馈、约束与编辑

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

World Model、语言与全课回收

本页说明

学习材料

图像也能接龙:先缩短表示,再学会组合

图像也可以按顺序生成。先有一部分颜色或图块,再在已生成部分的条件下确定下一部分;自回归没有规定输出一定是文字。困难在于,高分辨率图像包含很多位置,逐个处理会形成很长的序列。

一种办法是先学习更紧凑的视觉表示:编码器把图像变成较短的表示,解码器再把表示展开成图像。自回归模型随后学习这些表示怎样组合,生成新的表示序列,再交给解码器。这里其实有两项学习任务:怎样压缩并还原,怎样构造新的合理组合。

重建:从原图编码,再把表示解码原图编码器紧凑表示解码器重建细纹变粗压缩损失:只比较原图与它的重建
原图先经编码器取得紧凑表示,再由解码器重建;原图与其重建之间才能比较压缩损失。

画面用同一杯子分开检查两种错误。第一项从原图出发,经编码、解码回到重建图;若细纹在这条往返路径里已经变粗,就说明表示环节没有保住这些细节。第二项没有先编码原图,而是由生成器提供新表示;若新的组合把杯柄接断,错误发生在新组合的结构上,不能直接归给前一项压缩损失。图里的小网格用短线把相邻表示的连接关系画出来,错位在解码之前已经可见;右侧照片展示对应的断柄错误类型。这是一种关系示意,并不是说真实模型的每个潜变量都能直接读成一段杯柄。

生成:先提出新表示,再由同一解码器展开表示生成器新表示:相邻块不相容错位已出现在解码之前同一解码器解码后的新组合杯柄连接断开网格说明表示的关系;照片展示对应错误类型
新表示中的相邻连接先已错位,同一解码器将对应错误展开为断柄;网格说明关系,照片展示错误类型。

“解码器能把每个局部都画出来,为什么还会断柄?” 因为相邻部件还要在边界上接合。能解码某一块,不代表任意两块都相容。这个问题与鞋例相通,只是约束从同色变成了图块之间的连接关系。生成表示的模型仍须学习这些关系。

压缩也不是无代价的加速。已经从表示里丢失的文字笔画或纹理,后面即使能补出自然细节,也不能保证那就是原图真实细节。因此,评价一套系统时,先检查重建保留了什么,再检查新表示是否合理,最后检查端到端任务;这样才能知道应改哪个环节。

视觉 token 也不必理解为照片里天然存在的单词;它是人为选择或学习得到的表示单元。N19 会解释离散编号如何查回表示,后面还会看到不先量化成离散编号的生成路线。

先回到文字:除了新部分彼此接得上,生成内容还必须接住原任务。下一页看一句很顺却违背照片的描述。

画面怎样推进

第1步

图像也能按位置接续,长序列使生成组织与成本成为问题。

打开这一停点

第2步

原图编码再解码后的细纹损失属于压缩与表示路径。

打开这一停点

第3步

新表示在解码后出现杯柄断接,是新组合的结构问题,不能与原图重建损失混同。

打开这一停点

学习材料

与当前画面直接相关

缩短图像序列后,剩下哪两项学习任务?

先声明一个假想表示:32×32 的 RGB 图若逐八位颜色通道生成,共需 3,072 个位置;若被压成 8×8 潜网格、每个位置一个代码,外层序列只有 64 项。数量减少来自表示选择,不能据此直接宣称像素细节保持不变或端到端速度提升了多少。

先检查原图→编码→解码:若杯身细纹已丢失,问题在表示往返。再检查新代码→解码:若杯柄接断,可能是代码之间的新组合不相容。自检:每个局部代码都合法,能否保证整张图合法?不能;相邻边界和整体布局仍要由代码联合先验学习,压缩器与生成器承担不同任务。

继续读:视觉表示与代码先验的两条路径

连续阅读

CLS 02 · 自回归:学习条件与产生序列

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

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

阅读与实践

LAB 01 · 自回归:联合概率、贪心与温度

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

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

在 Deepnote 阅读与运行

来源与进一步阅读

Autoregressive Models

追踪图像、紧凑表示和新生成序列的接口,分别定位表示丢失与组合错误。

先看:第17–19页与58–65页:图像与生成单元

Variational Autoencoder

看表示学习怎样服务另一套生成过程,不把重建成功当成新组合已经合理。

先看:第75–81页:视觉表示与生成