译者 | 布加迪
审校 | 重楼
本文介绍了最流行的图像生成模型架构之一的技术层面。
近年来,生成式AI模型已成为一颗冉冉升起的新星,尤其是随着ChatGPT等大语言模型(LLM)产品闪亮登场。这类模型使用人类能够理解的自然语言,可以处理输入,并提供合适的输出。由于ChatGPT等产品的出现,其他形式的生成式AI也变得流行并成为主流。
由于能够完全借助自然语言输入生成图像,DALL-E和Midjourney等产品在生成式AI热潮中大受欢迎。这些热门产品并非凭空生成图像,相反它们依赖一种名为扩散模型(diffusion model)的模型。
我们在本文中将揭开扩散模型的神秘面纱,以深入了解其背后的技术。我们将讨论基本概念、模型的工作原理以及训练方法。
扩散模型的基础知识
扩散模型是一类属于生成式模型的AI算法,旨在根据训练数据生成新数据。以扩散模型为例,这意味着它们可以根据给定的输入创建新的图像。
然而,扩散模型生成图像的过程有别于通常的方法:模型在数据中添加噪声(干扰信息),然后去除噪声。简单来说,扩散模型修改图像,然后对其进行完善以生成最终产品。你可以将该模型视为去噪模型,因为它会学习去除图像中的噪声。
扩散模型最早正式出现在Sohl-Dickstein等人撰写的2015年论文《使用非平衡热力学的深度无监督学习》中。该论文引入了这样一个概念:使用一种名为受控正向扩散的过程,将数据转换成噪声,然后训练模型来逆转该过程,重新构建数据,这就是去噪过程。
在此基础上,Ho等人撰写的2020年论文《去噪扩散概率模型》引入了现代扩散框架,该框架可以生成高质量图像,其性能优于之前的流行模型,比如生成式对抗网络(GAN)。一般来说,扩散模型包含两个关键阶段:
- 正向(扩散)过程:通过逐步添加噪声来污染数据,直到其与随机静态图像难以区分。
- 反向(去噪)过程:训练神经网络以迭代去除噪声,学习如何从完全随机的数据中重新构建图像数据。
不妨尝试更好地理解扩散模型的组件,以便有一番更清晰的认识。
正向过程
正向过程是第一个阶段,在此阶段,通过添加噪声系统地降低图像质量,直到变为随机静态图像。
正向过程是受控且迭代的,我们可以将其概括为以下步骤:
- 从数据集中的一张图像开始。
- 向图像添加少量噪声。
- 这个过程重复多次(可能重复数百或数千次),每次都进一步破坏图像。
经过足够多的步骤后,原始图像将显示为纯噪声。
上述过程通常在数学上被建模为马尔可夫链,因为每个噪声版本仅依赖前一个版本,而不是依赖整个步骤序列。
但是,为什么我们要逐渐将图像变成噪声,而不是直接将其一步变成噪声呢?目的是让模型能够逐渐学习如何逆转破坏。小的增量步骤让模型得以学习从噪声数据转换成低噪声数据,这有助于它从纯噪声逐步重新构建图像。
为了确定每一步添加多少噪声,可以使用噪声调度这个概念。比如说,线性调度会随着时间的推移逐渐引入噪声,而余弦调度会比较缓慢地引入噪声,并将有用的图像特征保留更长一段时间。
以上是对正向过程的简要概述。下面不妨了解一下反向过程。
反向过程
正向过程之后的下一个阶段是将模型转变为生成器,该生成器学习将噪声重新转换为图像数据。通过迭代的小步骤,模型可以生成之前并不存在的图像数据。
通常,反向过程是正向过程的逆过程:
- 从纯噪声开始——一张完全随机的由高斯噪声组成的图像。
- 使用一个训练好的模型迭代去除噪声,该模型试图近似每个正向步骤的反向版本。在每个步骤中,模型使用当前的噪声图像和相应的时间步长作为输入,根据训练过程中学到的知识预测如何降低噪声。
- 图像逐步变得更加清晰,获得最终的图像数据。
这个反向过程需要经过训练的模型来去除噪声图像。扩散模型常采用神经网络架构(比如U-Net),这种自动编码器结合了编码器-解码器结构中的卷积层。在训练过程中,模型学习预测在正向过程中添加的噪声成分。在每个步骤,模型还会考虑时间步长,从而根据噪声大小调整预测结果。
该模型通常使用损失函数(比如均方误差MSE)进行训练,该函数用于衡量预测噪声与实际噪声之间的差异。通过在大量样本中最小化损失,模型逐渐能够熟练地逆转扩散过程。
与GAN等替代方案相比,扩散模型提供了更高的稳定性和更直接的生成路径。这种逐步去噪的方法可以实现更具表现力的学习,从而使训练更可靠、更易于解释。
一旦模型训练完毕,生成新图像的过程将遵循我们上面总结的反向过程。
文本调节
在许多文本转图像产品(比如DALL-E和Midjourney)中,这些系统可以使用文本提示引导反向过程,我们称之为文本调节。如果整合自然语言,我们可以获得匹配的场景,而不是随机的视觉效果。
该过程利用预训练的文本编码器来实现,比如CLIP(对比语言-图像预训练),它将文本提示转换成向量嵌入。然后,该向量通过交叉注意力等机制被馈入到扩散模型架构中。交叉注意力是一种注意力机制,使模型能够专注于文本的特定部分,并将图像生成过程与文本对齐。在反向过程的每一步,模型都会检查当前图像状态和文本提示,并利用交叉注意力机制将图像与提示中的语义对齐。
这是DALL-E和Midjourney能够根据提示生成图像的核心机制。
DALL-E与Midjourney有何不同?
这两款产品都使用扩散模型作为基础,但在技术应用上略有不同。
比如说,DALL-E采用基于CLIP的向量嵌入引导的扩散模型进行文本调节。相比之下,Midjourney采用其专有的扩散模型架构,据称该架构包含一个经过微调的图像解码器,针对高真实感进行了优化。
这两种模型还都依赖交叉注意力机制,但它们的引导风格有所不同。DALL-E强调通过无分类器引导来遵循提示,从而在无调节输出和文本调节输出之间取得平衡。相比之下,Midjourney倾向于优先考虑风格解读,可能对无分类器引导采用了更高的默认引导尺度。
DALL-E和Midjourney在处理提示长度和复杂性方面有所不同,DALL-E模型可以通过在提示进入扩散管道之前对其进行处理来处理较长的提示,而Midjourney往往更擅长处理简洁的提示。
两者之间还有更多的差异,但上面这些是你应该了解的与扩散模型相关的差异。
结语
扩散模型已成为DALL-E和Midjourney等现代文本转图像系统的基础。如果利用正向和反向扩散的基本过程,这些模型可以从随机数据生成全新的图像。此外,这些模型还可以使用自然语言,通过文本调节和交叉注意力等机制来引导结果。
原文标题:Diffusion Models Demystified: Understanding the Tech Behind DALL-E and Midjourney,作者:Cornelius Yudha Wijaya