fac0133db5
将 11 个目录下的 26 个子章节文件合并到对应的父文件中, 用 --- 分隔各子章节,移除冗余的章节目录索引。 每个篇章现在是独立的单文件,结构更简洁。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
345 lines
7.6 KiB
Markdown
345 lines
7.6 KiB
Markdown
# 第五篇:生成式AI
|
||
|
||
本篇讲解生成模型的发展脉络和AIGC工具链,探索AI在设计创造领域的应用。
|
||
|
||
## 篇章导读
|
||
|
||
生成式AI正在重新定义创造的边界。从图像生成到音乐创作,从文本写作到代码生成,AI正在成为人类的"创意伙伴"。
|
||
|
||
本篇将系统介绍生成模型的演进和AIGC工具链。
|
||
|
||
---
|
||
|
||
### 学习目标
|
||
|
||
1. 理解生成模型的发展脉络
|
||
|
||
掌握Diffusion模型的基本原理
|
||
|
||
了解各类生成模型的优缺点
|
||
|
||
### 生成模型家族
|
||
|
||
#### AE (Autoencoder,自编码器)
|
||
|
||
`输入`` → ``编码器`` → ``潜在表示`` → ``解码器`` → ``重构`
|
||
|
||
思想:学习数据的压缩表示
|
||
|
||
问题:生成的图像模糊,缺乏多样性
|
||
|
||
#### VAE (Variational AE,变分自编码器)
|
||
|
||
`潜在空间约束为标准正态分布`\
|
||
` ↓`\
|
||
`可以随机采样`` → ``解码`` → ``生成新图像`
|
||
|
||
改进:引入概率分布,增强生成能力
|
||
|
||
#### GAN (Generative Adversarial Network)
|
||
|
||
`生成器:生成假图像`\
|
||
`判别器:判断真假`\
|
||
` ↓`\
|
||
`对抗训练,相互博弈`
|
||
|
||
优势:生成图像质量高 问题:训练不稳定,模式崩溃
|
||
|
||
#### Diffusion Model (扩散模型)
|
||
|
||
`前向:逐步加噪`` → ``纯噪声`\
|
||
`反向:学习去噪`` → ``还原图像`
|
||
|
||
优势:训练稳定,生成质量极高 代表:Stable Diffusion, DALL-E 3
|
||
|
||
### Diffusion原理
|
||
|
||
#### 前向过程 (加噪)
|
||
|
||
`原图`` x₀`\
|
||
` ↓ ``加高斯噪声`\
|
||
`x₁ = x₀ + ε₁`\
|
||
` ↓ ``加噪声`\
|
||
`x₂ = x₁ + ε₂`\
|
||
` ↓ ...`\
|
||
`x_T`` = ``纯噪声`
|
||
|
||
#### 反向过程 (去噪)
|
||
|
||
`纯噪声`` ``x_T`\
|
||
` ↓ ``去噪`\
|
||
`x_{T-1} = ``去噪网络``(``x_T``)`\
|
||
` ↓ ``去噪`\
|
||
`x_{T-2} = ``去噪网络``(x_{T-1})`\
|
||
` ↓ ...`\
|
||
`x₀ = ``原始图像`
|
||
|
||
#### 训练目标
|
||
|
||
`去噪网络学习预测:`\
|
||
` ``添加的噪声`` ε`\
|
||
` ``或`\
|
||
` ``原始图像`` x₀`
|
||
|
||
### Stable Diffusion架构
|
||
|
||
#### 潜在空间扩散
|
||
|
||
`为了效率,在潜在空间操作:`\
|
||
\
|
||
`图像`` → VAE``编码`` → ``潜在表示`` → ``扩散`` → ``去噪`\
|
||
` ↓`\
|
||
` VAE``解码`` → ``图像`
|
||
|
||
#### 核心组件
|
||
|
||
-------------------------------------
|
||
组件 作用
|
||
-------------- ----------------------
|
||
VAE 图像与潜在空间的转换
|
||
|
||
U-Net 去噪网络
|
||
|
||
Text Encoder 处理文本提示词
|
||
|
||
CLIP 文图对齐
|
||
-------------------------------------
|
||
|
||
### 文生图工作流
|
||
|
||
#### 输入提示词
|
||
|
||
`"``一只猫,水彩画风格``"`
|
||
|
||
####
|
||
|
||
`2. ``文本编码`
|
||
|
||
#### → 文本向量表示
|
||
|
||
`3. ``初始化`
|
||
|
||
#### → 随机噪声
|
||
|
||
`4. ``去噪循环`
|
||
|
||
`for t in T...1:`
|
||
|
||
`噪声`` → ``预测噪声`` → ``去噪`
|
||
|
||
`5. ``解码输出`
|
||
|
||
→ 潜在表示 → VAE解码 → 图像
|
||
|
||
### 思考与练习
|
||
|
||
1. Diffusion为什么比GAN训练更稳定?
|
||
|
||
2. 潜在空间扩散有什么优势?
|
||
|
||
3. 文生图如何实现风格控制?
|
||
|
||
### 关键术语
|
||
|
||
---------------------------------------------------
|
||
中文 英文 说明
|
||
---------- ----------------- ----------------------
|
||
潜在空间 Latent Space 压缩后的数据表示空间
|
||
|
||
去噪 Denoising 移除噪声的过程
|
||
|
||
提示词 Prompt 指导生成的文本描述
|
||
|
||
潜变量 Latent Variable 不可直接观测的变量
|
||
|
||
模式崩溃 Mode Collapse GAN生成多样性不足
|
||
---------------------------------------------------
|
||
|
||
### 延伸阅读
|
||
|
||
1. [Denoising Diffusion Probabilistic Models](https://arxiv.org/abs/2006.11239)
|
||
|
||
[High-Resolution Image Synthesis with Latent Diffusion Models](https://arxiv.org/abs/2112.10752) \# 04.2 AIGC设计工具链
|
||
|
||
---
|
||
|
||
## 学习目标
|
||
|
||
3. 掌握ControlNet的条件控制机制
|
||
|
||
理解LoRA高效微调原理
|
||
|
||
了解ComfyUI工作流搭建
|
||
|
||
## ControlNet:精确控制
|
||
|
||
核心问题
|
||
|
||
纯文生图:难以精确控制空间结构
|
||
|
||
### ControlNet解决
|
||
|
||
`输入图像`` → ``提取条件`` (``边缘``/``深度``/``姿态``)`\
|
||
` ↓`\
|
||
`条件`` → ControlNet → ``主模型`` → ``输出图像`
|
||
|
||
### 条件类型
|
||
|
||
------------------------------------
|
||
条件 说明 应用
|
||
-------------- ---------- ----------
|
||
Canny 边缘检测 轮廓控制
|
||
|
||
Depth 深度图 空间关系
|
||
|
||
Pose 人体姿态 人物生成
|
||
|
||
Normal 法线图 表面细节
|
||
|
||
Segmentation 分割图 区域控制
|
||
------------------------------------
|
||
|
||
### 应用场景
|
||
|
||
`草图`` → ControlNet → ``精细效果图`\
|
||
`平面图`` → ControlNet → ``三维渲染`\
|
||
`结构图`` → ControlNet → ``风格化设计`
|
||
|
||
LoRA:高效微调
|
||
|
||
问题
|
||
|
||
全量微调大模型:计算资源需求巨大
|
||
|
||
LoRA原理
|
||
|
||
`原始权重`` W ``固定`\
|
||
` ↓`\
|
||
`添加低秩分解:`\
|
||
` ΔW = A × B`\
|
||
` (``d×r``) × (``r×d``)`\
|
||
` ↓`\
|
||
`新输出`` = ``Wx`` + ``ABx`
|
||
|
||
优势: - 参数量减少100-1000倍 - 训练速度快 - 易于切换风格
|
||
|
||
### 应用方式
|
||
|
||
`基础模型`` + ``LoRA`` A = ``风格``A`\
|
||
`基础模型`` + ``LoRA`` B = ``风格``B`\
|
||
`基础模型`` + ``LoRA`` A + B = ``混合风格`
|
||
|
||
## ComfyUI:模块化工作流
|
||
|
||
### 核心特点
|
||
|
||
`节点化连接`\
|
||
` ↓`\
|
||
`可视化流程`\
|
||
` ↓`\
|
||
`灵活定制`
|
||
|
||
### 典型节点
|
||
|
||
---------------------------------
|
||
节点类型 功能
|
||
------------------ --------------
|
||
Load Checkpoint 加载模型
|
||
|
||
CLIP Text Encode 文本编码
|
||
|
||
KSampler 采样生成
|
||
|
||
VAE Decode 潜在空间解码
|
||
|
||
Save Image 保存图像
|
||
|
||
ControlNet 条件控制
|
||
|
||
LoRA Loader 加载LoRA
|
||
---------------------------------
|
||
|
||
### 工作流示例
|
||
|
||
`文本提示`` → CLIP``编码`` →`\
|
||
` ↓`\
|
||
`正负提示`` ────→ ``KSampler`` ← ControlNet`\
|
||
` ↓`\
|
||
` VAE``解码`\
|
||
` ↓`\
|
||
` ``保存图像`
|
||
|
||
## 设计领域应用案例
|
||
|
||
### 建筑设计
|
||
|
||
`草图生成`` → ControlNet (Canny) → ``效果图`\
|
||
`方案变体`` → ``LoRA``风格微调`` → ``多方案对比`
|
||
|
||
### 室内设计
|
||
|
||
`户型图`` → ControlNet → ``三维效果图`\
|
||
`风格迁移`` → ``LoRA`` → ``不同材质方案`
|
||
|
||
---------------------------------------
|
||
工具 核心价值
|
||
------------------ --------------------
|
||
Midjourney 快速创意探索
|
||
|
||
Stable Diffusion 本地部署,可控生成
|
||
|
||
ControlNet 精确结构控制
|
||
|
||
ComfyUI 定制化工作流
|
||
---------------------------------------
|
||
|
||
## 版权与伦理
|
||
|
||
### 版权问题
|
||
|
||
6. AI训练数据的版权归属
|
||
|
||
AI生成作品的版权保护
|
||
|
||
风格模仿的法律边界
|
||
|
||
### 伦理考量
|
||
|
||
9. 深度伪造 (Deepfake)
|
||
|
||
虚假信息传播
|
||
|
||
创作者职业影响
|
||
|
||
## 思考与练习
|
||
|
||
1. ControlNet如何平衡条件控制与创造性?
|
||
|
||
2. LoRA和全量微调各适用于什么场景?
|
||
|
||
3. AIGC工具如何融入设计工作流?
|
||
|
||
## 关键术语
|
||
|
||
------------------------------------------------------
|
||
中文 英文 说明
|
||
---------- --------------------- ---------------------
|
||
条件控制 Conditional Control 引导生成过程
|
||
|
||
低秩适应 LoRA Low-Rank Adaptation
|
||
|
||
工作流 Workflow 节点化的处理流程
|
||
|
||
采样器 Sampler 去噪采样算法
|
||
|
||
潜在空间 Latent Space 压缩的特征空间
|
||
------------------------------------------------------
|
||
|
||
## 延伸阅读
|
||
|
||
1. [ControlNet官方论文](https://arxiv.org/abs/2302.05543)
|
||
|
||
[LoRA官方论文](https://arxiv.org/abs/2106.09685)
|
||
|
||
[ComfyUI文档](https://docs.comfy.org/)
|