Textual Inversion 与超网络
Textual Inversion 和 Hypernetwork 是图像生成领域中两种轻量级的模型定制技术——用极少的训练数据和参数,教会模型理解新概念(新角色、新风格、新物体)。它们是 LoRA 出现之前最主流的定制方案,至今仍有独特价值。本页梳理两者的原理、训练流程与适用场景。前置阅读:扩散模型、图像 LoRA 训练。
想象你的模型是一本画册词典——每个词对应一个画面概念。现在你想让它学会画你的原创角色「小明」——
- Textual Inversion(文本反转)= 不改画册,只在词典里新增一个词条。用 3-5 张小明的照片,模型自己琢磨出一个名为”小明”的词条。以后 prompt 里写
<xiaoming>就能召唤出小明。词条极小(几十 KB),但表达能力有限——细节多的人物学不好,简单的画风/物体效果不错。 - Hypernetwork(超网络)= 不改画册,也不改词典,而是给画师戴一副「智能眼镜」。眼镜是一个小网络,插在 U-Net 的 Cross-Attention(交叉注意力)层之间,实时调制注意力权重。眼镜学会后,画师看到的画面自动带上目标风格。
- LoRA(对比参照)= 直接在画册里夹笔记修改权重。表达能力远超前两者,是当前主流方案——详见图像 LoRA 训练。
什么是 Cross-Attention? Transformer 架构中的一种注意力机制——在扩散模型的 U-Net 里,它把文本 prompt 的语义信息「注入」到视觉特征图中,决定画面中每个区域应该生成什么内容。文本向量通过键值对(Key-Value)的方式与图像特征交互,是文本到图像生成的核心桥梁。
核心区分:训练什么。 Textual Inversion 训练一个「词向量」;Hypernetwork 训练一个「中间层调制网络」;LoRA 训练「低秩权重增量」。三者都不动基础模型,但定制深度递增。参数量对比:Textual Inversion 约 3 KB(单个 token),Hypernetwork 约 10-80 MB,LoRA 约 50-500 MB,全量微调则需数 GB。
CLIP 文本编码器:嵌入空间的基础
Section titled “CLIP 文本编码器:嵌入空间的基础”要理解 Textual Inversion,首先需要理解扩散模型的文本处理流程。以 Stable Diffusion 1.5 为例:
- Tokenizer 分词:prompt 文本首先被 CLIP 的 tokenizer(基于 Byte-Pair Encoding,BPE)切分为离散 token。例如 “a cat sitting” →
[a, cat, sitting]→ token ID 序列[320, 2368, 3285]。 - Embedding 查表:每个 token ID 通过一个嵌入矩阵(embedding matrix)查表,映射为一个 768 维向量。这个矩阵大小为 (CLIP 的词表约 49408 词,故矩阵约 49408 × 768 ≈ 3800 万参数)。
- Transformer 编码:token 向量序列经过 CLIP 的文本 Transformer 编码器(SD 1.5 中是 12 层、12 个注意力头),每层通过自注意力(Self-Attention)和前馈网络(FFN)处理,输出最终的文本特征序列。
- 注入 U-Net:编码后的文本特征通过 Cross-Attention 层注入到 U-Net 的各分辨率层级中,指导去噪过程。
什么是 Embedding(嵌入)? 把离散的 token ID 映射为连续的高维向量(如 768 维),使得语义相近的词在向量空间中距离也近。这个映射是通过训练学到的——CLIP 在 4 亿图文对上做了对比学习训练,使得”猫”和”狗”的向量距离近,而”猫”和”汽车”相远。Embedding 是连接语言与视觉的桥梁。
Textual Inversion:学习一个新嵌入向量
Section titled “Textual Inversion:学习一个新嵌入向量”扩散模型使用 CLIP 文本编码器将 prompt 中每个 token 映射为一个向量(SD 1.5 中是 768 维;SDXL 中因同时使用两个 CLIP 编码器 CLIP-ViT-L 和 CLIP-ViT-G,拼接后为 2048 维;FLUX.1 使用 T5-XXL 编码器,嵌入维度高达 4096 维)。这些向量是训练好的、固定不变的字典。Textual Inversion 的思路是:
-
选 token:选一个未使用的占位 token(如
<my-style>)。该 token 对应 embedding 矩阵中的一个新行——一个全新的 768 维向量。 -
初始化:将该 token 对应的向量初始化为随机值,或更常用的是从语义相近词的向量拷贝(如从 “art”、“painting” 的均值初始化风格 token,加速收敛)。
-
冻结模型:冻结模型所有参数——U-Net、CLIP 编码器、VAE 全部固定不更新。唯一可训练的是这一个 768 维向量。
-
训练:用 3-5 张目标图片做训练。训练流程为:将图片用 VAE 编码到潜空间(latent space)→ 添加噪声 → 让 U-Net 预测噪声(即标准的去噪训练),但 prompt 中目标概念被替换为
<my-style>token。损失函数就是标准的扩散模型去噪损失(MSE):其中 是添加的真实噪声, 是 U-Net 预测的噪声, 是文本条件(包含我们正在优化的
<my-style>向量), 是时间步。梯度只回传到<my-style>的 embedding 向量,其他参数的梯度被截断。
什么是潜空间(Latent Space)? Stable Diffusion 不在像素空间直接操作,而是在一个压缩的潜空间(如 512×512 图像压缩为 64×64×4 的潜变量)中做去噪。这样大幅降低了计算量(从约 78 万维降到 1.6 万维),是 SD 系列相比早期扩散模型的核心效率优势。VAE(变分自编码器)负责在像素空间与潜空间之间转换。
训练完成后,保存的就是一个 768 维向量(约 3 KB)。使用时把这个 embedding 文件加载进模型,prompt 中写 <my-style> 即可。
为什么 Textual Inversion 能工作
Section titled “为什么 Textual Inversion 能工作”CLIP 的嵌入空间是连续且有结构的——这是 Textual Inversion 成立的根本原因。CLIP 在 4 亿图文对上做了对比学习(Contrastive Language-Image Pre-training),训练目标是把匹配的图文对在向量空间中拉近,不匹配的推远。结果是:
- “猫”和”狗”的向量相近(都是动物、有毛、四足)
- “猫”和”汽车”相远(视觉特征几乎无重叠)
- “油画”和”水彩”相近(都是绘画),但与”照片”相远
这个嵌入空间可以看作一个高维的语义坐标系——每一维隐含编码了某种视觉语义(色彩、纹理、形状、构图等)。Textual Inversion 的优化过程,本质是在这个预训练好的语义空间中搜索一个最佳坐标点,使得该坐标对应的视觉特征与训练图片匹配。因为 CLIP 空间已经学好了丰富的语义结构(经过 4 亿对图文对的大规模预训练),只需找到正确的坐标点就能激活对应视觉特征——无需重新训练整个模型。
从优化视角看,这是一个低维参数空间上的梯度下降问题。768 维向量只有一个全局极小值的概率极低,但因为 CLIP 空间的语义平滑性,损失曲面相对光滑,小数据集(3-5 张图)下也能找到合理的局部最优解。这也是为什么 Textual Inversion 收敛快、训练稳定——参数空间极小,过拟合风险也相对可控(但不是没有,见下文)。
Textual Inversion 的局限
Section titled “Textual Inversion 的局限”只有一个 768 维向量(SD 1.5)的表达空间太小——768 个浮点数不足以编码高度复杂的视觉细节(如特定角色的瞳孔花纹、发饰结构、面部特征比例)。信息论角度:3 KB 的信息量 ≈ 一张低分辨率缩略图的像素信息量。因此 Textual Inversion 擅长学风格(纹理类、色彩类特征——这些本质是统计规律,低维就能编码),不擅长学复杂角色(需要精确的结构信息)。
此外,单 token 还有一个语义歧义问题:训练图片通常包含多个概念(人物 + 背景 + 光照),但只有一个向量去表达,模型容易把背景或光照等非目标特征也编码进 embedding,导致生成时产生不想要的偏见。DreamBooth 通过全量微调缓解了这个问题,LoRA 通过低秩矩阵分解在参数量和效果间取得了更好的平衡。
SDXL 及后续模型中的 Textual Inversion
Section titled “SDXL 及后续模型中的 Textual Inversion”随着模型架构升级,Textual Inversion 的形态也在演变:
- SDXL(2023):使用双 CLIP 编码器(CLIP-ViT-L + CLIP-ViT-G),文本嵌入维度从 768 升至 2048。Textual Inversion 的 embedding 也相应增大到约 8 KB,表达力略有提升,但核心局限(单 token 容量有限)未根本改变。SDXL 社区仍有一定数量的 embedding 资源,但数量远少于 SD 1.5 时代。
- Stable Diffusion 3 / FLUX.1(2024-2025):改用 T5-XXL(文本编码维度 4096)作为主要文本编码器。Textual Inversion 在这些新架构上的适配更为复杂——T5 的 token embedding 机制与 CLIP 不同,社区工具链尚未完全跟上。到 2025 年,Textual Inversion 在 SD3/FLUX 生态中几乎被 LoRA 和 Reference 方案取代。
- 多 token Textual Inversion:一个变体是学习多个 token(如
<my-concept> token1 token2 token3)来增加表达容量。这可以把参数量提升到几 KB-几十 KB,改善复杂概念的学习效果,但训练难度也上升(多 token 之间存在相互依赖)。
Hypernetwork:调制 Cross-Attention
Section titled “Hypernetwork:调制 Cross-Attention”Hypernetwork 不改词向量,而是插入一个小型神经网络到 U-Net 的 Cross-Attention 模块中。要理解它的工作方式,需要先看 Cross-Attention 层的内部结构:
Cross-Attention 的计算流程(以 U-Net 中的一层为例):
其中文本特征作为 Key 和 Value,图像特征作为 Query;、、 分别是图像/文本特征投影后的 Query、Key、Value,attn 是注意力权重,output 是加权聚合后的文本信息。
Hypernetwork 的做法是在 Key/Value 的投影权重(、)上加一个可学习的调制量。具体来说,Cross-Attention 层的权重矩阵 被替换为 ,其中 由 Hypernetwork 生成:
Hypernetwork 本身是一个小型 MLP(多层感知机),通常包含 2-4 个全连接层,输入一个条件向量,输出与注意力权重矩阵同形状的调制量。输入条件向量通常是随机初始化的可学习参数(无外部条件输入),也可以是 CLIP 图像编码器的输出。训练时冻结 U-Net 的全部原始参数,只优化 Hypernetwork 的参数(约 10-80 MB)。
什么是 MLP(多层感知机)? 最基础的前馈神经网络结构——多个全连接层(Linear)叠加,层间插入非线性激活函数(如 ReLU、GELU)。一个 3 层 MLP 可以写为 。MLP 的优势是简单、通用,但参数效率不如 Transformer 等现代架构——这也是 Hypernetwork 参数量偏大的原因之一。
一个 Hypernetwork 文件通常 10-80 MB——比 Textual Inversion 大得多(约 3 万倍),但仍远小于全量微调(SD 1.5 全量约 4 GB)。它的参数主要花在生成注意力权重调制量上——每个 Cross-Attention 层的 、 矩阵都需要一个对应尺寸的输出,层数越多参数越大。
Hypernetwork 的兴衰
Section titled “Hypernetwork 的兴衰”Hypernetwork 在 2022 年 SD 1.5 早期是主流定制方案(NovelAI 社区贡献了大量动漫风格超网络)。HyperNetwork 的原始概念来自 Ha et al. (2017)——用一个网络生成另一个网络的权重。但在图像生成领域的应用中,它的优势在 LoRA 出现后迅速消失:
- 表达力不足:Hypernetwork 只调制 Cross-Attention 层,无法影响 U-Net 中的 Self-Attention 和卷积层;LoRA 则可以贴在任意层的权重矩阵上。
- 训练不稳定:MLP 生成的权重调制量容易过大或过小,需要精细的 学习率调节和梯度裁剪;LoRA 的低秩分解天然有正则化效果,训练更稳定。
- 参数效率差:同样 80 MB 参数,LoRA 能学到更丰富、更精确的概念。
到 2023 年下半年,Hypernetwork 在社区中的使用率已降到个位数百分比。如今 Hypernetwork 主要用于特定场景(如控制 U-Net 的风格倾向),不再是定制首选。
2025 年视角:轻量定制的演进格局
Section titled “2025 年视角:轻量定制的演进格局”进入 2025 年,Textual Inversion 和 Hypernetwork 在生产环境中基本退居二线,但它们的思想仍在延续:
| 技术 | 兴盛期 | 2025 年状态 | 典型用途 |
|---|---|---|---|
| Textual Inversion | 2022 下半年 | 社区遗产(SD 1.5 生态为主) | 负向 embedding、快速风格试验 |
| Hypernetwork | 2022 年 | 基本退场 | 极少数特殊调制场景 |
| LoRA | 2023 至今 | 绝对主流 | 角色、风格、概念定制 |
| DreamBooth | 2022-2023 | 与 LoRA 结合使用 | 高保真度角色定制 |
| Reference / IP-Adapter | 2024-2025 | 快速增长 | 免训练图像引导生成 |
| Flow Matching 微调 | 2025 | 新兴(FLUX 生态) | 针对 Rectified Flow 架构的定制 |
值得注意的是,Textual Inversion 的精神——用极小参数量编码一个概念——在 2024-2025 年以新的形式延续。例如 IP-Adapter 的 “Plus” 变体中,图像特征被编码为一个紧凑的 embedding 注入 Cross-Attention,思路与 Textual Inversion 一脉相承(只是输入从文本变成了图像)。此外,2025 年 FLUX 生态中出现的 lightweight textual embedding 微调实验表明,在更大的 T5 文本编码器上,单 token 的表达瓶颈有所缓解,但社区整体仍倾向于使用 LoRA。
三种定制技术对比
Section titled “三种定制技术对比”Textual Inversion 训练流程
Section titled “Textual Inversion 训练流程”Textual Inversion 的数据流与梯度回传
Section titled “Textual Inversion 的数据流与梯度回传”用 diffusers 训练 Textual Inversion
Section titled “用 diffusers 训练 Textual Inversion”from diffusers import StableDiffusionPipelinefrom PIL import Imageimport torch, os
# 加载 SD 1.5 模型pipe = StableDiffusionPipeline.from_pretrained( "runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16).to("cuda")
# ---- 以下为概念示意,实际训练用 train_textual_inversion.py 脚本 ----# 准备数据:3-5 张目标图片放在 dataset/ 目录# 初始化新 token 的 embedding(随机或从相近词拷贝)# 冻结所有参数,只优化该 embedding 向量# 训练约 3000-5000 步,保存为 embedding.pt
# ---- 训练完成后加载使用 ----# learned_embeds = torch.load("embedding.pt") # 加载学到的词向量# pipe.load_textual_inversion("embedding.pt", token="<my-style>")
# 在 prompt 中使用新概念# image = pipe("a cat in <my-style> style", num_inference_steps=20).images[0]# image.save("result.png")print("Textual Inversion: 训练后用 <my-style> 召唤目标概念")关键训练超参数参考
Section titled “关键训练超参数参考”以下是 SD 1.5 上训练 Textual Inversion 的典型配置(基于 HuggingFace 官方 train_textual_inversion.py 脚本),理解这些参数有助于判断训练效果:
# 典型训练配置(SD 1.5)train_config = { "pretrained_model": "runwayml/stable-diffusion-v1-5", "placeholder_token": "<my-style>", # 占位 token,用尖括号包裹避免与已有词冲突 "initializer_token": "art", # 初始化用词,从该词的 embedding 拷贝起点 "learnable_property": "style", # "style" 或 "object",影响数据增强策略 "learning_rate": 1e-4, # 较高学习率(只训练一个向量,可以激进些) "max_train_steps": 3000, # 通常 2000-5000 步即可收敛 "train_batch_size": 1, # 小数据集用 batch size 1 "gradient_accumulation_steps": 4, # 等效 batch size 4 "num_vectors": 1, # 学习几个 token(1=标准 TI,>1=多 token 变体) "lr_scheduler": "constant", # 恒定学习率,因为参数少不需要 warmup "gradient_clipping": 1.0, # 梯度裁剪,防止偶发的大梯度破坏 embedding "resolution": 512, # 训练图像分辨率(匹配 SD 1.5)}关键点解读:
- 学习率较高(1e-4):因为只有几百到几千个参数需要训练(远少于模型参数),可以用比全量微调(通常 1e-6)高得多的学习率。
initializer_token:选择语义相近的词作为初始化可以大幅加速收敛。学风格从 “art”/“painting” 初始化,学物体从类别词(如 “dog”)初始化。learnable_property:"style"会启用更强的数据增强(裁剪、翻转),适合纹理类概念;"object"增强较弱,保留物体的空间结构信息。
多 token Textual Inversion 变体
Section titled “多 token Textual Inversion 变体”标准 Textual Inversion 只学习 1 个 token。一个增强变体是学习多个 token(如 3-5 个),拼在一起表示一个概念:
# 多 token 变体:用 num_vectors=3 学习更复杂的概念# 代价是参数量增大 3 倍(仍只有约 9 KB),但表达容量显著提升# 实测对中等复杂度的角色/物体效果优于单 tokentrain_config_multi = { "placeholder_token": "<my-character>", "num_vectors": 3, # 学习 3 个 token "learning_rate": 5e-5, # 参数更多,学习率适当降低 "max_train_steps": 5000, # 多 token 需要更多步数才能协调好各 token 间的关系}多 token 之间的协同是一个难点——每个 token 负责编码概念的不同方面(如 token1 编码色彩、token2 编码形状、token3 编码纹理),但优化器并不自动保证这种分工,需要通过训练自然涌现。
- 数据少用 Textual Inversion:只有 3-5 张图、目标是简单风格或物体时,Textual Inversion 是最高性价比方案——文件极小(3 KB)、训练快(10-20 分钟,单 GPU)。
- 角色/复杂概念用 LoRA:15-30 张图、目标是特定角色或复杂风格时,LoRA 效果远超 Textual Inversion。详见图像 LoRA 训练。
- Token 命名用罕见词:占位 token 用
<sks>、<xyz-style>这类不在常用词典中的字符串,避免与已有词的语义冲突。尖括号<...>是社区惯例,部分 tokenizer 会将尖括号内容视为整体。 - 训练步数 3000-5000 足够:Textual Inversion 收敛很快,过多步数会过拟合——embedding 只记住了训练图片本身而非泛化概念。过拟合的表现是:训练图片能精确复现,但换 prompt 组合时生成结果僵化、缺乏变化。
- 学习率是关键超参数:Textual Inversion 的参数极少,可以用较高学习率(1e-4 到 5e-4)。太低(如 1e-6)则训练极慢、甚至不收敛;太高(如 1e-2)则 embedding 在空间中剧烈跳动,无法稳定到有意义的坐标。
- Hypernetwork 基本被 LoRA 取代:除非你有特殊原因(如需要极轻量调制),否则直接用 LoRA。Hypernetwork 的训练不稳定、效果差,且在 SDXL/SD3/FLUX 上的社区支持几乎为零。
- Textual Inversion 可叠加使用:同一个 prompt 中可以同时加载多个 embedding——“a cat in
<style1><style2>”,风格可以混合。不同 embedding 的向量在 Cross-Attention 中独立工作,效果近似线性叠加。 - Negative Embedding:可以训练负向 embedding(如
EasyNegative)作为通用负向提示词,自动压制低质量特征——社区大量免费下载。负向 embedding 的训练方式与正向相同,区别是训练目标图片是”不想要的”低质量样本。 - 在 ComfyUI 中即插即用:embedding 文件放入 models/embeddings 目录,prompt 中直接写 token 即可自动识别。详见ComfyUI 与节点式生成。
- 新模型(SDXL/SD3/FLUX)上的选择:在这些新架构上,Textual Inversion 的社区工具链不完善,推荐直接用 LoRA 或 Reference 方案。Textual Inversion 的最佳实践仍集中在 SD 1.5 生态。
- CivitAI Embedding 社区:大量免费 Textual Inversion 模型下载,涵盖风格(油画、水墨)、负向优化(EasyNegative)、质量增强等多种用途。截至 2025 年,CivitAI 上 SD 1.5 的 embedding 资源仍超过数千个,但 SDXL/SD3 的 embedding 极少——印证了 Textual Inversion 在新架构上式微的趋势。
- Stable Diffusion WebUI:原生支持 embedding 加载——文件放入 embeddings/ 目录,prompt 中写 token 即自动识别。Automatic1111 WebUI 和 Forge 均保持了完整兼容。
- 角色风格快速定制:画师用 Textual Inversion 将自己的画风编码为一个 token,之后所有 prompt 加上这个 token 就自动套用个人风格。适合画风特征明确、不需要精确角色还原的场景。
- Negative Prompt 增强:社区训练的
EasyNegative、bad_prompt、badhandv4等 embedding 放入负向 prompt,自动压制手部畸形、低质量等常见缺陷。这是 Textual Inversion 在 2025 年最活跃的应用场景——即使 LoRA 大行其道,负向 embedding 因其极致轻量和通用性仍被广泛使用。 - Hypernetwork(历史):NovelAI 时代(2022)动漫风格定制的标准方案,如今主要作为历史参考保留。CivitAI 上仍能下载到大量历史 Hypernetwork 文件,但新发布的基本为零。
典型类库与工具
Section titled “典型类库与工具”| 类库/工具 | 语言 | 说明 |
|---|---|---|
| diffusers train_textual_inversion | Python | HuggingFace 官方训练脚本,支持 SD 1.5/SDXL |
| sd-scripts | Python | Kohya 的训练套件,支持 TI/Hypernetwork/LoRA |
| Automatic1111 WebUI | Python | 原生支持 embedding 和 hypernetwork 的加载与训练 |
| ComfyUI | Python | 节点式界面,embedding 自动识别、即插即用 |
| CivitAI | Web | 最大模型社区,含大量 Textual Inversion 模型(以 SD 1.5 为主) |
| Embedding Editor (WebUI 插件) | Python | 可视化编辑 embedding 向量 |
| 术语 | 英文 | 解释 |
|---|---|---|
| 文本反转 | Textual Inversion | 学习一个新 token 的 CLIP 嵌入向量来定制模型 |
| 嵌入 | Embedding | token 经过文本编码器后的高维向量表示,将离散符号映射为连续空间中的坐标 |
| 超网络 | Hypernetwork | 插入 U-Net 的小型网络,调制 Cross-Attention 权重 |
| 占位 Token | Placeholder Token | 为新概念定义的罕见字符串(如 sks、xyz) |
| 低秩适配 | LoRA | 低秩权重增量定制,Textual Inversion 的继任者 |
| Cross-Attention | Cross-Attention | U-Net 中将文本向量注入视觉特征的机制,文本特征作为 Key/Value 与图像特征交互 |
| 自注意力 | Self-Attention | 序列内部各位置之间互相”关注”的机制,Transformer 的核心组件 |
| 负向嵌入 | Negative Embedding | 编码”不想要”特征的 embedding,用作通用负向提示词 |
| 冻结参数 | Freezing | 训练时固定模型权重不更新,只优化目标参数 |
| 潜空间 | Latent Space | VAE 压缩后的低维表示空间,扩散模型在此空间进行去噪 |
| 对比学习 | Contrastive Learning | CLIP 的训练方法,拉近匹配图文对、推远不匹配对,构建语义结构化的嵌入空间 |
| 去噪损失 | Denoising Loss | 扩散模型的核心训练目标:预测添加到潜变量中的噪声,用 MSE 衡量预测误差 |
| 多 token TI | Multi-token TI | 学习多个 token 表示一个概念,增加表达容量的 Textual Inversion 变体 |
- Gal et al.,「An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion」(ICLR 2023):Textual Inversion 原始论文(即 DreamBooth 团队的前序工作),提出用 3-5 张图学习新概念嵌入。论文的核心贡献是证明了 CLIP 嵌入空间中存在未被使用的”空白区域”,可以用来编码任意新概念。
- Ha et al.,「HyperNetworks」(ICLR 2017):Hypernetwork 概念的原始论文,提出用一个网络生成另一个网络的权重。这一思想后来在图像生成定制中被 NovelAI 社区发扬光大,但最终被 LoRA 取代。
- Ruiz et al.,「DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation」(CVPR 2023):DreamBooth 论文,与 Textual Inversion 互补的全量微调方案。DreamBooth 微调 U-Net 全部权重,效果远超 Textual Inversion,但需要更大显存和更精细的正则化(先验保持损失)。
- Hu et al.,「LoRA: Low-Rank Adaptation of Large Language Models」(ICLR 2022):LoRA 论文,后来成为图像定制的主流方案——详见图像 LoRA 训练。LoRA 的低秩分解思想解决了全量微调的参数效率问题,同时避免了 Textual Inversion 的表达瓶颈。
- Gal et al.,「Encoder-Based Domain Tuning for Fine-tuning Text-to-Image Models」(2023):Custom Diffusion 论文,提出在 Textual Inversion 基础上微调少量 Cross-Attention 层,在参数效率和效果之间取得新的平衡点。
- Ye et al.,「IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models」(2023):IP-Adapter 论文,将图像特征编码为 embedding 注入 Cross-Attention——思路与 Textual Inversion 一脉相承,但输入从文本变为图像,2024-2025 年成为免训练定制的热门方案。
- CivitAI Embedding Guide:社区维护的 embedding 使用教程和模型评测,涵盖风格/负向/质量各类型。SD 1.5 的 embedding 资源最为丰富。