1 历史与背景

1.1 扩散模型的早期发展

1.1.1 DDPM 与 Score-Based 模型

扩散模型的核心思想源于非平衡热力学。2020年,Ho等人提出去噪扩散概率模型(DDPM),通过逐步向图像添加高斯噪声(前向扩散),再训练神经网络逆向去除噪声(反向去噪)。同期,Song等人提出基于分数的生成模型(Score-Based Model),利用分数匹配实现连续时间扩散。两者本质上等价,奠定了现代扩散模型的数学基础。

1.1.2 潜在扩散概念的提出

原始扩散模型直接在像素空间操作,计算量巨大、生成高分辨率图像需要极多GPU资源。2022年,Rombach等人在论文《High-Resolution Image Synthesis with Latent Diffusion Models》中提出:将图像先由变分自编码器(VAE)压缩至低维潜在空间,再在该空间执行扩散过程。这一“潜在扩散”思路大幅降低了计算成本,使得在单张消费级显卡上生成高清图像成为可能。

1.2 开源之路:CompVis → Stability AI

1.2.1 从学术项目到社区狂欢

潜在扩散模型最初由慕尼黑大学CompVis研究小组开发。2022年8月,Stability AI公司提供资金与算力支持,将模型权重以开源许可证(Creative ML OpenRAIL-M)发布。开源社区迅速围绕其构建WebUI、模型微调工具和分享平台,形成了一场“人人皆可画画”的狂欢。Stable Diffusion因此成为首个真正面向大众的开源文本到图像生成模型。

1.2.2 版本迭代年表(v1.x → v2.x → SDXL → SD3)

  • v1.1–v1.5(2022年8月–10月):基于LAION-5B子集训练,v1.5成为社区最广泛使用的基准版本。
  • v2.0–v2.1(2022年11月–12月):改用OpenCLIP文本编码器,过滤了部分敏感数据,提升了内容安全性,但社区因风格变化争议较大。
  • SDXL(2023年7月):引入两阶段级联架构,原生支持1024×1024分辨率,并加入refiner模型优化细节。
  • SD3(2024年6月):采用扩散Transformer(DiT)架构,支持多模态条件注入,生成质量与文本理解能力大幅提升,但计算需求显著增加。

2 技术原理

2.1 扩散过程简述

2.1.1 前向扩散:加噪

前向过程将一张清晰图像逐步添加高斯噪声,经过足够多的时间步后变为纯随机噪声。该过程由预定义的噪声调度器(如线性、余弦调度)控制,每一步的噪声强度已知,因此在训练时无需模拟完整过程,可直接从任意时间步采样加噪结果。

2.1.2 反向去噪:U-Net 预测噪声

反向过程由一个U-Net架构的神经网络实现。给定一个噪声图像和时间步t,U-Net预测当前叠加的噪声,然后按照调度器规则减去该噪声,逐步还原出清晰图像。训练目标是最小化预测噪声与真实噪声之间的差异。

2.2 潜在空间与 VAE

2.2.1 编码器将像素压缩为潜在表示

VAE的编码器将像素空间的图像(例如512×512×3)压缩为潜在空间中的较小特征张量(例如64×64×4)。压缩比通常为8倍,使得后续扩散过程只需处理低维数据,极大降低显存与推理时间。

2.2.2 解码器从潜在空间重建图像

逆向生成时,扩散过程在潜在空间生成一个特征张量,然后由VAE解码器将其上采样回像素空间,得到最终图像。解码器质量直接决定输出的细节保真度。

2.3 文本条件控制(Cross-Attention)

2.3.1 CLIP 文本编码器

Stable Diffusion使用CLIP(Contrastive Language–Image Pre-training)模型的文本分支将自然语言提示词转换为向量嵌入(通常为768维或1024维)。CLIP经过图文对比学习训练,能将语义相近的文本映射到相似的向量空间。

