前言 #
最近 AI 生图越来越火,从 Midjourney 到 Stable Diffusion,生成的图片质量已经到了让人惊叹的程度。但我一直很好奇,这背后的技术到底是什么?为什么 AI 能凭空「画」出一张图?后来花了一些时间研究 Diffusion 模型、UNet、CLIP 这些核心组件,发现整个技术栈比想象中更加巧妙。这篇文章就把我的理解整理出来,从底层原理到实际应用中的风格控制和控图方案,尽量讲清楚。
扩散模型:一杯墨水的故事 #
AI 生图的底层技术叫扩散模型(Diffusion Model)。核心思路用一个墨水的比喻就能讲明白1。
想象一杯清水,代表一张清晰的原始图片。
第一步:不断往水里滴墨水。 一滴、两滴、三滴……水越来越浑浊,图片变得越来越模糊。滴到足够多的时候,清水变成了纯墨水,图片变成了满是噪点的雪花屏。这个过程叫加噪(Forward Diffusion)。
第二步:反过来,把墨水从水里抽出来。 一点一点地抽,雪花屏上的噪点逐步消失,模糊的画面逐渐变得清晰。最终,墨水抽干了,一张全新的清晰图片诞生了。这个过程叫去噪(Reverse Diffusion)。
扩散模型的核心逻辑就是这两步:
- 训练阶段:让模型学习「加墨水」的过程,知道滴了多少步之后图像会变成什么样,建立噪声规律的知识。
- 生成阶段:反向操作,从一张纯噪声的雪花图开始,一步步把「墨水」抽出来,最终得到一张全新图片。
所以 AI 「画画」的过程,不是从白纸开始画,而是从一团乱麻中「还原」出一幅画。这个思路最早来自物理学中的非平衡热力学,后来被 Sohl-Dickstein 等人引入到生成模型领域2。
UNet 和 CLIP:主力工程师与翻译官 #
知道了扩散模型的核心思路,接下来认识两个关键角色。
UNet:流水线上的主力工程师 #
UNet 是一个 U 型的图像处理网络,负责预测每一步该「抽多少墨水」[^3]。
它的工作方式像一条流水线:编码器把图片压缩,抓住核心特征;解码器再一步步还原出清晰的图。中间有一条记忆通道(残差连接),保证信息在压缩和还原过程中不丢失。
没有 UNet,扩散模型就不知道每一步该怎么去噪,生成过程就无法进行。
CLIP:把人话翻译成机器语言的翻译官 #
UNet 能干活,但它只认识数字,不认识你写的「一只戴帽子的狗」这种文字。
CLIP 就是那个翻译官。它在海量「图片 - 文字描述」对上训练过,能把文字和图片的含义对齐到同一种「语言」里[^4]。「一只戴帽子的狗」这段文字被编码成特征向量后,和真实戴帽子的狗图片编码后的含义非常接近。
CLIP 把你的文字指令翻译成 UNet 能理解的特征向量,UNet 再根据这些特征去做去噪。两个角色配合,才实现了「你说什么,它画什么」。
Stable Diffusion 的天才优化:潜空间扩散 #
早期的扩散模型有一个致命问题:直接在像素空间上做加噪和去噪,计算量巨大,速度很慢。一张高清图动辄几百万像素,每一步都要处理这么多数据,生成一张图要等很久。
Stable Diffusion 的解决方案非常巧妙[^5]:
- 先训练一个自编码器(VAE),把高清图压缩成很小的低维潜在特征。就像把一桶原料浓缩成一小瓶精华液。
- 所有的扩散过程(加噪和去噪)都在这个小「精华液」空间里进行。
- UNet 处理的「图」变小了很多倍,计算量大幅下降。
- 最后一步,解码器把处理好的小精华液「解压」回高清图。
效果:生成图片的速度大幅提升。 这也是为什么 Stable Diffusion 能成为开源生图领域的主流方案。
用一张表把整个文生图技术栈串起来:
| 组件 | 比喻 | 功能 |
|---|---|---|
| 扩散模型 | 核心生产线 | 「先弄乱再还原」的学习逻辑 |
| UNet | 流水线上的智能机器人 | 一步步净化精华液 |
| CLIP | 翻译官 | 把用户指令翻译成机器能懂的暗号 |
| 注意力机制 | 实时对讲机 | 让翻译官随时告诉机器人这一步重点处理什么 |
| 潜空间扩散 | 把原料压缩成精华液后再加工 | 省时省力 |
风格指定:关键词够用吗? #
了解了原理,来看看实际使用中的问题。
几乎所有的 AI 生图模型都支持在提示词中加入风格关键词:电影写真、赛博朋克、日系动漫、水墨画、油画等等。一些产品甚至把常见风格做成下拉菜单,方便用户直接选择。
但问题在于:即使你指定了风格,不同模型对同一风格关键词的理解也千差万别。 同样写「赛博朋克」,有的模型生成偏漫画风,有的偏现实画风。而且你提示词里对五官、表情、服饰、动作等细节的描述,还会干扰最终的风格效果。
如果你的业务要求每张图都是统一画风(比如品牌素材、金融产品宣传图),单纯靠关键词是不够的。
微调方案:让模型固定在某种风格 #
解决方案是对基础模型进行微调,把它固定在某种特定风格上。
像 LibLib AI 这样的 AIGC 内容创作平台上,有大量创作者开源的微调模型(通常是 LoRA)。搜索特定风格(比如赛博朋克),能找到一系列基于不同基础模型(Flux.1、SDXL 等)做二次微调的模型。
使用时有几个技巧:
- 进入微调模型主页查看版本信息和作者说明。
- prompt 中带上该微调模型的「口令」关键词,确保模型按微调后的风格生成。
- 如果对公开模型不放心,可以自己准备一批风格完全符合要求的训练数据,用自备数据集微调模型。
经过特定风格微调的模型,生成结果的稳定性基本能得到保障。
风格迁移的效果边界 #
风格迁移是另一个常见需求:用照片做微信头像(转漫画风),或者对已生成的图像改变画风。
操作方式是把原始图像和风格迁移指令一起提供给多模态生图模型。
但要特别注意它的效果边界:
- 人物迁移效果相对较好。
- 构图复杂的大场景画面迁移效果较差,图像元素越多越复杂,轮廓细节越难还原。
- 容易出现明显的细节崩坏。
目前风格迁移只能作为辅助技能,期待不能太高。建议亲自测试不同画风、不同结构复杂度、不同主题图像的迁移效果差异,摸清边界后再决定是否用于生产环境。
控图方案:产品视角的核心课题 #
用户端的三大困境 #
困境一:提示词门槛太高。 用户用「人话」描述需求(如「可爱日系少女、大眼睛、双马尾、微笑表情、光影柔和」),效果往往不理想。因为现阶段视觉生成模型对自然语言的理解和执行能力远远不够精准,只能靠用户迁就模型,用关键词堆砌的方式把细节塞进去。而且很多隐藏经验普通用户根本不知道,比如「4K 画质」比「高清画质」更容易被模型识别。
困境二:陷入恶性循环。 用户拼命堆词,生成结果还是像开盲盒,然后反复「抽卡」重试。体验很差。
困境三:有些需求根本无法用文字描述。 看到一张超有氛围的风景照,想按此风格生成写真,但「氛围」和「风格」这种主观性强的东西,用文字说不清楚。在金融产品宣传图等设计类场景里更是如此,用户只能靠参考图,纯文本生成完全行不通。
产品经理的课题 #
这三大困境指向同一个课题:如何让 AI 生图的生成过程更可控?
具体来说,产品经理需要思考:
- 如何降低用户写出高质量提示词的门槛?(比如智能提示词推荐、风格预设模板)
- 如何帮助用户把「说不清的感觉」转化为有效的生成指令?(比如以图生图、风格参考图上传)
- 如何在保持创意自由度的同时增加可控性?
控图方案是生图产品经理必须重点关注的方向。谁在这个问题上做得好,谁就能在 AI 生图产品的竞争中脱颖而出。
AI 生图技术已经从「能看」进化到「好看」,下一步要解决的是「可控」。这个方向上,机会还很多。
参考文献 #
- Denoising Diffusion Probabilistic Models, Ho et al. 2020
- Deep Unsupervised Learning using Nonequilibrium Thermodynamics, Sohl-Dickstein et al. 2015
- Learning Transferable Visual Models From Natural Language Supervision, Radford et al. 2021
- High-Resolution Image Synthesis with Latent Diffusion Models, Rombach et al. 2022