7c70c37072
Add placeholder Vue components for visualizing technical concepts across multiple domains including frontend routing, browser rendering, cache design, queue design, database principles, API design, cloud services, and backend evolution. These components provide interactive educational content for the documentation. Update documentation structure to include new appendix sections and enhance existing content with visual components. Remove unused 'codex' dependency from package.json.
119 lines
5.4 KiB
Markdown
119 lines
5.4 KiB
Markdown
# AI 绘画与生图模型入门 (Image Generation Intro)
|
||
|
||
> 💡 **学习指南**:提示词工程是“教 AI 说话”,而生图模型则是“教 AI 做梦”。本章节将带你拆解 AI 画笔背后的魔法——它是如何从一堆毫无意义的噪点中,变出足以乱真的艺术品的?
|
||
|
||
在开始之前,建议你先体验一下“神笔马良”的感觉。
|
||
现在的 AI 绘画工具主要分为三类:
|
||
* **聊天机器人里带的**:GPT-4o (DALL·E 3), Gemini (Imagen 3) —— 简单,听得懂人话。
|
||
* **追求极致画质的**:Midjourney, Flux —— 审美无敌,每一张都是壁纸。
|
||
* **能精准控制的**:Stable Diffusion (WebUI/ComfyUI) —— 指哪打哪,设计师最爱。
|
||
|
||
---
|
||
|
||
## 0. 引言:为什么电脑画画不用“像素”?
|
||
|
||
<ImageGenQuickStartDemo />
|
||
|
||
如果我们想让电脑画一张 1024x1024 的高清图,它需要决定 **300 多万** 个像素点(红绿蓝通道)的颜色。
|
||
如果直接在这个“像素海洋”里作画,计算量会大到把你的显卡烧穿。
|
||
|
||
聪明的科学家想到了一个绝妙的办法:**“不要画照片,要画『压缩饼干』。”**
|
||
|
||
这就是我们今天要学的第一个核心概念:**潜空间 (Latent Space)**。
|
||
|
||
---
|
||
|
||
## 1. 潜空间:AI 的“压缩饼干”
|
||
|
||
想象一下,你要在电话里描述蒙娜丽莎:
|
||
* **方法 A (像素级)**:“第 1 行第 1 个点是深褐色,第 1 行第 2 个点是浅褐色……”(讲完需要一万年)
|
||
* **方法 B (特征级)**:“一个微胖的女人,长发,没有眉毛,神秘的微笑,背景是山水。”(讲完只需要 10 秒)
|
||
|
||
**方法 B 就是潜空间。** 它不存像素,只存“特征”。
|
||
|
||
### 1.1 VAE:那个把大象装进冰箱的家伙
|
||
|
||
AI 绘画的第一步,是把高清大图“压”进潜空间。这个工作由 **VAE (变分自编码器)** 完成。
|
||
它把一张巨大的图片,压缩成一张只有原本 1/48 大小的“特征图”。AI 只需要在这张小图上画画,最后再由 VAE 把它“放大”回高清图。
|
||
|
||
👇 **动手点点看**:
|
||
试着拖动滑块,感受一下“像素空间”和“潜空间”的区别。你会发现,在潜空间里移动一点点,图上的表情就会发生巨大的变化。
|
||
|
||
<LatentSpaceViz />
|
||
|
||
---
|
||
|
||
## 2. 扩散模型 (Diffusion):从混沌到秩序
|
||
|
||
既然有了画布(潜空间),AI 怎么动笔呢?
|
||
它的画法非常反直觉:**它不是在一张白纸上画,而是对着一张全是雪花点的“废纸”硬看,直到看出东西来。**
|
||
|
||
### 2.1 雕刻家理论
|
||
|
||
米开朗基罗说过:“雕像就在石头里,我只是去掉了多余的部分。”
|
||
**扩散模型 (Diffusion Model)** 也是这么想的。
|
||
|
||
1. **训练时 (前向过程)**:它把一张好图,一点点加上噪点,直到变成纯噪声。它记住了这个“搞破坏”的过程。
|
||
2. **生成时 (逆向过程)**:给它一张纯噪声,它就开始回想:“这玩意儿原本应该长什么样?”然后一步步把噪点减掉。
|
||
|
||
👇 **动手点点看**:
|
||
点击“开始去噪”,观察 AI 是如何像雕刻家一样,从一团混沌中把图像“挖”出来的。
|
||
|
||
<DiffusionProcessDemo />
|
||
|
||
---
|
||
|
||
## 3. CLIP:让 AI 听懂你的话
|
||
|
||
AI 会画画了,但它怎么知道你要画猫还是画狗?
|
||
这时候需要一个翻译官:**CLIP (文本编码器)**。
|
||
|
||
它把你的文字(Prompt)变成一串数学向量,然后“注射”到 AI 的大脑里。
|
||
当 AI 在去噪时,这些向量就像监工一样在旁边喊:
|
||
* “这里要画成毛茸茸的!” (关注 'cat')
|
||
* “背景要是赛博朋克的!” (关注 'cyberpunk')
|
||
|
||
这就是**交叉注意力 (Cross-Attention)** 机制。
|
||
|
||
<PromptVisualizer />
|
||
|
||
---
|
||
|
||
## 4. 进化:从“慢慢磨”到“传送门” (Flow Matching)
|
||
|
||
早期的 Stable Diffusion 画一张图需要走 20-50 步,因为它是“盲人摸象”,在去噪的路上跌跌撞撞。
|
||
最新的 **Flux** 和 **Stable Diffusion 3** 引入了 **Flow Matching (流匹配)** 技术。
|
||
|
||
如果说 Diffusion 是走迷宫找到出口,Flow Matching 就是直接在起点(噪声)和终点(图片)之间修了一条**直线高速公路**。
|
||
它不需要猜,直接滑过去。所以 Flux 只需要 4-8 步就能画出极好的画。
|
||
|
||
👇 **动手点点看**:
|
||
对比一下 Diffusion 的“随机游走”和 Flow Matching 的“直线传输”。
|
||
|
||
<FlowMatchingDemo />
|
||
|
||
---
|
||
|
||
## 5. 总结:AI 绘画的三驾马车
|
||
|
||
现在,当你点击“生成”按钮时,你的电脑里正在发生一场精密的接力赛:
|
||
|
||
1. **CLIP (翻译官)**:听懂你的话,变成指令。
|
||
2. **Transformer/UNet (画家)**:在 **潜空间** 里,用 **Flow/Diffusion** 的方法,把噪声变成特征图。
|
||
3. **VAE (放大镜)**:把特征图还原成高清大图。
|
||
|
||
这就是从噪点中诞生艺术的全过程。
|
||
|
||
---
|
||
|
||
## 附录:核心术语表
|
||
|
||
| 术语 | 解释 | 比喻 |
|
||
| :--- | :--- | :--- |
|
||
| **Latent Space** | 潜空间 | 压缩后的特征世界,AI 的工作室 |
|
||
| **VAE** | 变分自编码器 | 负责把大图变小(Encode)和把小图变大(Decode)的搬运工 |
|
||
| **Diffusion** | 扩散模型 | 通过“去噪”来画画的算法,像雕刻石头 |
|
||
| **Noise** | 噪声 | 随机的雪花点,AI 的原材料 |
|
||
| **Sampler** | 采样器 | 决定去噪具体怎么走的“导航仪” (如 Euler, DPM++) |
|
||
| **LoRA** | 低秩适应 | 给模型打的小补丁,专门画特定风格或角色 |
|