Paper Deep Reading · arXiv:2308.06721v1 · 2023

让图像提示进入
文本扩散模型

IP-Adapter 用独立的图像 cross-attention 分支,把参考图像注入冻结的 Stable Diffusion。它保留原有文本分支,新增约 22M 可训练参数,使图像、文本和结构控制条件能够组合。

Hu Ye · Jun Zhang(通讯作者)· Sibo Liu · Xiao Han · Wei Yang · Tencent AI Lab
原始论文官方项目官方代码

01 / Research Motivation

文本很难表达参考图的全部信息

一张图像同时包含主体、材质、配色和构图。把这些内容逐项写进文字提示既费力,也无法保证模型保留所需细节。原有图像提示方法通常重训或改动文本条件模型,可能损害文本生成能力;把图像 token 与文本 token 直接拼接,也让图像特征经过专为文本训练的 key/value 投影。作者的假设是:让图像使用自己的投影参数,能够更有效地进入冻结 UNet,同时保留已有文本控制能力。论文 §1

表示

参考图 → 图像 token

冻结 OpenCLIP 编码器产生全局图像 embedding;线性层与 LayerNorm 将其投影成四个 token。

注入

独立 cross-attention

每个文本 cross-attention 旁增加一条图像分支,共十六处;两条分支共用 UNet query。

训练

冻结底座

仅训练图像投影网络及新增图像 key/value;原文本编码器和扩散 UNet 保持冻结。

Paper Verified

原论文在 COCO2017 验证集报告:IP-Adapter 的 CLIP-T 为 0.588、CLIP-I 为 0.828;其余 adapter baseline 均低于这两个值。训练初始模型和完全微调模型中仍有更高数值,故不能把“所有方法最佳”当成实验结论。

02 / Formulation & Pipeline

两条注意力支路如何工作

输入是文本提示 \(y\)、参考图像 \(I_{\mathrm{ref}}\) 和采样噪声 \(\boldsymbol{x}_{T}\)。冻结文本编码器输出 \(\boldsymbol{c}_{t}\);冻结 OpenCLIP 图像编码器输出全局向量,训练的投影层生成四个图像 token \(\boldsymbol{c}_{i}\)。UNet 逐步预测噪声并解码为新图像。训练时参考图来自图文训练对中的同一幅图像,目标也是该图像的加噪 latent;这相当于学习利用图像条件重建训练图像。原文只描述使用图文对,未公开图像提示与目标图像之间的额外配对构造或局部裁切策略。论文 §3.2

01 · 构建条件caption 经 CLIP text encoder;同一图像经 OpenCLIP ViT-H/14 与投影层。训练样本图像经 VAE 编码后加噪。
02 · 文本 attention原有 \(\mathbf{W}_{q},\mathbf{W}_{k},\mathbf{W}_{v}\) 和文本 token 的路径保持冻结。
03 · 图像 attention四个图像 token 通过新建 \(\mathbf{W}'_{k},\mathbf{W}'_{v}\) 进入每个 cross-attention;两路输出相加。
04 · 推理采样DDIM 从噪声迭代五十步;图像权重 \(\lambda\) 可以控制参考图影响;文本和额外 ControlNet 条件可同时使用。

变量和维度

\(\mathbf{Z}\) 是当前 UNet 空间特征,\(\mathbf{Q}=\mathbf{Z}\mathbf{W}_{q}\) 是空间查询;\(\boldsymbol{c}_{t}\) 是文本 token 序列,\(\boldsymbol{c}_{i}\) 是长度为四的图像 token 序列。论文采用 SD v1.5,因此文本 token 与图像 token 对齐到该 UNet 的 cross-attention 特征维度;具体维度由所在层决定,不能把某一层宽度当作全部层宽度。

\[\mathbf{K}_{t}=\boldsymbol{c}_{t}\mathbf{W}_{k},\quad\mathbf{V}_{t}=\boldsymbol{c}_{t}\mathbf{W}_{v},\quad\mathbf{K}_{i}=\boldsymbol{c}_{i}\mathbf{W}'_{k},\quad\mathbf{V}_{i}=\boldsymbol{c}_{i}\mathbf{W}'_{v}.\]

四个投影把两种模态变成可参与 attention 的 key 和 value。共享 query 确保两条分支都读取同一空间位置。每条 attention 先依据 query-key 相似度求权重,再对 value 加权求和:

\[\operatorname{Attn}(\mathbf{Q},\mathbf{K},\mathbf{V})=\operatorname{Softmax}\!\left(\frac{\mathbf{Q}\mathbf{K}^{\top}}{\sqrt d}\right)\mathbf{V}.\]

分母 \(\sqrt d\) 缓和维度增大带来的 logit 尺度变化。最终特征叠加两条支路:

\[\mathbf{Z}^{\mathrm{new}}=\operatorname{Attn}(\mathbf{Q},\mathbf{K}_{t},\mathbf{V}_{t})+\lambda\operatorname{Attn}(\mathbf{Q},\mathbf{K}_{i},\mathbf{V}_{i}).\]

