揭开Stable Diffusion 3背后的魔力

本周,Stability AI宣布推出Stable Diffusion 3 (SD3),这是最著名的图像生成开源模型的下一代版本。

它在保真度和分辨率方面显示出令人惊叹的结果,无论从视觉上还是定量上来说,都使其成为当今业界最好的文本到图像 (T2I) 模型。

更重要的是,它最终解决了AI图像中最难的问题之一——文图对齐。

但是,以我的拙见,这对于人工智能来说是一个特别特殊的时刻,因为它带来了几种创新方法,既有继承的,也有全新的,可以将其架构设定为图像合成的新标准。

掌握流程

如果我们考虑一个生成模型,无论是ChatGPT还是SD3,都有一个共同的原则;他们都学习训练数据的基本分布,以便从中进行采样。

但这到底意味着什么呢?

都是模式学习

如果我们考虑 ChatGPT,当我们说它学习训练数据分布时,我们间接地说该模型学习训练语料库的模式和结构。

用外行的话来说,它学习单词如何相互跟随。

像 SD3 这样的 T2I 模型在这个意义上没有什么不同,只是学习训练图像的分布。简而言之,他们学到了诸如“如果我看到一组描绘狗脸的像素,那么身体的其余部分一定在附近”之类的东西。

然而,需要注意的是,T2I 主要是流扩散模型,这意味着它们不仅学习训练数据的分布,而且还学习实时地将随机分布中的点提取到目标分布中。

我知道这是一个艰难的吞咽,所以让我们简化这个概念。下图展示了流模型的初始状态,其中我们有一个纯随机分布p(x)(由于像素是随机分布的,这本质上是噪声)。

我们不知道目标分布q(x)是什么,但我们知道该分布中的许多样本(以红色表示),它们代表我们的训练数据。

来源

如前所述,我们的目标是找到q(x),以便模型可以有效地生成属于该分布(也称为训练数据的分布)一部分的新图像。

因此,任何流模型(无论是稳定扩散 3 还是 DALL-E)的训练过程都将如下所示,模型本身描述为τ

如果仔细观察,您会发现新分布的形状与我们训练数据最初的分布方式相匹配。

如果您训练一个模型来有效地执行此转换,,您就得到了一个流模型,该模型采用像x0这样的点并将它们转换为落在q(x) 分布内的点(例如,您的新图像)

这些流也经过调节,以便您可以实际指示需要生成的内容。

由于q(x)基于高质量的训练数据,我们知道生成的新图像将与训练期间观察到的图像相似,正如前面提到的,这一直是任何生成模型的目标。

但为什么我们首先需要流量模型呢?

流程生成模型

最重要的是,Flow 模型学习一种“映射”,它将采用嘈杂的随机“画布”并将其转换为与训练期间看到的其他图像相似的图像,同时以用户的请求为条件来驱动图像生成过程。

这样,它就可以画出“打篮球的动物”之类的东西:

来源:OpenAI

但为什么我们需要这个流程,而不是像我们使用 ChatGPT 处理文本一样从学习到的图像分布中进行采样?

好吧,您希望您的模型具有某种随机性或随机性,以便新生成的样本是新图像,而不仅仅是训练期间看到的图像的副本。

就 ChatGPT 而言,在采样过程中添加了随机性,因为与普遍看法相反,ChatGPT 并不总是为您提供“最可能准确的单词”。

大多数时候,它会随机选择“从‘k’个最可能准确的单词中选择一个”。实际上,您可以使用温度变量(LLM API 的一个属性)来“控制”此过程。

回到扩散模型,这种总是偏离随机画布的映射使得模型能够根据一个提示(例如“狒狒特写”)生成多个不同的图像。

来源:OpenAI

然而,这里 SD3 通过应用整流流进行了相当大的创新,其中不同分布中的点之间的流动是沿直线完成的,这与大多数扩散模型使用的标准曲线不同。

简而言之,分布之间的传播距离越短,采样速度就越高。

换句话说,图像的生成速度要快得多,考虑到Dall-EMidJourney等模型的速度有多慢,这是一个很大的进步。

但是等等,简单来说,扩散背后的关键直觉是什么?

我始终将扩散过程视为大理石雕塑的数字版本。

