第十九章 DALL-E2(文生图)
输入一句文本,输出一张图。数据仍是图文对。方法叫 unCLIP:CLIP 已经把图和字对齐;先验把「文本嵌入」译成「图像嵌入」;解码器是条件扩散,把图像嵌入还原成像素。
- 一CLIP 文本编码器:句子 → 文本嵌入。
- 二先验 Prior:文本嵌入 → CLIP 图像嵌入。
- 三解码器:图像嵌入当条件,从噪声出图。
- 四不直接拿文本嵌入当条件,先译到图像空间更稳。
书 §19 · 图 19.1–19.4 · p.337–340
19.1–19.2 先验模型
图 19.1 是整图。图 19.2–19.4:先验在训练时看见 CLIP 文本嵌入,目标是对应那张图的 CLIP 图像嵌入;推理时只有文本,先验生成「可能的」图像嵌入。实现可以是扩散,也可以是自回归 Transformer。
为什么多这一跳?CLIP 文本空间和图像空间对齐,但不是同一点。先验学会「这句话在图像那边大概落在哪」,解码器再专管像素。
图 19.5 还对比线性 / 余弦方差调度——那是扩散训练的旋钮,和上一章同一类。
书 §19.1–19.2 · 图 19.1–19.5 · p.338–341
四段流水线
点一段。再点「生成一步」看示意格子从噪声变成简单图形。
这不是真的 DALL-E 2。只为把「文本 → 图像嵌入 → 像素」按在手上。
接下节。解码器内部仍是残差块、注意力、下采样上采样。图 19.6–19.9。
19.3 条件扩散解码器
U-Net 里的残差块(图 19.7)、注意力块(图 19.8)、下采样与上采样,和第十、十六章见过的积木同类。训练:图像加噪,网络预测噪声,条件是先验给出的 CLIP 图像嵌入。图 19.9。损失仍是噪声的 MSE。
书后半是实现与训练配置、结果图 19.10。讲解页不把几百行代码搬过来。记住:文生图 = CLIP 对齐 + 先验翻译 + 条件扩散。
书 §19.3–19.6 · 图 19.6–19.10 · p.352–377
下一章。把 ViT、CLIP、ClipCap、扩散收成一张地图。
合上这一章
- unCLIP。文本嵌入不直接当像素条件。
- 先验译到 CLIP 图像空间。
- 解码器是条件扩散。
章末自测
讲完了。下面几题核对本讲刚说过的概念。点选立刻看对错;做错也不会锁下一章。