生成模型

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

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

生成模型

左右滑动查看完整图解 ↔

放大阅读图解 ↗

本讲目录

封面与60页正文

开篇:从任务到可能性

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

GAN:反馈、约束与编辑

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

World Model、语言与全课回收

本页说明

学习材料

怎样把局部答案接成一次生成?

上一页说明,一次局部预测不等于一张最终图片。完整生成还需要一个循环:当前状态与时刻进入预测器,预测器给出更新所需的信息,采样规则据此计算下一状态,再把新状态送回同一个预测器。参数通常不在这次生成中继续训练;改变的是输入状态和时刻。

以噪声预测为例,网络输出“这里有多少像扰动的成分”之后,仍需要结合当前状态、噪声日程和目标时刻,才能算出下一张状态图。若改为预测干净图或速度,也需要相应转换与更新。把网络输出直接保存成图片,可能只是保存了一张预测噪声图,而没有执行采样。

当前状态同一预测器局部方向更新规则下一状态用新状态,再调用先预测,再按规则更新
预测提供调整信息,更新规则算出新状态;新状态再次进入同一个预测器。

更新规则还决定跨多远以及是否加入新扰动。随机过程可以在初始噪声之外,继续注入逐步随机项;确定性过程则可在给定起点后沿固定规则推进。二者都可能反复调用相同参数的网络。“没有每步新噪声”不等于没有随机生成,因为不同的起始样本仍可产生不同结果。不过,直接从某个DDPM更新公式删掉随机项,已经改变了过程;它不会自动成为具有同样阶段分布的确定性路线。

学生问:“第一步已经知道往哪改,后面把这个方向一直用下去不就行了?” 不够。预测是针对当时那个状态作出的;更新以后,有些轮廓更清楚,另一些歧义可能被消除,适合下一步的方向也会变化。像走一条弯路,只在出发时问一次方向并不能保证后面都沿对的方向走。

在另一些表述中,预测对象与 score 联系起来。这里 score 是当前噪声等级下,对数概率密度随状态变化的局部方向;它不是给整张图片打的“审美分数”,更不是这张图为真的概率。把这个局部量接入随机或确定的动态规则,才成为生成路径的一部分。

训练通常随机抽取各阶段的问题,让网络练习局部能力;采样则必须把这些能力串成完整过程。所以训练某道题的误差较小,并未直接测出一整条生成路径的质量。下一页从这个回路数成本:有几张状态图、走了几步、调用了几次网络,是不是同一个数?

画面怎样推进

第1步

当前状态的预测与计算下一状态的更新规则是两项职责。

打开这一停点

第2步

更新后的状态与时刻送回同一个参数固定的预测器,再作下一次判断。

打开这一停点

第3步

是否继续加入随机扰动属于采样规则;起始随机性与逐步随机项需要分开。

打开这一停点

学习材料

与当前画面直接相关

网络预测完噪声,下一状态由谁计算?

沿用xₜ=1.3、信号振幅0.8、噪声振幅0.6与预测ε̂=−0.3,先算得干净估计x̂₀=1.85。若下一阶段信号振幅为0.9、噪声振幅为√0.19,确定性DDIM形式给出xₛ=0.9×1.85+√0.19×(−0.3)≈1.5342。这是状态更新,不是把噪声预测本身当作图像。

下一次再用1.5342与新时间调用相同网络;通常模型权重不变,变化的是样本状态。采样器还规定时间点和是否注入新随机项。直接从随机更新中删掉噪声,会改变算法,不能自动得到保持相同分布的确定性路线。

接着读:采样器与预测器的责任及LAB09使用的确定性更新。

连续阅读

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

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

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

阅读与实践

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

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

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

在 Deepnote 阅读与运行

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

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

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

在 Deepnote 阅读与运行

相关材料

LAB 05|条件均值、噪声预测与流积分

观察每次更新后为什么要重新计算速度,检查模型预测量和积分方向各自的职责。

先看:第3节“Flow:回归的目标与采样的方向”

来源与进一步阅读

Diffusion Models

对照训练与采样算法,标出参数更新与状态更新发生在不同阶段。

先看:第59–65页