分享缩略图

分享到:
链接已复制
首页> 新闻中心>

【stable diffusion模型]对Stablen模型有深入了解 Diffusion模型架构和核心组件(CLIP/Unet/VAE)

2025-06-24 12:07:23

来源:新华网

字体:

前言。

Stable Diffusion 文本转图像模型࿰是一种基于扩散技术的深度学习c;使用潜在的扩散模型(Latent Diffusion Model,LDM)生成高质量的图像。它主要用于生成具有文本描述条件的详细图像,但也可用于其他任务󿀌如 inpainting(图像修复)、outpainting(图像扩展)并根据文本提示词生成图像(image-to-image)的转换。

从上图可以看出󿀌只需提供一个文本提示,比如“一只戴帽子的狗”,Stable Diffusion模型可以生成代表文本的图像,太神奇了!

扩散模型可以产生高质量的图像,Stable Diffusion模型是一种特殊的扩散模型,称为潜在扩散模型(LDM)。最初的扩散模型通常会消耗更多的内存,所以创建了一个潜在的扩散模型,它可以在被称为潜在空间的低维空间中扩散。从高层次上讲,,扩散模型是机器学习模型,它被denoise逐渐训练成随机高斯噪声,获得结果,即image。

所有AI设计工具,安装包、模型和插件#xff0c;它们已经整理好了,👇获取~。

在这里插入图片描述

Stable Diffusion 模型架构。

Stable Diffusion 模型架构示意图。

Conditioning。(条件信息)#xff0;:包含语义图(Semantic Map)、文本(Text)、表示(Representations)图像(Images)等信息。这些条件信息通过网络T0编码,辅助输入作为生成过程。

