Aditya Ramesh讲DALL·E 2基本原理 原创

发布于 2024-6-18 12:37
浏览
0收藏

DALL·E 2是由Aditya Ramesh和OpenAI的合著者们开发的一种文本到图像生成系统。当系统接收到一个标题时,它会尝试从头开始生成一幅与之匹配的新颖图像。它还具备以下额外功能:

  • 修复:使用语言对图像进行编辑;
  • 变异(图1):生成新图像,这些图像与给定参考图像具有相同的本质,但在细节的组合方式上有所不同;
  • 文本差异(图4):使用语言转换图像的任何方面。

Aditya Ramesh讲DALL·E 2基本原理 -AI.x社区

图1:雷·潘在黑板涂鸦上的DALL·E 2变异。中间是原始涂鸦,周围显示生成的变异。

DALL·E 2的工作原理是基于两种关键技术:CLIP和扩散。CLIP是一种模型,通过自然语言监督有效地学习视觉概念。它由文本编码器和图像编码器组成,通过在大量不同的图像-文本对上进行训练,将输入映射到共享的概念空间。训练过程中,CLIP接收一组图像列表和相应的描述,形成匹配对和不匹配对。编码器的训练目标是将匹配对映射到相近的点,将不匹配对映射到较远的点。这样的训练目标鼓励CLIP学习关于图像的各种特征,比如对象、风格、颜色等。

扩散模型用于生成新图像。它是一种通过逐步撤销一系列固定程度的损坏步骤来逐渐完善生成图像的技术。扩散模型允许生成具有广泛视觉概念的高质量图像。

总之,DALL·E 2将CLIP学习从文本中获取视觉概念的能力与扩散模型生成多样化且高质量图像的能力相结合。

DALL·E 2的基础系统称为unCLIP,它基于两项关键技术:CLIP和扩散。正如博客中所述,CLIP是一种“通过自然语言监督有效地学习视觉概念”的模型。扩散是一种通过学习逆转一系列固定损坏步骤的生成模型的技术。接下来讲简要描述这两种技术。

Aditya Ramesh讲DALL·E 2基本原理 -AI.x社区

图2:对CLIP的对比训练目标进行说明。在每个训练步骤中,CLIP接收到N=32,786个图像及其对应的标题。从中,形成了N个匹配的图像-标题对(对应于图示中矩阵的对角元素),以及N(N−1)个不匹配的标题和图像对(对应于图示中非对角元素)。

CLIP由两个神经网络组成——文本编码器和图像编码器,它们在大量多样化的图像-文本对上进行训练。每个编码器将其输入映射到一个球体上的一个点(称为嵌入),该球体作为两种模态共享的“概念空间”。在每个训练步骤中,CLIP接收到一组图像和相应的描述它们的标题。利用这些数据,可以形成两种类型的图像-文本对:匹配对,其中图像与其对应的标题配对,以及不匹配对,其中图像与任何其他标题配对。编码器被训练以将匹配对映射到球体上的相邻点,而将不匹配对映射到较远的点。

这个简单的训练目标在机器学习中被称为“对比训练”。它鼓励CLIP学习关于人们在网上可能写的图像的所有特征。这些特征包括物体的存在、审美风格、使用的颜色和材料等。相比之下,CLIP通常不被激励去保留关于物体的相对位置或哪些属性适用于哪些物体的信息。因此,CLIP很难区分一个红色立方体放在蓝色立方体上的图像与两个物体位置交换的另一个图像。原因在于CLIP训练目标的性质:CLIP只被激励学习图像的特征,以使其能够与正确的标题(而不是列表中的其他标题)匹配。除非它收到一个反例(即提到蓝色立方体放在红色立方体上的标题),否则CLIP不会学习保留关于物体相对位置的信息。