2.3.2 提示词(Prompt)的“咒语”本质

在生成过程中,文本嵌入通过交叉注意力机制注入U-Net的每一层,引导去噪方向。用户对提示词的措辞、顺序、加权语法非常敏感,因此诞生了“咒语”文化——通过精心编排的词句(如“masterpiece, best quality, detailed face”)来召唤理想输出。社区甚至出现了专门的提示词交易市场。

2.4 调度器(Scheduler)与采样器

2.4.1 DDIM、DPM++、Euler 等主流采样器

调度器决定每一步如何从U-Net预测的噪声中恢复图像,不同采样器在速度与质量上各有取舍:DDIM支持跳过部分步数以加速生成;DPM++系列在低步数时保持较高保真度;Euler与Heun方法适合精准控制;还有LCM(Latent Consistency Model)采样器可在1-4步内产出可用结果。

2.4.2 采样步数对画质的影响

步数越多,去噪过程越精细,但耗时线性增长。通常20–50步即可获得良好效果;超过100步收益递减。极低步数(如4步)配合LCM采样器可接近实时生成,但细节损失较大。

3 模型架构

3.1 主干网络:U-Net

3.1.1 下采样与上采样块

U-Net由编码器(下采样,逐步降低分辨率、增加通道数)和解码器(上采样,逐步恢复分辨率)组成。各层之间通过跳跃连接(Skip Connection)传递特征,保留低层细节。

3.1.2 时间步嵌入与文本交叉注意力

时间步t通过正弦位置编码转换为嵌入向量,与文本嵌入一起送入每层的残差块。交叉注意力层将文本嵌入作为Query的Key/Value,特征图作为Query,实现语义引导。

3.2 VAE(变分自编码器)

3.2.1 潜在空间的维度与压缩比

标准Stable Diffusion的VAE将图像压缩至宽高各为1/8的特征图,通道数为4。例如512×512输入得到64×64×4的潜在表示,压缩比约48×(3072像素通道压缩至256)。

3.2.2 权重冻结与微调策略

训练扩散模型时,VAE权重通常被冻结,只更新U-Net。社区微调(如DreamBooth、LoRA)也保持VAE不动。部分进阶玩法会替换VAE(如“VAE-ft-MSE”或“SDXL VAE”)以改善色彩和细节。

3.3 文本编码器

3.3.1 CLIP ViT-L/14 与 OpenCLIP

早期版本使用OpenAI的CLIP ViT-L/14(文本输出768维)。v2.x起改用LAION训练的OpenCLIP,输出1024维,并对文本-图像对齐进行了优化。

3.3.2 多语言编码(如 Chinese-CLIP)

由于原始CLIP以英语为主,社区开发了Chinese-CLIP等变体,使模型能理解中文提示词。这些编码器需替换原路径并清洗数据集,效果取决于训练质量。

3.4 LoRA、Hypernetwork、ControlNet 等扩展结构

3.4.1 LoRA 低秩适配原理

LoRA(Low-Rank Adaptation)通过在U-Net的注意力层中注入可训练的低秩矩阵,仅需少量参数(通常数MB)即可微调模型风格或角色。训练时原始权重冻结,LoRA模块可单独加载/卸载,便于组合使用。

3.4.2 ControlNet 空间条件控制

ControlNet将额外条件(如边缘图Canny、深度图Depth、人体姿态OpenPose)作为输入,通过复制U-Net编码器的中间特征并加权融合,实现对生成图像布局的精确控制。ControlNet家族已超过十余种预训练模型。

4 训练与数据集

4.1 数据集构成

4.1.1 LAION-5B 大规模图文对

Stable Diffusion主要训练数据来自LAION-5B,一个从互联网抓取的约58亿图文对数据集。该数据集包含图像URL和Alt文本描述,后经清洗、过滤、去重。

4.1.2 数据清洗与安全过滤