训练中新增 key/value 从原文本 key/value 权重初始化;推理时 \(\lambda=0\) 使图像支路消失。图像路径保留自己的投影,因此不会强迫图像 token 完全符合文本投影已学习的映射。这个解释属于 Our Interpretation;论文的直接证据是 Figure 10 中 decoupled 和简单拼接的定性比较。论文公式 3–8

IP-Adapter 原论文 Figure 2 结构图
原论文 Figure 2:冻结文本路径,新增图像投影和十六个图像 cross-attention。图片来自 arXiv 官方 HTML。

噪声目标与 classifier-free guidance

\[\mathcal{L}_{\mathrm{simple}}=\mathbb{E}_{\boldsymbol{x}_{0},\boldsymbol{\epsilon},t,\boldsymbol{c}_{t},\boldsymbol{c}_{i}}\left\|\boldsymbol{\epsilon}-\boldsymbol{\epsilon}_{\theta}(\boldsymbol{x}_{t},t,\boldsymbol{c}_{t},\boldsymbol{c}_{i})\right\|_{2}^{2}.\]

\(\boldsymbol{x}_{0}\) 是训练图像 VAE latent,\(\boldsymbol{x}_{t}=\alpha_{t}\boldsymbol{x}_{0}+\sigma_{t}\boldsymbol{\epsilon}\),\(\boldsymbol{\epsilon}\) 是采样噪声,\(t\) 是扩散时间步。损失只训练 adapter 参数;\(\epsilon_{\theta}\) 中原 SD 参数冻结。训练时随机删除条件,让推理可比较有条件和无条件噪声预测。论文 §3.2.3

03 / Reproduction Settings

论文公开的训练与推理设置

环节原论文设置复现含义
数据LAION-2B 与 COYO-700M 中约一千万图文对原文没有给出完整过滤脚本、精确划分与许可证清单。
扩散底座Stable Diffusion v1.5原始 UNet 冻结;与同源定制模型复用需要基础结构兼容。
图像编码器OpenCLIP ViT-H/14,冻结全局图像 embedding 经线性层、LayerNorm,映射为四个图像 token。
新增参数十六处图像 cross-attention,合计约 22M 参数训练图像投影与新增的 key/value。
优化AdamW,固定学习率 \(10^{-4}\),weight decay 0.01原文没有给出 warmup、梯度累积或随机种子。
设备和步数8×V100,单卡 batch 8,训练 1M steps,DeepSpeed ZeRO-2名义全局 batch 64;不据此推断实际训练时长。
预处理短边缩放至 512,再中心裁切 \(512\times512\)非方形参考图边缘可能被裁掉。
条件删除文本单独 0.05、图像单独 0.05、两者同时 0.05有条件与无条件路径支持 CFG;不公开更细采样比例。
推理DDIM 50 steps;CFG 7.5仅图像提示时,文本设为空且 \(\lambda=1.0\)。

论文没有公开完整 system prompt、few-shot 示例或语言模型调用;该系统的文本输入是普通 caption / user prompt。图像条件来自整张图像的全局特征,基础版本没有局部对象掩码或区域指定入口。论文 §4.1

04 / Experimental Evidence

Table 1:九种方法的完整比较

COCO2017 验证集 5,000 张参考图及对应 caption,每张生成四个结果,共 20,000 张。CLIP-I 比较生成图与参考图的图像 embedding;CLIP-T 比较生成图与参考图 caption。两指标由 CLIP ViT-L/14 计算。表中“可复用、兼容控制、图文组合”依原论文标注,质量指标不覆盖所有生成质量维度。论文 §4.2 / Table 1

方法类别同底座定制模型复用结构控制兼容图文组合训练参数CLIP-T ↑CLIP-I ↑
Open unCLIP从头训练否否否893M0.6080.858
Kandinsky-2-1从头训练否否否1229M0.5990.855
Versatile Diffusion从头训练否否是860M0.5870.830
SD Image Variations微调否否否860M0.5480.760
SD unCLIP微调否否否870M0.5840.810
Uni-ControlNetadapter是是是47M0.5060.736
T2I-Adapter Styleadapter是是是39M0.4850.648
ControlNet Shuffleadapter是是是361M0.4210.616
IP-Adapteradapter是是是22M0.5880.828

相对于 adapter

相对 Uni-ControlNet,CLIP-T 增加 0.082,CLIP-I 增加 0.092;训练参数由 47M 降至 22M。

跨类别比较

Open unCLIP 的两个分数仍分别高 0.020 和 0.030。它训练 893M 参数,与 IP-Adapter 的可复用能力和训练预算不同。

评测局限

CLIP 相似度无法直接测量局部结构、身份一致性或复制倾向;定性图每个 prompt 生成四张后选最好的一张。