像米开朗基罗或贝尔尼尼这样的艺术家会拿一块大理石,慢慢地擦除多余的大理石,首先创造出粗糙的图形,然后最终完善形状。

扩散也是类似的,你有一堆垃圾,然后你慢慢地“发现”真正的部分。

“在我开始工作之前,雕塑已经在大理石块内完成了。它已经在那里了,我只需要把多余的材料凿掉就可以了。”

— 米开朗基罗

长话短说,用外行人的话来说,将流扩散模型视为神经网络,通过应用图像生成过程中实时进行流变换。

如需更多技术深度,我建议您观看以下由 Meta 的 Yaron Lipman 解释的视频。

接下来,SD3 还采用了扩散变压器的概念,放弃了黄金标​​准 U-Net。

这是一件大事,因为 OpenAI 也对Sora做了同样的事情(事实上,Sora 的主要创造者William Peebles也恰好是扩散变压器的创造者)。

随之而来的是,一个新的标准诞生了。

DiT 和体重专业化

首先,SD3 架构再次证明注意力仍然是王道。

关注就是你所需要的

扩散变压器是一种将扩散(我们刚刚介绍的概念)与变压器(ChatGPT 或 Gemini 等模型背后的架构)相结合的设计。

原因是变形金刚的主要组成部分,即注意力机制,对于图像和文本都同样有效。

那么,变形金刚在哪里符合扩散概念呢?

在这种情况下,它是一种允许输入数据的不同部分共享信息的机制,以便模型建立对其所观察到的内容的理解。

通俗地说,注意力就是模型如何学习数据的分布。

尽管如此,SD3 研究人员还是添加了一些变化。

重量并不意味着共享

当使用处理文本和图像的模型时(您用文本发送所需内容的请求,但生成的输出是图像),模型的参数需要处理非常复杂和不同的模式。

其主要原因是文本和图像是截然不同的数据结构。因此,就像大脑有专门处理文本和图像的不同区域一样,研究人员为每种模式定义了特定的权重。

当然,您最终会在注意力过程中交叉两组权重,以确保文本和图像权重共享信息,就像大脑中的不同区域也进行通信一样。

这会产生壮观的图像,如下图所示:

请注意果酱如何与水混合,这可能意味着该模型具有一些世界知识。

接下来,真正的问题是:它与其他模型相比如何?

开源依然活跃

与当前最先进的测量颜色、位置和其他客观 KPI 的GenEval基准相比, SD3 超越了所有以前的模型,并且在人类评估中也发生了同样的情况(这更加主观,必须与少许盐一起服用)。

举个例子,这些模型很快就会公开,参数范围从 8 亿到 80 亿。

因此,只要有足够强大的电脑桌面,您很快就可以免费运行SD3家族的任何型号。

免责声明: 2B 型号至少需要 8GB RAM(最好是 16 GB),较大型号则需要 24GB。

对于较小的型号,大多数 iPhone 都可以毫无问题地运行。

最后一点,SD3 的成员们还有最后一个惊喜。

DPO 继续展现出惊人的成果

SD3 再次证实了直接偏好优化DPO)的工作原理。

简单来说,DPO 允许模型针对给定的人类偏好进行优化,通常表示为:

  • (提示,更好的答案,更差的答案)

这样,该模型就可以学习如何通过自然地倾向于输出与人类选择的“更好”的图像相似的图像,来最大限度地实现给定的人类愿望的效用(和安全性)。

正如我们在下面所观察到的,SD3 案例中的结果简直令人惊叹,因为 DPO 后的结果(第二行和第四行)与非 DPO 对应结果(第一行和第三行)相比令人惊讶。

成为开源支持者的美好一天

总而言之,SD3 是一个伟大的模型,也是 Stability AI 对开源领域的巨大贡献。

他们不仅成功地创造了一种新的最先进的技术,而且还通过创新和免费分发所有这些宝贵的信息来做到这一点。

虽然开源在文本领域可能落后,但在图像生成方面却处于领先地位。

给TA打赏
共{{data.count}}人
人已打赏
AI新闻AI科普

我要求 OpenAI 的 Chat GPT4 使用 ASCII 艺术来绘制自己。结果令人毛骨悚然……

2024-5-17 17:04:35

AI新闻AI科普

Google Gemini Advanced 有多好?

2024-5-19 18:26:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
今日签到
有新私信 私信列表
搜索