训练前需过滤低分辨率、文字重叠、NSFW(不宜工作场合)等内容。Stability AI使用CLIP相似度评分、哈希匹配、人工审核等方式剔除有害数据。尽管尽力过滤,仍存在少量侵权与偏见问题。

4.2 训练目标与损失函数

4.2.1 噪声预测的 L2 损失

模型输出为预测噪声,与真实添加的高斯噪声计算均方误差(MSE,即L2损失)。这是训练扩散模型的标准目标。

4.2.2 梯度裁剪与混合精度训练

为防止梯度爆炸,常用梯度裁剪(如最大值1.0)。混合精度训练(FP16或BF16)可将显存占用减半,并利用Tensor Cores加速,成为主流实践。

4.3 训练流程优化

4.3.1 从零训练 vs 微调

从零训练需要数千张GPU天(例如SDXL据称使用约800张A100),一般个人无法承担。微调(如DreamBooth、LoRA)基于预训练权重,用少量图片(几十到几百张)即可适配新概念或画风,成本大幅降低。

4.3.2 分布式训练与计算资源消耗

大规模训练采用数据并行、模型并行、流水线并行等技术。v1.5在256块A100上训练约需23天。社区微调通常一张RTX 3090(24GB显存)在数小时内完成。

5 使用与部署

5.1 本地运行环境配置

5.1.1 硬件要求(NVIDIA GPU + VRAM 建议)

  • 最低:4GB VRAM(仅生成低分辨率512×512,步数受限)
  • 推荐:8GB VRAM(RTX 2070 Super / 3060,流畅运行SDXL 1.5)
  • 较好:12GB以上(RTX 3080/3090/4080,可跑SDXL高分辨率、多LoRA组合)
  • AMD与Apple Silicon:通过DirectML或Metal后端支持,但速度与生态稍弱。

5.1.2 常用框架:Automatic1111 WebUI、ComfyUI、Forge

  • Automatic1111 WebUI:功能最齐全的图形界面,集成大量扩展,适合新手。
  • ComfyUI:基于节点式工作流,灵活可控,适合高级用户搭建自定义流程。
  • Forge:较新的WebUI分支,优化了显存使用与启动速度。

5.2 在线服务与 API

5.2.1 Stability AI 官方 API

通过Stability AI官网注册获取API Key,可调用SDXL、SD3、图像编辑等端点,按生成次数计费,无需本地GPU。

5.2.2 第三方平台(Hugging Face Spaces、Replicate)

Hugging Face Spaces提供免费(有限配额)的SD演示空间;Replicate、RunPod等提供按秒计费的GPU推理服务,支持上传自定义模型。

5.3 基本操作流程

5.3.1 Prompt 编写技巧(正向提示词、反向提示词、加权语法)

  • 正向提示词:描述期望内容,包括主体、环境、材质、画风等。常用修饰语如“best quality, masterpiece, ultra-detailed”。
  • 反向提示词:列出不希望出现的内容,如“nsfw, lowres, bad anatomy, extra fingers”。
  • 加权语法:使用(keyword:1.5)提升权重,[keyword:0.5]降低权重,{keyword}((keyword))也可表示加权。

5.3.2 参数调节:种子、CFG Scale、步数、分辨率

  • 种子(Seed):固定噪声起点,同一种子+相同参数可复现结果。
  • CFG Scale:引导强度(默认7.5),值越大越遵循提示词,但可能过饱和;值越小越自由,易产生混乱。
  • 步数(Steps):见2.4.2节。
  • 分辨率:需与模型匹配(如v1.5推荐512×512,SDXL推荐1024×1024),超出容易产生重复纹样。

5.3.3 图像尺寸与生成模式(文生图、图生图、Inpainting)

  • 文生图:纯文本→图像。
  • 图生图:提供初始图像,模型在此基础上加噪再去噪,可改变风格或局部调整。
  • Inpainting:遮罩特定区域,仅重绘该区域内容,适合去水印、换元素。

