解锁AI未来,与智慧同行!关注公众号,获取前沿AI资讯,体验尖端AI工具,让智能科技改变您的生活!

gzh_wszs_%E6%89%AB%E7%A0%81_%E6%90%9C%E7%B4%A2%E8%81%94%E5%90%88%E4%BC%A0%E6%92%AD%E6%A0%B7%E5%BC%8F-%E6%A0%87%E5%87%86%E8%89%B2%E7%89%88.png

文章主题:生成式模型, 文本生成图像, Diffusion扩散模型, CLIP模型

666AI工具大全,助力做AI时代先行者!

1. 什么是生成式模型

生成式模型是一种利用文本或随机采样方法生成图像或文本的工具,例如文生图。其中,DALE-2、midjourney和Stable Diffusion等模型是当前较为流行的文生图模型,它们均基于Diffusion扩散模型。

1701397906884.jpg

在深度学习模型中,扩散模型之前的经典生成方法包括 GAN 和 VAE。GAN,全称为生成对抗网络,是一种用于生成数据的深度学习框架。该框架主要由两个神经网络构成:生成器和判别器。生成器负责生成新的样本,而判别器则负责鉴别这些样本是真实存在的还是由生成器生成的。这两个网络之间存在一种对抗性的关系,它们会不断地进行博弈和参数调整,以期达到生成尽可能逼真样本的目标。最终,通过采样一个与训练数据分布相似的随机分布,可以生成新的图片并对其进行训练。

1701397907019.jpg

而VAE是变分的自回归模型,通过学习图片的潜在空间表示来生成图片。

1701397907104.jpg

2. 扩散模型Diffusion

“扩散”这个词汇,源于描述物体物理状态发生改变的过程。例如,房间内的气味会随着时间推移从浓郁逐步散布至周边区域,直至达到一种平衡状态,这便是扩散现象的一个生动写照。此外,热力的传播也是一个与扩散相关的例子。

扩散模型是一种图像处理方法,其操作过程可分为两个阶段:前向和逆向。在前向阶段中,我们逐步向图像添加噪声,使其逐渐变得混乱,最终变为完全的高斯噪声。而在逆向阶段,模型则试图学习如何从高斯噪声中恢复出原始图像。这种方法广泛应用于图像去噪、模糊和平滑等领域。

1701397907235.jpg

1701397907409.jpg

那么扩散模型是如何训练?训练的过程就是预测所加噪声的过程,模型是一个Unet模型。

正向:第i步的图像+高斯噪声=第i+1的图像

在训练 Unet 模型时,我们首先输入的是原始图像,然后对其进行预测,得到的高斯噪声作为参考。接下来,我们的目标是恢复原始图像,这个过程可以通过从预测结果中减去高斯噪声来实现。

1701397907587.jpg

1701397907749.jpg

1701397907892.jpg

在一系列操作中,我们逐步从采样的 高斯噪声 中去除噪声,最终恢复出清晰图像。在此过程中,每一步骤的 Unet 模型都共享相同的参数。因此,我们需要额外的输入步长信息,以便指示模型当前正处于哪一步的去噪过程。

最早的扩散模型(DPM)需要近1000步才能还原图像,这极大的增加了推理的时间。

在众多研究中,人们一直在探索如何优化采样方法以降低推理成本。这种方法通常被称为采样策略,其中包括DPM和SDE等技术。

扩散模型涉及到几个重要的概念:

步长Step:

采样策略:

一张图总结下VAE、GAN和Diffusion Model的区别

1701397908036.jpg

3. Stable Diffusion

经过观察可以得知,Diffusion扩散模型作为一种简单且高效的生产式模型,虽然在某些方面表现出色,但与本文将要讨论的文生图模型仍存在一定的差距。

还差的环节是文本如何添加到扩散模型里。如果有一个模型可以很好的匹配文本和图像,就可以文本生成的图像向量作为额外的条件加到扩散模型里(有条件的扩散模型)

这个模型就是CLIP模型,CLIP模型是典型的多模态的对比学习模型,通过文本和图像的配对数据,分布对文本和图像进行编码,优化两者向量的相似度,使得配对的两向量相似度最大。

1701397908172.jpg

OPENAI的DALE-2利用clip生成文本和图像向量配对,训练一个文本映射到图像向量的模型,得到图像向量模型,在通过diffusion模型生成图片,达到文生图的目的。

1701397908382.jpg

而Stable Diffusion有些不同,总体的流程见下图,不同之处在于:

1701397908525.jpg

最右边是条件输入,可以引导模型生成的结果,针对文生图,先用预训练模型将文本转换text token embedding,预训练模型可以是CLIP也可以是其他GPT模型

为了融合图通的条件输入,采用一个cross attention的方式添加到Diffusion去噪过程中

另外一个不同是:diffusion的模型输入是图像尺寸大小,这样推理速度较慢。Stable Diffusion将输入改成图像的一个潜在空间的向量表示。那怎么将图像转换为向量表示呢?答案是VAE。也就是上图中最左边,预训练一个VAE模型,将图像encode潜在空间表示,经过diffusion去噪过程,得到一个恢复的潜在变量,经过一个decode恢复成图像。

1701397908698.jpg

1701397909022.jpg

4. 参考资料

https://zhuanlan.zhihu.com/p/620714629

How does Stable Diffusion work?

http://jalammar.github.io/illustrated-stable-diffusion/

High-Resolution Image Synthesis with Latent Diffusion Models

生成式模型, 文本生成图像, Diffusion扩散模型, CLIP模型

aigc666aigc999_6.jpg

AI时代,拥有个人微信机器人AI助手!AI时代不落人后!

免费ChatGPT问答,办公、写作、生活好得力助手!

搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!

Leave a Reply

Your email address will not be published. Required fields are marked *