Figure 3 是跨方法定性对比;Figure 4 以 Realistic Vision V4.0、Anything v4、ReV Animated 展示同源 SD v1.5 定制模型复用;Figure 5–6 展示和 ControlNet / T2I-Adapter 组合;Figure 7 展示 img2img 与 inpainting;Figure 8–9 展示图文联合提示。这些应用主要是图片示例,原文没有逐项量化通用迁移收益。论文 §4.3

IP-Adapter 原论文 Figure 3 的定性生成结果
原论文 Figure 3:不同参考图条件下与其他方法的定性比较;原论文每组随机生成四张后择优展示。
05 / Ablation & Boundaries

消融支持什么结论

Figure 10

把图像 token 直接与文本 token 拼接的简单 adapter 与独立图像分支比较,两者都训练 200k steps。作者展示 decoupled 分支对复杂参考内容更忠实;这是一组定性证据,原文没有给出对应的 CLIP 数值表。

Figure 11

细粒度版本使用 CLIP 倒数第二层的 grid features,加十六个可学习 token 形成图像条件。示例中对象细节一致性增强,多样性随之降低;原文没有报告定量消融。

Figure 4–9

展示同源定制模型、ControlNet、图像修复和文本组合的可行性。示例不能证明所有底座或控制模块都兼容。

Paper Verified:Table 1 确证该基线集合中的 adapter 性能优势,Figure 10–11 展示设计差异。Author Claim:作者把独立分支视作提升图像条件效用的原因;有限的定性消融支持该解释,缺乏多随机种子和一致预算下的全面量化。Our Interpretation:冻结文本通路使模型保有原生成能力,新的图像 key/value 为图像内容保留专用映射。Research Extension:将图像条件分解成区域级 token 并在生成过程中根据结构误差动态调节 \(\lambda\),可检验局部编辑精度与多样性的关系。

论文 §5 明确承认:基础 IP-Adapter 可保留内容或风格相似性,但对某个特定人物或对象的高度身份一致性,仍不及 DreamBooth 或 Textual Inversion。后续 FaceID 产品变体不能用于倒推 2023 年基础论文已解决这一局限。论文 §5

06 / Paper vs. Implementation

原始论文与持续更新的仓库

官方仓库持续收录基础模型、Plus、SDXL、FaceID 等多种版本。原始论文的结论限定为 SD v1.5、全局 OpenCLIP embedding、四个投影 token 和约 22M adapter。仓库 README 中后续 FaceID、SDXL 或 Plus 的权重、训练示例与效果,属于另外的模型配置。官方仓库 README

议题论文 v1官方实现需要核查的边界
图像输入冻结 CLIP 全局 embedding公开示例经过 CLIP 图像预处理与中心裁切;非正方形内容会失去边缘。
网络插入十六个文本 cross-attention 旁增设图像分支diffusers attention processor 需与所加载 UNet 和 ControlNet 版本匹配。
训练数据约 10M LAION-2B / COYO-700M 图文对完整样本清单与过滤过程未公开,难以逐样本重建训练集。
扩展模型同源 SD v1.5 定制模型的示例SDXL、FaceID 和 Plus 为后续发布,不能合并进基础 Table 1。

笔记中已有关于 AttnProcessor、IPAttnProcessor 和 CNAttnProcessor 的源码阅读记录。程序调用时 attention processor 实际操作由传入的 attention 模块持有的投影权重;实现细节应以使用的仓库提交和 diffusers 版本为准。本文原论文没有公开完整训练过滤代码,也没有固定现代仓库最新默认参数作为原始实验条件。

07 / Reviewer Commentary

贡献、局限与后续问题

Strengths

仅增加少量参数;两条注意力支路职责清晰;保留冻结底座的文本能力;Table 1 同时报告质量与适配能力;ControlNet 组合有可见案例。

Weaknesses

COCO CLIP 相似度不能评价精细身份;训练图像与提示图像同源可能鼓励复制全局外观;基础全局 embedding 缺少区域控制;定性消融缺少多种子统计。

Potential Improvements

用局部图像 token、掩码和空间位置绑定;报告主体相似、结构保真、文本遵循与多样性四类指标;对不同模型和控制模块进行同预算兼容性测试。

对于 procedural material generation,可以把参考材质图的 patch 特征送入独立 cross-attention,再用可微 renderer 验证材质图在不同光照和视角下的表现。这样的扩展还需要显式图拓扑或参数表示;IP-Adapter 论文没有研究材质节点图生成。

08 / Sources

原始材料与核查边界

Ye et al., arXiv:2308.06721v1:标题、作者、公式、Table 1、Figure 1–11、附录与结论。本地 PDF:Reading/Papers/2308.06721v1.pdf,16 页。PDF 首页脚注明确 Jun Zhang 为通讯作者。

官方项目主页:图片展示与作者信息。官方代码仓库:持续更新的实现与模型列表,使用时需核对提交日期及模型版本。

这份网页以原论文 v1 的基础 IP-Adapter 为主要对象;后续仓库版本只在实现边界中出现。2026-09-30。