扩散模型通过学习逆转一系列固定损坏步骤来训练。损坏过程的每个步骤向图像中添加一小部分噪音(具体来说是高斯噪音),从而擦除其中的一些信息。经过最后一步,图像变得与纯噪音无法区分。扩散模型经过训练以逆转这个过程,并通过这样做学会在每个步骤中重新生成可能被擦除的内容。为了从头开始生成图像,从纯噪音开始,并假设它是应用于真实图像的损坏过程的最终结果。然后,重复应用模型来逆转这个假设的损坏过程的每一步。这逐渐使图像变得越来越真实,最终生成一个原始、无噪音的图像。

DALL·E 2以两个阶段的过程生成图像,首先生成图像的“概要”,然后填充剩余的细节以获得逼真的图像。在第一阶段,称为prior的模型从给定的标题生成CLIP图像嵌入(用于描述图像的“概要”)。有人可能会问为什么需要这个prior模型:既然CLIP文本编码器训练得到的输出与图像编码器相匹配,为什么不使用文本编码器的输出作为图像的“概要”?答案是一个给定标题可能与无数个图像一致,因此这两个编码器的输出不会完全一致。因此,需要一个单独的prior模型来“翻译”文本嵌入,使其能够与之相匹配的图像嵌入。在第二阶段称为unCLIP的扩散模型从这个嵌入中生成图像本身。在训练的每个步骤中,unCLIP接收到待重构的图像的损坏版本,以及干净图像的CLIP图像嵌入。这个模型被称为unCLIP,因为它有效地逆转了CLIP图像编码器所学到的映射。由于unCLIP训练以“填充细节”以产生逼真图像的方式,它将学会建模所有CLIP认为与其训练目标无关且因此丢弃的信息。

Aditya Ramesh讲DALL·E 2基本原理 -AI.x社区

图3:Alex Nichol创建的用于生成具有扩散模型的新图像的过程的示意图。

有几个原因使得使用这种两阶段采样过程具有优势,在这里讨论其中的两个。论文进一步讨论了两阶段采样过程的其他优点。首先可以优先模拟使图像对人类有意义的高级语义,而不是其他细节。图像包含了大量信息,其中大部分用于描述细微的、难以察觉的细节。只有其中相对较少的一部分信息对于使图像在视觉上连贯且有意义至关重要,而CLIP图像嵌入捕捉了其中很多信息。直接在CLIP图像嵌入上训练模型能够首先专注于模拟这些显著特征,然后再在第二阶段填充细节,以合成逼真的图像。

Aditya Ramesh讲DALL·E 2基本原理 -AI.x社区

图4:使用文本差异动画将维多利亚式房屋转变为现代房屋。转变由标题“维多利亚式房屋”和“现代房屋”决定,前者描述了房屋的建筑风格,后者描述了房屋的建筑风格应如何改变。

第二个原因是CLIP的多模态嵌入空间能够使用一种称为文本差异的技术对图像应用“前后”转换。在2013年,word2vec展示了可以获得一个对文本进行向量计算可解释的“概念空间”。例如,word2vec将词语“queen”映射到与计算“woman” + “king” - “man”结果接近的位置,这使得可以完成类似于标准化测试中遇到的类比问题。CLIP进一步扩展了这一点,允许在文本和图像上进行算术运算,例如

(维多利亚式房屋的图像)+“现代房屋”-“维多利亚式房屋”。

使用unCLIP,可以将CLIP概念空间中的点转化回图像,并在将图像的嵌入沿着“前”标题(“维多利亚式房屋”)和“后”标题(“现代房屋”)指定的方向移动时,对正在发生的变化进行视觉检查。动画展示了这个轨迹,并提供了直观上期待的证据,即开始的维多利亚式房屋图像确实正在被“现代化”。当然,文本差异不仅限于建筑:转换可以是任何可以用语言表达的“前后”的概念,这使得它成为一种多功能且强大的工具。

译自(有删改):http://adityaramesh.com/posts/dalle2/dalle2.html


本文转载自公众号AIGC最前线   

原文链接:​​https://mp.weixin.qq.com/s/EOqQ2XiA05GDSCh3KbyBmw​


©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
收藏
回复
举报
回复
相关推荐