Latent Space。(xfff09的潜在空间;:在潜在空间中进行扩散过程,潜在空间表示通过噪声预测网络(Denoising U-Netεθ)从最初的噪音到#xff0c;生成图像的潜在表示。

Pixel Space。(#xfff09像素空间;:最后,图像࿰通过解码器D从潜在空间的表示恢复c;生成高分辨率图像。

Stable Diffusion 工作过程。

1.。编码。(Encoding):通过编码器E将输入的图像X转换为潜在空间Z。

2.。扩散过程。(Diffusion Process):在潜在空间中进行扩散过程,ZT从最初的潜在表示逐渐去噪,还原更清晰的潜在表达。#xfff0通过多个时间步骤的去噪操作c;每一步都使用Denoising U-Net预测并去除噪音。zt-1中间结果, zT-2, … , z0表示逐渐去噪的潜在表示。

3.。解码。(Decoding):最终的潜在表示z0通过解码器D转换回像素空间,产生最终图像。

关键步骤和组件。

Denoising Step。(去噪步骤)#;:在潜在空间中逐渐去除噪声的过程,每一步通过εθ进行。

Cross Attention。(交叉注意力):在除噪过程中,来自条件信息的语义信息࿰使用交叉注意力机制进行集成c;增强生成效果。

Switch。(切换):去噪步骤,可能涉及不同特征图之间的切换操作,以丰富的特征表达。

Skip Connection。(跳跃连接༉:去噪网络,跳跃连接有助于保留高分辨率信息,提高除噪效果。

Concat。(拼接):特定步骤󿀌拼接不同来源的特征,整合多种信息,提高生成质量。

扩散过程(可用于较低维度的潜在空间;而不是使用实际像素空间)减少内存和计算的复杂性,这是标准扩散和潜在扩散模型之间的主要区别。在潜在扩散中,通过训练,模型可以生成图像(压缩)表示。

扩散过程图。

Stable 文本输入和种子用于Diffusion模型。然后,通过CLIP输入文本 77x768模型生成的文本嵌入,用于生成4x64x64大小的高斯噪声,噪声成为第一个潜在的图像表示。

注意:你会注意到图像中提到了一个额外的维度(1x),例如,1x77x768࿰用于文本嵌入c;这是因为它代表批量大小为1。

扩散过程图。

接下来,U-Net在条件化文本嵌入的同时,对随机潜在图像表示进行迭代去噪。U-Net的输出是预测的噪声残差,然后通过调度器算法用于计算条件化的潜在图像。去噪和文本条件化过程重复N次(我们将使用50次)检索更好的潜在图像表示。过程完成后󿀌VAE解码器将表示潜在图像(4x64x64)解码,检索最终图像(xfff93x512x512;。迭代去噪是获得良好输出图像的重要步骤,典型步骤在30-80范围内。

让我们来看看从噪音到最终图像的生成过程。

核心组件稳定扩散。

Stable Diffusion有三个主要部件:文本编码器,本例为CLIP 文本编码器;#xfff0自动编码器c;在本例中为变分#xfff0自动编码器8;VAE);U-Net。让我们深入研究每个组件󿀌并且知道它们在扩散过程中的用途。

CLIP文本编码器。,即Contrastive Language-Image Pre-training,对比语言-图像预训练。CLIP模型有两个主要组件,文本编码器(#xfff099嵌入文本;图像编码器(#xfff09嵌入图像￰。文本编码器,使用经典Transformer模型;图像编码器,通常使用Vision Transformer (ViT)模型。

任何机器学习模型都不理解文本数据,因此,对于这些模型�我们都需要将文本转换为包含文本含义的数字,称embeddings。将文本转换为数字的过程可分为两部分。

1.。标记器。-将每个单词分解为子单词󿀌然后用搜索表将它们转换成数字。

2.。在嵌入式编码器中标记。-将这些数字子单词转换为包含文本表示的表示。

Stable Diffusion只使用CLIP训练的编码器将文本转换为嵌入。这成为 U-net的输入之一。高层次,CLIP利用图像编码器和文本编码器在潜在空间中创建类似的嵌入,更准确地定义为比较目标。

CLIP提前训练图像编码器和文本编码器,预测哪些图像与数据集中的文本匹配。然后,我们利用这种行为将CLIP转换为零样本分类器。我们将数据集的所有类别转换为标题,比如“狗的照片”,并预测与给定图像最佳匹配的CLIP估计的标题类别。

**变分自动编码器VAE,**它是机器学习和人工智能中使用的生成模型。它是一种概率模型,以无监督的方式学习输入数据的低维表示。VAE 特别适用于生成类似于训练数据的新数据样本等任务。

自动编码器包括两部分:

1.。Encoder。将图像作为输入,并将其转换为低维潜在表示。

2.。Decoder。将潜在的表示转换回图像。

变分自动编码器。

就像我们上面看到的࿰一样c;编码器就像一个压缩器,将图像压缩成较低的尺寸,解码器从压缩版本中重新创建原始图像。

VAE将3x512x512尺寸图像压缩成4x64x64尺寸图像,压缩比为48倍!让我们可视化这四个潜在的表征渠道。

理论上讲,,这种潜在的表示应该能够捕获大量关于原始图像的信息。让我们使用这个解码器󿀌看看我们能得到什么。

从上图可以看出󿀌VAE解码器可以从48x压缩的潜在表示中恢复原始图像。令人印象深刻的是,#xff01;如果仔细观察解码后的图像,你会发现它不同于原始图像,请注意眼睛周围的差异。这就是为什么VAE编码器/解码器不是无损压缩。

在没有VAE组件的情况下,可以完成稳定扩散,但我们使用VAE的原因是为了减少生成高分辨率图像的计算时间。在VAE编码器生成的潜在空间中,可以实现潜在的扩散模型,一旦我们通过扩散过程获得所需的潜在输出,我们可以使用VAE解码器将其转换为高分辨率图像。

就像你用Python生成1到100之间的随机数一样,你是从1到100的均匀(伪)采样在随机分布中进行。同样,我们可以从潜在空间中采样生成随机向量,将其提供给解码器并生成新数据。

了解潜在空间(latent space),可借助柏拉图洞穴寓言进行说明。

在这个寓言中,我们看到囚犯们看到了雕像的影子,他们相信他们看到的是实际物体(可观察数据)。但与此同时,实际物体在他们身后(潜在、隐藏的数据)。

U-Net模型。,它是一种非常经典的卷积神经网络结构,它由对称的编码器和解码器组成,具有良好的特征提取和细节恢复能力。在Stable diffusion中󿼌U-Net是核心模块,主要负责图像生成过程中的去噪和提取,生成新的图像。

U-net架构图。

去噪UNet架构࿰反向扩散过程c;上块结构是下块的镜像。

Middle block。:࿰在U-Net架构中c;middle block(#xfff09中间块;࿰是模型的关键组成部分c;通常位于编码器和解码器之间。其主要功能是处理底层分辨率下的特征,为了提高模型的性能,结合多个操作。

Skip-connected decoder。:在深度学习模型中使用的架构,࿰在U-Net图像生成和分割任务中c;它的主要功能是通过跳接连接(skip connections)将编码器中的高分辨率特征图直接传输到解码器,以便在重建图像时保留更详细的空间信息。

U-Net模型接受两个输入:

1.。Noisy latent。或者Noise噪声潜在向量是VAE编码器产生的潜在向量(如果提供初始图像)并添加噪声,或者如果我们想创建基于文本描述的随机新图像,可接受纯噪声输入。

2.。Text embeddings。,基于CLIP的嵌入是由输入文本提示生成的。

U-Net模型的输出是输入潜在噪声函数中包含的预测噪声残差,换句话说,󿀌它预测了从潜在噪声函数中减去的噪声,返回原始的去噪潜在函数。

U-Net说。

在这个过程中,,我们不仅导入unet,还导入了scheduler༈#xff09调度器;。Schedular的作用是确定在扩散过程中给Latent添加多少噪音。让我们可视化schedular函数。

扩散过程遵循此采样计划󿀌我们从高噪音开始󿀌逐步去除图像的噪音。让我们生动地看看这个过程。

让我们来看看U-Net如何去除图像中的噪音,给图像添加一些噪音。从右边可以看到󿀌U-Net的输出比传输的原始噪声输入更清晰。

Stable 通过几个步骤,Diffusion使用U-Net逐渐减去潜在空间中的噪音,以达到所需的输出。每一步󿼌添加到潜在中的噪声量会减少,直到我们达到最终的去噪输出。U-Net有一个编码器和一个解码器,由ResNet块组成。Stable DiffusionU-Net还具有交叉注意层󿼌使他们能够根据提供的文本描述调整输出。U-Net的编码器和解码器部分࿰通常添加交叉注意层c;位于Resnet块之间。

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片,完全有赶超人类的姿态,已经有很多工作被这种服务取代了c;例如,制作一个 logo 图片,画一张虚拟妻子照片󿀌画质堪比相机。

最新 Stable Diffusion 除了win多个版本,即使是底部的显卡也可以玩哦!此外,还带来了Mac版,只是支持MACOS 12.3或更高版本。

在这里插入图片描述

2.stable diffusion视频集合。

我们在学习时,书籍源码往往难以理解,阅读困难󿀌此时视频教程教程非常适合,生动的形象加上案例实战󿀌一步一步地带你进入stable diffusion,只有科学有趣,才能更方便地学习。

在这里插入图片描述

3.stable 下载diffusion模型。

stable diffusion在开始使用时往往无法达到理想的生成效果,此时,需要使用大量的训练数据,调整模型的超参数(学习率、训练轮数、模型大小等),模型可以更好地适应数据集,并生成更真实、准确、高质量的图像。

在这里插入图片描述

4.stable diffusion提示词。

提示词是构建从文本到图像模型解释和理解单词的过程。你可以把它理解为告诉你 AI 模型需要绘制什么语言,这本提示词手册离不开整个SD学习过程。

在这里插入图片描述

5.SD从0到着陆实战演练。

在这里插入图片描述

如果能在15天内完成所有任务,那你堪称天才。但是,假如你能完成 60-70% 内容,你已经开始具备成为SD大神的正确特征。

这个完整版本的stable 我已经打包了diffusion信息,点击下面的插件,可免费领取!

在这里插入图片描述

【责任编辑:新华网】
返回顶部