Stable Diffusion详解

介绍

Stable Diffusion是文生图模型,包括三个大组件,VAE,Clip和Unet。

原理分析

1.Unet的详细结构

上面两张图对应着看,Unet包含三大部分:

①下采样

三个cross attention下采样模块(CrossAttnDownBlock2D)

一个普通下采样模块(DownBlock2D)

②中间

一个中间模块(UnetMidBlock2DCrossAttn)

③上采样

一个普通上采样模块(UpSample2D)

三个cross attention上采样模块(CrossAttnUpBlock2D)

接下来,我们逐个分析每个模块

cross attention下采样模块(CrossAttnDownBlock2D)

来详细看cross attention下采样模块的结构:

很明显,这里面包括三个子块:

① ResnetBlock2D

② Transformer2DModel

③ DownSample2D

一步步来,看每个子模块包含啥

ResnetBlock2D

ResnetBlock2D的输入包括两部分:

① 上一层的latent

② 时间步的embedding

PS:输入输出通道数不一致的时候,残差连接会用一个1x1的卷积

时间步编码模块的结构如下图所示:

接下来看Transformer2DModel子模块

这个模块的输入也是包括两部分:

① 上一层的latent

② 文本的embedding,其shape=2, 77, 768

来看看BasicTransformerBlock块

更进一步拆解,SelfAttention的结构为:

CrossAttention的结构为:

很多面试里会问到Unet中的cross attention,其实是在这里,Q的根源来自图像特征,经过了一些列的中间块处理;KV来自文本

<>

Feedforward就很显而易见了,跟transformer中的类似

接下来看DownSample2D子模块

上面都是cross attention下采样模块(CrossAttnDownBlock2D)

下面分析DownBlock2D

上面分析完了所有下采样,看一眼中间模块

UnetMidBlock2DCrossAttn

最后是上采样的

UpBlock2D模块

UpSample2D

CrossAttnUpBlock2D

注意, 最后一个CrossAttnUpBlock2D没有UpSample2D模块

2.CLIP的详细结构

CLIP这里用到的是文本编码器,结构如下:

CLIPTextEmbeddings

灰色的框框text_inoputs和embedding不是操作,是表示输入输出:

CLIPEncoderLayer

CLIPEncoderLayer就是普通的Transformer 的Encoder层了

总结

  • Unet的重点在于哪个cross attention下采样模块,里面包含resblock和transformer相关的block,其中resblock接受时间步嵌入作为输入,transformer模块接受文本嵌入作为输入,这块就是用到了cross attention。Q的根源是来此图像,但是是经过了很多层处理后的latent feature,KV来自文本嵌入。

参考

Stable Diffusion1.5网络结构-超详细原创

相关推荐
Miss小乐18 小时前
stable-diffusion-webui安装教程和遇到的问题解决
stable diffusion
Είναι η κοπέλα2 天前
Stable Diffusion文生图:本地 AI 绘画事实标准入门
人工智能·stable diffusion
瑶山7 天前
stable-diffusion.cpp 参数全集整理(sd-cli.exe / sd-server.exe)
java·数据库·stable diffusion·参数全集
云间月13148 天前
Stable Diffusion WebUI完整部署:从本地出图到7860远程访问
stable diffusion
霸道流氓气质8 天前
Java调用StableDiffusion/ComfyUI图像生成:DAG工作流编排、WebSocket实时进度与Flux模型集成的生产级实战
java·websocket·stable diffusion
一木 之林17 天前
《OpenAI库基础学习总结:Client 初始化、流式输出 delta 拼接与多轮历史 messages 全流程拆解》
人工智能·学习·计算机视觉·stable diffusion·aigc
一木 之林19 天前
Stable Diffusion 详解:潜空间扩散原理、三件套分工与 diffusers 文生图实战
人工智能·计算机视觉·stable diffusion
AIGC小尼1 个月前
本地AI漫剧部署|低配8G显存实战部署MiniMax-H3|4步极速采样+低显存优化完整方案(可角色替换/视频魔改)
人工智能·stable diffusion·comfyui·ai漫剧
月疯2 个月前
Stable Diffusion是如何生成视频
人工智能·stable diffusion