文生图模型-Stable Diffusion | AIGC

简介: 所谓的生成式模型就是通过文本或者随机采样的方式来得到一张图或者一段话的模型,比如文生图,顾名思义通过文本描述来生成图像的过程。当前流行的文生图模型,如DALE-2, midjourney以及今天要介绍的Stable Diffusion,这3种都是基于Diffusion扩散模型【1月更文挑战第6天】

文生图模型-Stable Diffusion

什么是生成式模型

所谓的生成式模型就是通过文本或者随机采样的方式来得到一张图或者一段话的模型,比如文生图,顾名思义通过文本描述来生成图像的过程。当前流行的文生图模型,如DALE-2, midjourney以及今天要介绍的Stable Diffusion,这3种都是基于Diffusion扩散模型。

image.png

在Diffusion扩散模型之前,经典的生成模型是GAN和VAE。GAN是生成对抗网络(Generative Adversarial Network)的简称,是一种用于生成模型的深度学习框架。GAN由两个神经网络组成:生成器和判别器。生成器网络负责生成新样本,而判别器网络负责判断这些样本是真实的还是生成的。这两个网络相互对抗,通过不断的博弈和调整参数,最终达到生成逼真的样本的目的。最后通过采样一个随机分布来生成和训练数据分布相同的图片。

image.png

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

image.png

扩散模型Diffusion

扩散一词来源于物体物理状态的变化,比如房间中的气味由浓逐渐扩散到周围,最终房间的气味处于一个平衡的状态,再比如热力的传播。

扩散模型(Diffusion Model)分为前向和逆向操作,前向阶段对图像逐步施加噪声, 直至图像被破坏变成完全的高斯噪声, 然后在逆向阶段学习从高斯噪声还原为原始图像的过程。

image.png

image.png

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

  • 正向:第i步的图像+高斯噪声=第i+1的图像
  • 训练Unet时:输入第i+1的图像,预测的GT是所加的高斯噪声,复原过程就是第i+1的图像-高斯噪声

image.png

image.png

image.png

通过多步的操作,最终从一个采样的高斯噪声,逐步去噪还原回清晰图像的过程。每一步的Unet模型是共享参数的,所以需要额外的输入步长的信息,告知模型这个在做第几步的去噪。

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

于就有很多研究针对如何加快采样来减少推理时间的方法,通常就是我们说的Sampling method, 比如DPM++SDE等

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

  • 步长Step:
  • 采样策略:

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

image.png

Stable Diffusion

从上面可知,Diffusion扩散模型是一个简单且高效的生成式模型。但是离本次要讲的文生图还有一定差别。

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

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

image.png

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

image.png

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

image.png

  • 最右边是条件输入,可以引导模型生成的结果,针对文生图,先用预训练模型将文本转换text token embedding,预训练模型可以是CLIP也可以是其他GPT模型
  • 为了融合图通的条件输入,采用一个cross attention的方式添加到Diffusion去噪过程中
  • 另外一个不同是:diffusion的模型输入是图像尺寸大小,这样推理速度较慢。Stable Diffusion将输入改成图像的一个潜在空间的向量表示。那怎么将图像转换为向量表示呢?答案是VAE。也就是上图中最左边,预训练一个VAE模型,将图像encode潜在空间表示,经过diffusion去噪过程,得到一个恢复的潜在变量,经过一个decode恢复成图像。
    image.png

image.png

参考资料

目录
相关文章
|
2月前
|
编解码 物联网 API
"揭秘SD文生图的神秘面纱:从选择模型到生成图像,一键解锁你的创意图像世界,你敢来挑战吗?"
【10月更文挑战第14天】Stable Diffusion(SD)文生图功能让用户通过文字描述生成复杂图像。过程包括:选择合适的SD模型(如二次元、2.5D、写实等),编写精准的提示词(正向和反向提示词),设置参数(迭代步数、采样方法、分辨率等),并调用API生成图像。示例代码展示了如何使用Python实现这一过程。
81 4
|
3月前
|
人工智能 自然语言处理 计算机视觉
比Stable Diffusion便宜118倍!1890美元训出11.6亿参数高质量文生图模型
【9月更文挑战第6天】最近,一篇论文在AI领域引起广泛关注,展示了如何以极低成本训练高质量文本生成图像(T2I)模型。研究者通过随机遮蔽图像中75%的patch并采用延迟遮蔽策略,大幅降低计算成本,同时结合Mixture-of-Experts(MoE)层提升性能。最终,他们仅用1890美元就训练出了一个拥有11.6亿参数的模型,在COCO数据集上取得12.7的FID分数。这一成果比Stable Diffusion成本低118倍,为资源有限的研究人员提供了新途径。尽管如此,该方法在其他数据集上的表现及进一步降低成本的可行性仍需验证。
57 1
|
4月前
|
人工智能 自然语言处理 API
阿里云百炼上线FLUX文生图模型中文优化版,可免费调用!
阿里云百炼上线FLUX文生图模型中文优化版,可免费调用!
450 6
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC-Transformer 模型
8月更文挑战第6天
|
4月前
|
机器学习/深度学习 人工智能 PyTorch
"揭秘AI绘画魔法:一键生成梦幻图像,稳定扩散模型带你开启视觉奇迹之旅!"
【8月更文挑战第21天】稳定扩散(Stable Diffusion)是基于深度学习的模型,能根据文本生成高质量图像,在AI领域备受瞩目,革新了创意产业。本文介绍稳定扩散模型原理及使用步骤:环境搭建需Python与PyTorch;获取并加载预训练模型;定义文本描述后编码成向量输入模型生成图像。此外,还可调整参数定制图像风格,或使用特定数据集进行微调。掌握这项技术将极大提升创意表现力。
59 0
|
4月前
|
机器学习/深度学习 人工智能 编解码
AI文生图模型
8月更文挑战第16天
|
4月前
|
人工智能 编解码 自然语言处理
AI文生图模型DALL·E 3
8月更文挑战第15天
|
4月前
|
机器学习/深度学习 人工智能 编解码
|
5月前
|
机器学习/深度学习 人工智能 大数据
AIGC使用问题之多模态大模型如何升级AIGC的内容创作能力
AIGC使用问题之多模态大模型如何升级AIGC的内容创作能力
|
5月前
|
人工智能
AIGC使用问题之视觉大模型如何提高AIGC的感知能力
AIGC使用问题之视觉大模型如何提高AIGC的感知能力