5.4 进阶功能

5.4.1 Batch 批量生成

设定生成批次和每批数量,利用GPU并行优势一次产出多张图片,方便筛选。

5.4.2 图像放大(Upscale)与潜空间放大

  • ESRGAN / Real-ESRGAN:传统超分模型,在像素空间放大2×–4×。
  • 潜空间放大:在扩散过程中使用更高分辨率VAE解码,或通过“Highres. Fix”模式先低分辨率生成再放大去噪。

5.4.3 提示词矩阵与 X/Y 图表联动

在WebUI中,可将多个提示词或参数组合成矩阵,一次生成对比图。X/Y/Z图表可自动绘制不同种子、CFG Scale、采样器下的结果,用于参数调优。

6 应用场景

6.1 AI 艺术创作

6.1.1 概念设计、角色插画、场景绘制

画家、插画师使用Stable Diffusion快速产出设计草图,再用手绘或Photoshop精修。角色概念设计通过组合LoRA可固定角色外貌。

6.1.2 风格化滤镜与艺术再创作

图生图模式可将照片转换为梵高、莫奈、浮世绘等风格。ControlNet的Canny条件可提取原图轮廓,保持构图的同时替换纹理。

6.2 游戏与影视开发

6.2.1 资产快速原型(纹理、图标、道具)

游戏美术师用文生图生成武器、道具、纹理贴图,再导入3D软件适配。图标生成可批量产出UI素材。

6.2.2 动态脚本生成与分镜辅助

配合文字转视频工具(如AnimateDiff、SVD),可将分镜脚本转化为动态预览,辅助导演和剪辑师快速验证创意。

6.3 商业设计

6.3.1 广告海报、LOGO 灵感

设计师输入广告文案和风格关键词,获得多种海报布局灵感;LOGO设计则通过Inpainting细化草稿文字位置。

6.3.2 电商产品图生成(换背景、换材质)

图生图+蒙版可快速更换商品背景、颜色、材质,大幅降低摄影成本。例如白底鞋换为森林露营场景。

6.4 教育与研究

6.4.1 计算机视觉课程实验平台

学生通过修改提示词、训练LoRA直观理解注意力机制、潜在空间表示等概念。

6.4.2 多模态对齐、可控生成等课题

研究者使用Stable Diffusion作为基线,探索文本-图像对齐、编辑、解耦控制等方向,每年大量论文引用其开源代码。

7 社区与衍生生态

7.1 模型托管平台(Civitai、Hugging Face)

7.1.1 Checkpoint 模型分享与评级

Civitai(C站)是目前最大的Stable Diffusion模型社区,用户上传自己训练或合并的Checkpoint,附带示例图、基础模型、触发词等信息。社区通过投票和评论评级。

7.1.2 画风分类与“炼丹”文化

模型按画风分为写实(Realistic)、二次元(Anime)、3D渲染(2.5D)、油画等类别。用户称训练模型为“炼丹”,将特殊Prompt称为“丹方”。

7.2 插件与扩展

7.2.1 ControlNet 家族(OpenPose、Canny、Depth)

除已提主流条件外,还有Scribble(手绘线稿)、Normal Map(法线贴图)、Seg(语义分割)等,允许用户用不同方式约束布局。

7.2.2 Tiled Diffusion、Regional Prompter

  • Tiled Diffusion:将大图分片生成再拼接,突破显存限制,可生成2048×2048以上分辨率。
  • Regional Prompter:将画布划分为多个区域,每个区域指定不同的提示词,实现“左脸是猫,右脸是人”等局部控制。

7.3 提示词交易与隐私问题

7.3.1 “咒语”市场与版权争议

部分用户将精心编写的长提示词当作商品出售。但提示词本身是否受版权保护存在法律模糊地带;更严重的是,生成图像可能模仿特定画家的风格,引发“AI抄袭”争论。

