自回归与扩散,可以在同一张图里合作
前面把自回归与扩散分开讲,是为了看清各自组织生成的方式,并不意味着一个系统只能选一个标签。现在一张图已经有若干已知区域,另一些区域待补。外层先决定本轮生成哪个位置或哪组位置;这一步组织的是依赖关系与生成次序。
对当前黄色位置,内层再回答“给这里什么值”。这个值可以是一段连续视觉表示,由一个小型扩散过程在已知内容的条件下逐步生成。内层结束后,把结果写回原来的位置;它从未知变为已知,下一轮便可以用它作为条件。右侧局部的起点、中间态和终点始终属于同一位置,不是在图中换了三个不同区域。
“内层用了扩散,外层还算自回归吗?” 可以,因为两者负责不同层次。外层利用已经确定的内容,组织尚未确定部分的条件生成;内层表达当前连续变量的条件分布。自回归不必限定成“每次在离散词表里挑一个整数”,也不必总按从左到右的顺序逐个像素推进。
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节与模型图
