OpenAI研究 DALL·E:从文本创建图像
我们已经训练了一个名为 DALL·E 的神经网络,它可以根据文本标题为可以用自然语言表达的各种概念创建图像。
DALL·E 是GPT-3的 120 亿参数版本, 经过训练可使用文本-图像对数据集从文本描述生成图像。我们发现它具有多种功能,包括创建动物和物体的拟人化版本、以合理的方式组合不相关的概念、渲染文本以及对现有图像应用转换。
另请参阅: DALL·E 2,它生成更逼真和准确的图像,分辨率提高了 4 倍。




















GPT-3 表明语言可用于指示大型神经网络执行各种文本生成任务。 Image GPT 表明,同样类型的神经网络也可以用来生成高保真度的图像。我们扩展了这些发现,以表明通过语言操纵视觉概念现在已经触手可及。
概述
和GPT-3一样,DALL·E是transformer语言模型。它接收文本和图像作为包含多达 1280 个标记的单个数据流,并使用最大似然法进行训练以生成所有标记,一个接一个。A[A]
标记是离散词汇表中的任何符号;对于人类来说,每个英文字母都是 26 个字母表中的一个标记。DALL·E 的词汇表既有文本概念也有图像概念。具体来说,每个图像说明使用最多 256 个 BPE 编码的标记表示,词汇量为 16384,图像使用 1024 个标记表示,词汇量为 8192。
图像在训练期间被预处理为 256x256 分辨率。类似于 VQVAE,1、2个 使用离散 VAE 将每个图像压缩为 32x32 离散潜代码网格3、4个 我们使用连续放松进行了预训练。5、6个 我们发现使用松弛的训练避免了对显式代码本、EMA 损失或死代码恢复等技巧的需要,并且可以扩展到大词汇量。
这个训练过程让 DALL·E 不仅可以从头开始生成图像,还可以以与文本提示一致的方式重新生成现有图像延伸到右下角的任何矩形区域。
我们认识到涉及生成模型的工作有可能产生重大而广泛的社会影响。未来,我们计划分析像 DALL·E 这样的模型如何与社会问题相关,例如对某些工作流程和职业的经济影响、模型输出的潜在偏差,以及该技术隐含的长期道德挑战。
能力
我们发现 DALL·E 能够为探索语言组成结构的各种句子创建似是而非的图像。我们将在下一节中使用一系列交互式视觉效果来说明这一点。视觉效果中每个标题显示的样本是在使用CLIP重新排名后从 512 个样本中选取前 32 个样本获得的 ,但除了出现在外部的缩略图和独立图像之外,我们不使用任何手动挑选。乙[乙]
后面的部分提供了更多详细信息 。
控制属性
我们测试 DALL·E 修改一个对象的几个属性的能力,以及它出现的次数。
单击以编辑文本提示或查看更多 AI 生成的图像
绘制多个对象
同时控制多个对象、它们的属性和它们的空间关系提出了新的挑战。例如,考虑一下短语“a hedgehog wearing a red hat, yellow gloves, blue shirt, and and green pants”。为了正确解释这句话,DALL·E 不仅要正确地将每件衣服与动物组合在一起,还要形成联想(帽子,红色),(手套,黄色),(衬衫,蓝色)和(裤子,绿色) ) 而不会混淆它们C[C]
此任务称为变量绑定,并已在文献中进行了广泛研究。7、8、9 ,10
我们测试 DALL·E 在相对定位、堆叠对象和控制多个属性方面的能力。
虽然 DALL·E 确实提供了对少量对象的属性和位置的某种程度的可控性,但成功率可能取决于标题的措辞方式。随着引入的对象越来越多,DALL·E 容易混淆对象与其颜色之间的关联,成功率急剧下降。我们还注意到,在这些场景中,DALL·E 在重新措辞字幕方面很脆弱:备选的、语义等价的字幕通常不会产生正确的解释。
可视化透视和三维度
我们发现 DALL·E 还允许控制场景的视点和渲染场景的 3D 风格。
为了进一步推动这一点,我们测试了 DALL·E 从一系列等距角度的每个角度重复绘制知名人物头部的能力,并发现我们可以恢复旋转头部的平滑动画。
DALL·E 似乎能够对场景应用某些类型的光学失真,正如我们在“鱼眼镜头视图”和“球形全景”选项中看到的那样。这促使我们探索它产生反射的能力。
可视化内部和外部结构
“极近特写”和“x光”风格的样本让我们进一步探索了DALL·E用截面图渲染内部结构,用宏观照片渲染外部结构的能力。
推断上下文细节
将文本翻译成图像的任务是未指定的:单个标题通常对应于无限的似是而非的图像,因此图像不是唯一确定的。例如,考虑标题“日出时坐在田野上的水豚画”。根据水豚的方向,可能需要绘制阴影,但从未明确提及此细节。我们在三种情况下探索 DALL·E 解决规格不足的能力:改变风格、设置和时间;在各种不同的情况下绘制相同的对象;并生成上面写有特定文本的对象的图像。
凭借不同程度的可靠性,DALL·E 通过自然语言提供对 3D 渲染引擎功能子集的访问。它可以独立控制少量对象的属性,并在有限的范围内控制对象的数量,以及它们之间的排列方式。它还可以控制渲染场景的位置和角度,并可以根据角度和照明条件的精确规范生成已知对象。
与 3D 渲染引擎不同,其输入必须明确且完整地指定,当标题暗示图像必须包含未明确说明的特定细节时,DALL·E 通常能够“填补空白”。