7.3.2 生成内容指纹与 NSFW 过滤

Stability AI及平台尝试给生成图像嵌入不可见水印(指纹),以追溯来源。社区则开发了各种绕过NSFW过滤器的方法,导致伦理监管困难。

8 评价与争议

8.1 技术优势与局限

8.1.1 生成速度、多样性、可控性

优势:在消费级硬件上秒级出图;通过LoRA、ControlNet实现精细控制;开源生态促进了海量模型和工具创新。局限:难以完美处理复杂光照、物理遮挡;对具象的人物、品牌Logo生成的合法性问题。

8.1.2 常见缺陷:手部畸形、多对象混淆

早期版本极易生成六指、扭曲的手掌(称为“手指灾难”);提示多个对象时,属性常相互混杂(例如“一只红猫和一只蓝狗”可能生成紫猫)。SDXL与SD3显著改善了这些问题,但未彻底消除。

8.2 版权与伦理问题

8.2.1 训练数据中未经授权的艺术品

LAION数据集中包含大量受版权保护的商业插画、摄影作品。多位艺术家联合起诉Stability AI、Midjourney等公司,指控其在未获授权的情况下使用作品训练模型。案件仍在审理中。

8.2.2 “艺术完了吗?”——对创作者生态的冲击

AI生成图像的普及引发了“艺术家失业恐慌”。部分平台(如DeviantArt)修改政策允许AI作品,但传统画家认为工具降低了艺术门槛,也挤压了原创价值。然而,更多观点认为AI是辅助而非替代。

8.3 开源与闭源的博弈

8.3.1 Stability AI 商业转型 vs 社区保留 v1.5

Stability AI在v2.x后逐渐收紧许可证,要求商业使用需购买会员或使用API。社区因此坚持使用v1.5,后来涌现众多基于v1.5的衍生模型(如Anything v5、DreamShaper)。SDXL和SD3虽然也开源,但商业条款相对严格。

8.3.2 Midjourney vs Stable Diffusion 的生态对比

Midjourney闭源,通过Discord订阅使用,生成美学质量公认更优,但用户无法微调或本地运行。Stable Diffusion开放、可定制,但需要用户解决技术问题。社区评价:Midjourney是顶级餐厅,SD是厨房——需要自己下厨,也能做出个人风味。

9 相关术语与常用资源

9.1 术语表

9.1.1 Checkpoint、VAE、LoRA、Embedding、Hypernetwork

  • Checkpoint:完整的模型权重文件,通常为安全张量(.safetensors)格式,包含U-Net、VAE、文本编码器等。
  • VAE:见3.2节。
  • LoRA:见3.4.1节。
  • Embedding(也称为Textual Inversion):轻量级提示词微调,将新概念映射为虚拟词嵌入,文件较小(几KB)。
  • Hypernetwork:一种早期微调方法,通过额外的小网络修改注意力权重,使用较少。

9.1.2 CFG Scale、Seed、Sampler、Steps

  • CFG Scale:引导力度(Classifier-Free Guidance Scale)。
  • Seed:随机数种子,用于复现。
  • Sampler:采样器算法(如Euler a、DPM++ 2M Karras)。
  • Steps:采样步数。

9.2 推荐阅读与工具

9.2.1 官方论文《High-Resolution Image Synthesis with Latent Diffusion Models》

2022年CVPR会议的该篇论文是Stable Diffusion的原始出处,详细阐述了潜在扩散模型、VAE压缩、交叉注意力等核心设计。

9.2.2 新手入门教程(Bilibili、YouTube 热门频道)

  • Bilibili:搜索“Stable Diffusion 教程”可找到大量中文实战视频,如“秋葉aaaki”的系列。
  • YouTube:英文频道推荐“Sebastian Kamph”、“Olivio Sarikas”。
  • 在线文档:Stability AI官方GitHub仓库、Automatic1111 Wiki、ComfyUI Examples。