2023年第13周 (03-27 ~ 04-02)

这期,通过阅读 Stable Diffusion 相关资料来了解当前主流AI画图工具背后的技术。

现在热门的 AI 画图产品 Midjourney、Stable Diffusion 和 DALL·E 都是基于扩散模型合成图像的技术。(还有一种合成图像的技术是 GAN——生成式对抗网络)


什么是 Stable Diffusion?

Stable Diffusion 是一款文本到图像人工神经网络模型,能够以给定文本作为输入条件,生成图像。

于2022年发布,由德国大学的计算机视觉小组(ComVis)和 Runway 公司合作研发。得益于 Stability AI 公司的资助,和 LAION 的数据集支持。 *

该模型权重和代码均已开源,相关链接: 代码 | 论文 | 项目

技术原理

Stable Diffusion 模型,也称作潜空间扩散模型(LDM),是一种基于深度学习扩散模型,用于合成高分辨率图片。 *

简单来说,是准备一组原图像,将原图像进行不同程度的高斯模糊得到多张满是噪点的模糊图像。用这些图像训练扩散模型,让其对模糊后的图像去噪,尽量还原出原图像。

而生成新图像的过程,是先随机生成一张噪点图片,让训练后的扩散模型对其进行多次去噪,逐步的“还原出”一张不曾存在的图像,等于是合成了一张新图片。


(图片来自 Wikipedia)

扩散模型允许建立引导机制控制图像生成过程,而无需重新训练模型。Stable Diffusion 将「交叉注意力层」引入到模型架构,将扩散模型转变为一种支持通用条件输入(例如文本或边界框)的强大且灵活的图像生成器。


(截图自 论文)

更深入的了解「潜在扩散模型」,需要先了解一些前置概念,从 潜变量 -> 潜变量模型 -> 扩散模型,再到潜空间扩散模型。

Latent variables * 潜变量/隐变量,
用于代指有意义但无法直接测得的变量,只能通过数学方法从其它可直接观测到的变量间接推断出来。相对的概念就是 observable variables(显变量)或指标。
例如心理学中的“智力”,需要间接通过各种测量来综合评估智力水平。经济学中的“生活质量”、“商业信心”。医学领域中疾病的“进展阶段”。通过这些潜变量,方便我们理解数据和表示概念。

Latent variable model * 潜变量模型,
是一种统计模型,描述了显变量与潜变量之间的关系。

图中 T 是潜变量,X是显变量,e 是(潜在)误差变量,λ 是因子载荷(即潜在变量对显变量的影响)。
(图片来自 Wikipedia)

Diffusion model (DM) * 扩散模型,
是潜变量模型的一种。在机器学习中,扩散模型的目标是通过对数据点在潜在空间中扩散的方式进行建模,来学习数据集的潜在结构。

该模型于 2015 年提出,参见论文 Sohl-Dickstein, Jascha; Weiss, Eric; Maheswaranathan, Niru; Ganguli, Surya (2015-06-01) Deep Unsupervised Learning using Nonequilibrium Thermodynamics

图中第一行是对图像进行高斯扩散的轨迹切片。中间行是训练后反向轨迹切片;第三行是反向扩散过程的漂移项。(注:不是很懂,表述可能有误)
(图片来自 论文)

在计算机视觉中,扩散模型可以应用于多种任务,包括图像去噪、修复、着色、提高分辨率和图像生成。其优势是不会像 GANs 那样表现出模式坍塌和训练不稳定性,并且通过大量利用参数共享,它们可以模拟自然图像的高度复杂分布,即有限的参数量中包含更多的图像模式。

Stable Diffusion 或 Latent Diffusion Model (LDM) 潜空间扩散模型,
是在扩散模型的基础上,优化了图像重建的可靠性,还降低了计算量,以有效应用于高分辨率图像。
并设计了一种基于交叉注意力的通用条件机制,使多模态训练成为可能。使用它来训练类条件、文本到图像和布局到图像的模型。

且发布的 Stable Diffusion 模型是预训练模型,已经可以直接使用。还可以针对性微调训练,训练出专有风格。还可以叠加条件控制神经网络,例如 ControlNet 调整人体姿态等,进一步控制图像生成过程,得到期望的效果。


AI展望周刊,个人向的阅读摘录,关注AI、理解AI,注视正在发生的未来。

📡 全文RSS | 往期留存网页版
📰 「AI资讯简报」一览每日AI新鲜资讯。