LLM大模型从入门到精通(6)--Stable Diffusion超详细讲解

本文详细讲解Stable Diffusion的原理与工作流程

[一、Stable Diffusion简介](#一、Stable Diffusion简介)

[二、Stable Diffusion原理解析](#二、Stable Diffusion原理解析)

[三、Stable Diffusion处理流程](#三、Stable Diffusion处理流程)

四、结语


一、Stable Diffusion简介

**Stable Diffusion是一种深度学习文本到图像生成模型,它可以根据文本描述生成详细图像,并且可以应用于内补绘制、外补绘制以及在提示词指导下的图像转换等任务。**它是由慕尼黑大学的CompVis研究团体、StabilityAI、Runway以及LAION合作开发的潜在扩散模型,并于2022年发布。Stable Diffusion的源代码和模型权重已经公开发布,可以在大多数配备适度GPU的电脑上运行。

Stable Diffusion 拓展性强,可免费学 习创作 Stable Diffusion拥有强大的扩展性,任何人都可以通过官方免费 公开的论文和模型代码进行学习与创作,解锁AI艺术更多可能性。

**Stable Diffusion 集成了110+功能 ,**Stable Diffusion是一款功能强大 的图像处理软件,集成了110多个 扩展插件的功能介绍,包括局部 重绘、人物姿势控制、图像高清 修复和线稿提取等,用户可以根 据需要选择不同的插件来扩展软 件的功能。

**精准控制图像分辨率 ,**行业内无法精准控图和图像分辨率低等问题都是其普遍痛点,但 这些在 Stable Diffusion 中通过 ControlNet 和 UpScale 等插件 都能完美解决。

学术名词和相关解释:

|-------------------------|-------------------------------------------------------------------------------------------|
| Diffusion Model | 扩散模型,一款支持图像生成的算法模型,市面上主流的 DALL E、Midjourney、imagen、 Stable Diffusion 等 AI 绘画工具是基于此底层模型开发的 |
| Latent Diffusion Model | 潜在扩散模型,基于扩散模型基础上 制出的更高级模型,图像图形生成速度更快,而且对计算资源和内存消耗需求更低 |
| Stable Diffusion | 简称SD模型,其底层模型就是上面的潜在扩散模型,之所以叫这个名字是因为 发公司名叫 Stability AI |
| Stable Diffusion Web Ul | 简称SD WebUI,用于操作上面Stable Diffusion模型的网页端界面,通过该系统就能控制模型出图,而无需学习代码 |

二、Stable Diffusion原理解析

Stable Diffusion的工作原理可以概括为三个主要步骤:首先,用户输入的文本提示(prompt)被文本编译器(Text Encoder)编译成词特征向量;其次,这些向量与一张随机图一起被转换到潜在空间(Latent Space)里,并通过降噪过程生成一个中间产物;最后,这个中间产物由图片解码器(Image Decoder)解码成一张真正的图片。

扩散模型之所以用 Diffusion 来命名,因为它的运作过程就是向训练图像不断地添加噪声,直到变为一张无意义的纯噪声图,再逐步恢复的过程。

加噪过程类似于在干净的水中滴墨汁,颜料会逐渐扩散导致整个水 体变浑,AI绘画过程是从模糊的噪声图逐渐变为清晰的图像,即逆向降噪的过程。

标准扩散模型在像素空间中进行,需要处理大量数据和高性能显卡。

潜在扩散模型先缩小图像再运算,减少数据处理量和硬件要求。

潜在扩散模型运算空间为潜空间,即低维空间。

Diffusion Model的整体思路如下图所示:

正向过程:对于一张原始图片x0,我们给x0添加一个高斯噪声,图片由x0变成变成x1。接着我们会在x1的基础上再添加高斯噪声得 到x2。重复上述添加高斯噪声步骤,直到图片变成xn,由于添加了足够多的高斯噪声,现在的x近似服从高斯分布。

反向过程:随机生成一个服从高斯分布的噪声图片,然后一步一步的减少噪声直到生成想要的图片。 我们希望将t时刻的高斯噪声 变成0时刻的图像,是很难一步到位的,和正向过程一样,先考虑t时刻图像和t−1时刻的关系,然后一步步向前推导得出结果.

三、Stable Diffusion处理流程

Stable diffusion从文本生成图像的流程如下所示:

  1. Stable Diffusion在潜空间中生成随机张量。可以通过设置随 机数生成器的来控制此张量。如果将种子设置为某个值,获得 相同的随机张量。

  2. 网络 U-Net 将潜在噪声图像和文本提示作为输入,并预测噪 声,也在潜在空间(4x64x64 张量)中。

  3. 从潜在图像中减去潜在噪声。这将成为新潜在图像。

  4. 步骤 2 和 3 重复一定数量的采样步骤,例如 20 次

  5. 最后,VAE的解码器将潜在图像转换回像素空间。这是运行 Stable Diffusion后获得的图像。

四、结语

Stable Diffusion 3是该模型的最新版本,它在多主题提示、图像质量和拼写能力上都有显著改进。这个版本的模型参数范围从800M到8B不等,旨在提供不同的选项以满足用户的创意需求。Stable Diffusion 3结合了扩散变换架构和流匹配技术,并将发布详细的技术报告。

Stable Diffusion因其开源性、可扩展性、出图效率高以及数据安全性等优势,在AI绘画领域得到了广泛应用。它的开源性质使得任何人都可以自由使用、学习和修改代码,而且社区中存在大量不断迭代优化的图像调整插件和模型。此外,Stable Diffusion的本地部署确保了数据处理的安全性和隐私性。

关于Stable Diffusion的争议,有观点认为其相对于Latent Diffusion的改进不多,主要集中在算力基础提升、训练数据增加和数据质量改善上,并没有架构本质的升级换代。尽管存在争议,Stable Diffusion因其强大的图像生成能力,仍然是目前AI绘画工具中的佼佼者。

相关推荐
石小石Orz1 分钟前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
罗小罗同学7 分钟前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
孤独且没人爱的纸鹤10 分钟前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭13 分钟前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~14 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码20 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
zhangfeng113320 分钟前
pytorch 的交叉熵函数,多分类,二分类
人工智能·pytorch·分类
Seeklike21 分钟前
11.22 深度学习-pytorch自动微分
人工智能·pytorch·深度学习
庞传奇22 分钟前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow
华清远见IT开放实验室30 分钟前
【每天学点AI】实战图像增强技术在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·计算机视觉