DALL·E: 从文本创建图像
OpenAI 宣布了 DALL·E,这是一个能够从自然语言描述中生成原创图像的神经网络。通过利用拥有 120 亿参数的 transformer 架构,DALL·E 可以合成复杂的场景、结合不相关的概念,并进行零样本视觉推理。
架构与技术方法
DALL·E 是一个仅解码器(decoder-only)的 transformer 语言模型,它将文本和图像作为单一的数据流进行处理。该模型使用极大似然法进行训练,以自回归方式生成 token。
Tokenization 与数据流
- 输入/输出流: 模型在每个序列中处理总计 1,280 个 token,包括用于文本提示的 256 个 token 和用于图像的 1,024 个 token。
- 词汇表: 文本使用 BPE 编码的 token 表示,词汇表大小为 16,384。图像通过预训练的离散 VAE 压缩成 32x32 的离散潜码(latent codes)网格,从而得到 8,192 的词汇表大小。
- 注意力机制: 模型具有 64 层自注意力层。图像 token 可以关注所有文本 token,而文本 token 使用标准的因果掩码(causal mask)。图像 token 根据层级不同,采用稀疏注意力模式(行、列或卷积)。
图像生成与优化
DALL·E 可以从头开始生成图像,也可以重新生成现有图像的矩形区域(延伸至右下角)以保持与文本提示的一致性。为了在演示中提高输出质量,OpenAI 在离线状态下使用 CLIP 对 512 个生成的样本中的前 32 个进行了重新排序。
核心能力
DALL·E 展示了一系列多样化的能力,使其能够通过语言操纵视觉概念。
组合控制与属性
- 属性修改: 模型可以修改物体的属性以及物体在场景中出现的次数。
- 多物体: DALL·E 可以管理多个物体、它们的属性以及空间关系(例如,“一只戴着红帽子、黄色手套、蓝色衬衫和绿色裤子的刺猬”)。然而,随着引入的物体增多,性能会下降,且当描述词被重新措辞时,模型可能会表现得不够稳定。
透视与结构
- 观点控制: DALL·E 可以控制场景的视角和 3D 渲染风格,包括通过在等间距的角度绘制图形来生成旋转头部的平滑动画的能力。
- 光学畸变: 模型可以应用诸如“鱼眼镜头视图”和“球面全景”之类的效果。
- 内部与外部细节: 模型可以通过横截面视图渲染内部结构,并通过宏观摄影和“X 射线”风格渲染外部结构。
上下文推理
与需要明确规范的 3D 渲染引擎不同,DALL·E 可以为描述不足的提示词“填补空白”。例如,如果提示词描述了日出时分田野里的水豚,即使没有明确提到阴影,它也可以推断出需要阴影。
高级推理与知识
零样本视觉推理
DALL·E 展现出了一种涌现的零样本推理能力,使其能够在没有针对这些任务进行特定训练的情况下执行图像到图像的转换任务。这种能力在训练过程中并未被显式鼓励。
世界知识
- 地理知识: 模型学习了关于地标和社区的知识,尽管其精确度有所不同。
- 时间知识: DALL·E 可以表示随时间变化的各种概念。
概念合成
- 拟人化: 模型可以创建动物和物体的拟人化版本。
- 概念组合: DALL·E 可以通过结合不同的想法来合成物体,例如根据不相关的概念设计产品(例如,一个鳄梨形状的扶手椅)。