生成模型

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

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

生成模型

左右滑动查看完整图解 ↔

放大阅读图解 ↗

本讲目录

封面与60页正文

开篇:从任务到可能性

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

GAN:反馈、约束与编辑

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

World Model、语言与全课回收

本页说明

学习材料

自回归与扩散,可以在同一张图里合作

前面把自回归与扩散分开讲,是为了看清各自组织生成的方式,并不意味着一个系统只能选一个标签。现在一张图已经有若干已知区域,另一些区域待补。外层先决定本轮生成哪个位置或哪组位置;这一步组织的是依赖关系与生成次序。

对当前黄色位置,内层再回答“给这里什么值”。这个值可以是一段连续视觉表示,由一个小型扩散过程在已知内容的条件下逐步生成。内层结束后,把结果写回原来的位置;它从未知变为已知,下一轮便可以用它作为条件。右侧局部的起点、中间态和终点始终属于同一位置,不是在图中换了三个不同区域。

外层:选择待补位置已知块保留内层:生成同一裁区起点中间终点写回同一位置当前表示→模型预测→更新规则→下一状态外层位置 · 内层取值
内层生成的终点写回同一待补位置,成为外层下一轮的已知条件。

“内层用了扩散,外层还算自回归吗?” 可以,因为两者负责不同层次。外层利用已经确定的内容,组织尚未确定部分的条件生成;内层表达当前连续变量的条件分布。自回归不必限定成“每次在离散词表里挑一个整数”,也不必总按从左到右的顺序逐个像素推进。

MAR 所属的 Autoregressive Image Generation without Vector Quantization 研究,用 diffusion loss 建模连续 token 的条件分布,并探索生成次序。它让“外层如何分解联合生成”和“每个条件分布怎样表达”成为可以分别选择的部件。课堂用一个区域突出分工,并不规定真实系统每轮只能补一块。

“既然内层很强,外层次序就不重要了吧?” 仍重要。当前块能够利用哪些上下文,由外层的已知集合决定;已经写回的结果也会影响后续。若先前内容出了错,内层面对的就是带偏差的条件。另一方面,内层要调用多少次也会进入总成本,不能只数外层轮数就判断系统快慢。

这把我们带到编辑任务的关键边界:新生成的一块不只要自己像,还要与整张图接得上。下一页继续问:哪里允许改变,哪里必须保持?

同一生成循环,本页改变外层位置 · 内层取值

当前表示 → 模型预测 → 更新规则 → 下一状态 外层位置 · 内层取值

画面怎样推进

第1步

外层根据已知集合决定本轮待补位置,组织生成依赖。

打开这一停点

第2步

内层扩散为同一位置的连续表示取值,仍以外层提供的内容为条件。

打开这一停点

第3步

生成结果写回原位置并成为已知内容,供下一轮使用。

打开这一停点

学习材料

与当前画面直接相关

同一位置里用了扩散,外层还可以自回归吗?

设图中位置1和3已知,位置2待填。外层把已知内容作为条件;内层从噪声开始,连续几次更新位置2的视觉表示,结束后再写回位置2。内层的起点、中间态、终点都属于同一个位置,不能看成又生成了三个新位置。

MAR展示了这种分工:外层组织哪些内容可见与如何接续,内层表达当前连续token的条件分布。若一个简单计划有K轮、每轮内层N次预测,总量就含K×N份工作;真实系统还要计算批量和分组策略。强内层不会取消外层条件中的错误与成本。

接着读:外层依赖与内层分布的合作。

连续阅读

CLS 05 · 扩散:训练、采样与少步生成

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

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

阅读与实践

LAB 09 · 学得去噪器与完整采样

固定初始噪声,仅改采样步数;把网络近似误差与数值步进误差分开。

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

在 Deepnote 阅读与运行

LAB 05 · 扩散的条件均值与流积分

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

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

在 Deepnote 阅读与运行

来源与进一步阅读

Autoregressive Image Generation without Vector Quantization

查连续token的diffusion loss怎样接进外层生成关系,区分取值方式、生成次序与总调用成本。

先看:第3节与模型图