IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models
写这篇博客的原因主要是为了补上之前那篇ATM作为encoder的那篇论文的画的大饼。然后最近一次组会也挺同学汇报了一篇有关可控图像合成的一篇论文。
其中提到了一个叫做ControlNet的这么一个结构,然后去了解了一下,也是和IP adapter类似的这么一个作用的结构。
相关的结构还有Composer | T2I-adapter | see coder | Uni-ControlNet |
觉得这个方向可能确实对本方向有一定的参考性。所以打算本周就看看这六篇论文,并顺便写相应的博客和大家一起讨论学习
本项目论文地址:本项目github地址
文章目录
一、研究目的
仅使用文本提示生成所需的图像非常棘手,因为这通常涉及复杂的提示工程。俗话说:“一图胜千言”在本文中,我们提出了 IP-Adapter,一种有效且轻量级的适配器,用于实现预训练文本到图像扩散模型的图像提示功能。
二、研究背景
文本提示的局限性:
- 编写好的文本提示来生成所需的内容并不容易,因为往往需要复杂的提示工程
- 文本信息量小,无法表达复杂的场景或概念,这可能会阻碍内容创建
DALL-E 2首次尝试支持图像提示,其扩散模型的条件是图像嵌入而不是文本嵌入,并且需要一个先验模型来实现文本到图像的能力。

Question: DALL-E2的基本原理是什么?
首先虚线上面是一个clip,这个clip是提前训练好的,在dalle2的训练期间不会再去训练clip,是个权重锁死的,在dalle2的训练时,输入也是一对数据,一个文本对及其对应的图像,首先输入一个文本,经过clip的文本编码模块(bert,clip对图像使用vit,对text使用bert进行编码,clip是基本的对比学习,两个模态的编码很重要,模态编码之后直接余弦求相似度了),
再输入一个图像,经过clip的图像编码模块,产生了图像的vector,这个图像vector其实是gt。产生的文本编码输入到第一个prior模型中,这是一个扩散模型,也可以用自回归的transformer,这个扩散模型输出一组图像vector,这时候通过经过clip产生的图像vector进行监督,此处其实是一个监督模型。
后面是一个decoder模块,在以往的dalle中,encoder和decoder是放在dvae中一起训练的,但是此处的deocder是单训的,也是一个扩散模型,其实虚线之下的生成模型,是将一个完整的生成步骤,变成了二阶段显式的图像生成,作者实验这种显式的生成效果更好。
这篇文章称自己为unclip,clip是将输入的文本和图像转成特征,而dalle2是将文本特征转成图像特征再转成图像的过程,其实图像特征到图像是通过一个扩散模型实现的。在deocder时既用了classifier-free guidence也用了clip的guidence,这个guidence指的是在decoder的过程中,输入是t时刻的一个带噪声的图像,最终输出是一个图像,这个带噪声的图像通过unet每一次得到的一个特征图可以用一个图像分类器去做判定,此处一般就用交叉熵函数做一个二分类,但是可以获取图像分类的梯度,利用这个梯度去引导扩散去更好的decoder。
这里的内容参考自论文笔记:DALL-E2,但是这篇文章只是讲了一个大致的过程,里面很多的实现细节也没有讲的很明白。可能得对DALLE这个系列的模型有一个更加全面详细的了解才能弄清楚这里面的原理,但是我觉得这里只要理解虚线上面的text通过clip模型转到image后,再通过encoder后得到的图像对最终图像的生成过程进行了一定的监督和引导作用应该就行。
直接在图像嵌入上微调文本条件扩散模型以实现图像提示功能(如 SD Image Variations2 和 Stable unCLIP3)被证明是有效的
但是也有一些缺点:
- 取消了利用文本生成图像的原始能力
- 微调往往需要大量的计算资源
- 微调后的模型通常不能重复使用,因为图像提示能力不能直接转移到从相同的文本到图像基础模型衍生出来的其他自定义模型上

SD Image Variations2 和 Stable unCLIP3这两个模型的大致流程是什么样的? 如何理解直接在图像嵌入上微调文本条件扩散模型以实现图像提示功能?
用图像编码器取代文本编码器,同时避免微调扩散模型。
虽然这种方法简单有效,但仍存在一些缺陷。
- 它只支持图像提示,用户无法同时使用文本和图像提示来创建图像。
- 仅仅对图像编码器进行微调往往不足以保证图像质量,还可能导致泛化问题。

用图像编码器取代文本编码器,同时避免微调扩散模型, 这种方式也不是很理解,可以举个例子
ControlNet 和 T2I-adapter ,已经证明在现有的文本到图像扩散模型中可以有效地插入一个额外的网络来引导图像生成。大多数研究都集中于带有附加结构控制的图像生成,如用户绘制的草图、深度图、语义分割图等。
此外,通过简单的适配器,如 T2I-adapter 的样式适配器[11]和 Uni-ControlNet 的全局控制器,也可以生成由参考图像提供样式或内容的图像。
为此,可训练网络将从 CLIP 图像编码器中提取的图像特征映射为新特征,然后与文本特征连接。通过替换原始文本特征,合并后的特征被输入扩散模型的 UNet,以指导图像生成。这些适配器可以被视为一种能够使用图像提示的方法,但生成的图像只能部分忠实于提示图像。其结果往往不如微调后的图像提示模型,更不用说从头开始训练的模型了。
我们认为,上述方法的主要问题在于文本到图像扩散模型的交叉注意模块。预训练扩散模型中交叉注意层的键和值投影权重是为适应文本特征而训练的。因此,将图像特征和文本特征合并到交叉注意层,只能实现图像特征与文本特征的对齐,但这有可能会遗漏一些图像特有的信息,最终导致与参考图像之间只有粗粒度的可控生成(如图像风格)。
三、研究内容(主要贡献)
为此,我们提出了一种名为 IP-Adapter 的更有效的图像提示适配器。具体来说,IP-Adapter 采用了一种针对文本特征和图像特征的解耦交叉注意机制。对于扩散模型 UNet 中的每个交叉注意层,我们只针对图像特征添加一个额外的交叉注意层。在训练阶段,只训练新交叉注意层的参数,而原始 UNet 模型保持冻结。如图 1 所示,利用我们提出的 IP 适配器,可以轻松完成各种图像生成任务。

总而言之,我们的贡献如下:

- 我们提出了 IP-Adapter,这是一种轻量级图像提示适配方法,采用了针对现有文本到图像扩散模型的解耦交叉注意策略。定量和定性实验结果表明,在基于图像提示的生成方面,拥有约 2200 万个参数的小型 IP-Adapter 可与完全微调的模型相媲美,甚至更胜一筹。
- 我们的 IP 适配器可重复使用且灵活。在基础扩散模型上训练的 IP-Adapter 可通用于根据同一基础扩散模型微调的其他自定义模型。此外,IP-Adapter 与 ControlNet 等其他可控适配器兼容,可轻松将图像提示与结构控制相结合。
- 由于采用了解耦交叉注意策略,图像提示可与文本提示兼容,从而实现多模态图像生成。
四、技术路线
4.1 Prelimiaries
扩散模型是一类生成模型,它由两个过程组成:一个是扩散过程(也称为前向过程),它使用固定的马尔可夫链
T
T
T 步将高斯噪声逐渐添加到数据中;另一个是去噪过程,它使用可学习模型从高斯噪声中生成样本。扩散模型也可以以其他输入为条件,例如文本到图像扩散模型中的文本。通常情况下,扩散模型的训练目标(用
ε
θ
ε_θ
εθ表示)被定义为变分约束的简化变体:
L
s
i
m
p
l
e
=
E
x
0
,
ϵ
∼
N
(
0
,
I
)
,
c
,
t
∥
ϵ
−
ϵ
θ
(
x
t
,
c
,
t
)
∥
2
,
L_{\mathrm{simple}}=\mathbb{E}_{\boldsymbol{x}_0,\boldsymbol{\epsilon}\thicksim\mathcal{N}(\mathbf{0},\mathbf{I}),\boldsymbol{c},t}\|\boldsymbol{\epsilon}-\boldsymbol{\epsilon}_\theta{\left(\boldsymbol{x}_t,\boldsymbol{c},t\right)}\|^2,
Lsimple=Ex0,ϵ∼N(0,I),c,t∥ϵ−ϵθ(xt,c,t)∥2,
其中,
x
0
x_0
x0 代表带有附加条件
c
c
c 的真实数据,
t
∈
[
0
,
T
]
t∈ [0, T ]
t∈[0,T] 表示扩散过程的时间步长,
x
t
=
α
t
x
0
+
σ
t
ε
x_t = α_tx_0 + σ_tε
xt=αtx0+σtε 是
t
t
t 步长处的噪声数据,
α
t
α_t
αt、
σ
t
σ_t
σt 是
t
t
t 的预定函数,决定了扩散过程。一旦训练好模型
ε
θ
ε_θ
εθ,就可以通过迭代方式从随机噪声中生成图像。一般来说,在推理阶段会采用快速采样器,如 DDIM 、PNDM 和 DPM-Solver,以加速生成过程。
如果对这里还有疑惑的话可以看我的另外一篇博客,虽然讲的也不是很清楚(因为对底层的概率分布公式我也还没搞清楚),
但是对上面的公式的了解有一定的帮助。
对于条件扩散模型,分类器引导是一种直接的技术,通过利用单独训练的分类器的梯度来平衡图像保真度和样本多样性。为了消除独立训练分类器的需要,无分类器引导通常被用作一种替代方法。在这种方法中,通过在训练过程中随机丢弃
c
c
c 来联合训练条件扩散模型和非条件扩散模型。在采样阶段,根据条件模型
ε
θ
(
x
t
,
c
,
t
)
ε_θ(x_t,c,t)
εθ(xt,c,t)和非条件模型
ε
θ
(
x
t
,
t
)
ε_θ(x_t,t)
εθ(xt,t)的预测结果计算预测噪声:
ϵ
^
θ
(
x
t
,
c
,
t
)
=
w
ϵ
θ
(
x
t
,
c
,
t
)
+
(
1
−
w
)
ϵ
θ
(
x
t
,
t
)
,
\hat{\boldsymbol{\epsilon}}_\theta(\boldsymbol{x}_t,\boldsymbol{c},t)=w\boldsymbol{\epsilon}_\theta(\boldsymbol{x}_t,\boldsymbol{c},t)+(1-w)\boldsymbol{\epsilon}_\theta(\boldsymbol{x}_t,t),
ϵ^θ(xt,c,t)=wϵθ(xt,c,t)+(1−w)ϵθ(xt,t),
在这里,
w
w
w 通常被称为引导标度或引导权重,是一个标量值,用于调整与条件
c
c
c 的一致性。对于文本到图像的扩散模型来说,无分类器引导在增强生成样本的图像-文本配准方面起着至关重要的作用。
在我们的研究中,我们利用开源的 SD 模型作为实现 IP-Adapter 的基础模型示例。SD 是一种潜在扩散模型,以从冻结的 CLIP 文本编码器中提取的文本特征为条件。该扩散模型的结构基于具有注意层的 UNet。与 Imagen 等基于像素的扩散模型相比,SD 更为高效,因为它是在预训练的自动编码器模型的潜在空间上构建的。
4.2 Image Prompt Adapter

本文设计了image prompt adapter,使预训练的文本到图像扩散模型能够生成带有图像提示的图像。如前几节所述,目前的适配器很难达到微调图像提示模型或从头开始训练的模型的性能。主要原因是图像特征无法有效嵌入预训练模型。
大多数方法只是将串联的特征输入到冻结的交叉注意层,从而阻止了扩散模型从图像提示中捕捉细粒度特征。
为了解决这个问题,我们提出了一种解耦交叉注意策略(decoupled cross-attention),即通过新添加的交叉注意层嵌入图像特征。
4.2.1 Image Encoder
我们使用预先训练好的 CLIP 图像编码器模型从图像提示中提取图像特征。我们利用 CLIP 图像编码器中的全局图像嵌入,它与图像标题非常吻合,能代表图像的丰富内容和风格。在训练阶段,CLIP 图像编码器被冻结。
为了有效分解全局图像嵌入,我们使用了一个小型可训练投影网络,将图像嵌入投影到长度为 N 的特征序列中(本研究中使用 N = 4),图像特征的维度与预训练扩散模型中文本特征的维度相同。我们在本研究中使用的投影网络由一个线性层和一个归一化层组成。

怎么理解CLIP 图像编码器中的全局图像嵌入?
我记得CLIP图像编码器是Vit? Vit区分全局特征提取和细粒度特征提取吗?
4.2.2 Decoupled Cross-Attention

在阅读这个模块之前先要搞清楚什么是Cross-Attention
Cross-Attention这个模块是在LDM(Latent Diffusion Model,也就是Stable Diffusion这个模型的前身)被引入到Diffusion这个模型中的,引入Cross-Attention的目的是为了为了预处理来自各种模态(如语言提示)的
y
y
y,我们引入了一个特定领域编码器
τ
θ
\tau_\theta
τθ,该编码器将
y
y
y 投射到中间表示
τ
θ
(
y
)
∈
R
M
×
d
τ
\tau_\theta(y)\in\mathbb{R}^{M\times{d}_\tau}
τθ(y)∈RM×dτ中,然后通过交叉注意层将其映射到 UNet 的中间层,实现
Attention
(
Q
,
K
,
V
)
=
softmax
(
Q
K
T
d
)
⋅
V
\text{Attention}(Q,K,V)=\text{softmax}\left(\frac{QK^T}{\sqrt{d}}\right)\cdot V
Attention(Q,K,V)=softmax(dQKT)⋅V,其中:
Q
=
W
Q
(
i
)
⋅
φ
i
(
z
t
)
,
K
=
W
K
(
i
)
⋅
τ
θ
(
y
)
,
V
=
W
V
(
i
)
⋅
τ
θ
(
y
)
.
Q=W_Q^{(i)}\cdot\varphi_i(z_t), K=W_K^{(i)}\cdot\tau_\theta(y), V=W_V^{(i)}\cdot\tau_\theta(y).
Q=WQ(i)⋅φi(zt),K=WK(i)⋅τθ(y),V=WV(i)⋅τθ(y).
Stable Diffusion Model中的CrossAttnDownBlock2D的结构大致如下(这张图来自,画的很仔细,很感谢他(她)):


这两幅图来自Cross Attention 原理及实现
同时也给大家推荐一位我觉得Transformer讲的很好的博主写的博客预训练语言的前世今生


图像特征由具有解耦交叉注意的适配模块集成到预训练的 UNet 模型中。在原始 SD 模型中,来自 CLIP 文本编码器的文本特征通过输入交叉注意层被插入 UNet 模型。给定查询特征 Z Z Z和文本特征 c t c_t ct 后,交叉注意的输出 Z ′ Z^′ Z′ 可用下式定义:
Z
′
=
A
t
t
e
n
t
i
o
n
(
Q
,
K
,
V
)
=
S
o
f
t
m
a
x
(
Q
K
⊤
d
)
V
,
\mathbf{Z}^{\prime}=\mathrm{Attention}(\mathbf{Q},\mathbf{K},\mathbf{V})=\mathrm{Softmax}(\frac{\mathbf{Q}\mathbf{K}^{\top}}{\sqrt{d}})\mathbf{V},
Z′=Attention(Q,K,V)=Softmax(dQK⊤)V,
其中,
Q
=
Z
W
q
Q = ZW_q
Q=ZWq、
K
=
c
t
W
k
K = c_tW_k
K=ctWk、
V
=
c
t
W
v
V = c_tW_v
V=ctWv 分别是注意力操作的查询、键和值矩阵,
W
q
W_q
Wq、
W
k
W_k
Wk、
W
v
W_v
Wv 是可训练线性投影层的权重矩阵。
插入图像特征的一种直接方法是将图像特征和文本特征串联起来,然后将它们输入交叉注意层。然而,我们发现这种方法不够有效。相反,我们提出了一种解耦交叉注意机制,即文本特征和图像特征的交叉注意层是分开的。具体来说,我们为原始 UNet 模型中的每个交叉注意层添加了一个新的交叉注意层,以插入图像特征。给定图像特征
c
i
c_i
ci,新的交叉注意
Z
′′
Z^{′′}
Z′′ 的输出计算如下:
Z
′
′
=
A
t
t
e
n
t
i
o
n
(
Q
,
K
′
,
V
′
)
=
S
o
f
t
m
a
x
(
Q
(
K
′
)
⊤
d
)
V
′
,
\mathbf{Z}^{\prime\prime}=\mathrm{Attention}(\mathbf{Q},\mathbf{K}^{\prime},\mathbf{V}^{\prime})=\mathrm{Softmax}(\frac{\mathbf{Q}(\mathbf{K}^{\prime})^{\top}}{\sqrt{d}})\mathbf{V}^{\prime},
Z′′=Attention(Q,K′,V′)=Softmax(dQ(K′)⊤)V′,
其中, Q = Z W q Q = ZW_q Q=ZWq、 K ′ = c i W k ′ K^′ = c_iW^′_k K′=ciWk′ 和 V ′ = c i W v ′ V^′ = c_iW^′_v V′=ciWv′ 是来自图像特征的查询、键和值矩阵。 W k ′ W^′_k Wk′ 和 W v ′ W^′_v Wv′ 是相应的权重矩阵。值得注意的是,我们使用与文本交叉关注相同的Query来处理图像交叉关注。因此,我们只需为每个交叉注意层添加两个参数 W k ′ W^′_k Wk′、 W v ′ W^′_v Wv′ 即可。为了加快收敛速度, W k ′ W^′_k Wk′ 和 W v ′ W^′_v Wv′ 由 W k W_k Wk 和 W v W_v Wv 初始化。然后,我们只需将图像交叉注意层的输出与文本交叉注意层的输出相加即可。因此,解耦交叉注意的最终形式定义如下:
Z
n
e
w
=
S
o
f
t
m
a
x
(
Q
K
⊤
d
)
V
+
S
o
f
t
m
a
x
(
Q
(
K
′
)
⊤
d
)
V
′
w
h
e
r
e
Q
=
Z
W
q
,
K
=
c
t
W
k
,
V
=
c
t
W
v
,
K
′
=
c
i
W
k
′
,
V
′
=
c
i
W
v
′
\begin{aligned}\mathbf{Z}^{new}=\mathrm{Softmax}(\frac{\mathbf{Q}\mathbf{K}^{\top}}{\sqrt{d}})\mathbf{V}+\mathrm{Softmax}(\frac{\mathbf{Q}(\mathbf{K}^{\prime})^{\top}}{\sqrt{d}})\mathbf{V}^{\prime}\\\mathrm{where~}\mathbf{Q}=\mathbf{Z}\mathbf{W}_{q},\mathbf{K}=c_{t}\mathbf{W}_{k},\mathbf{V}=\boldsymbol{c}_{t}\mathbf{W}_{v},\mathbf{K}^{\prime}=\boldsymbol{c}_{i}\mathbf{W}_{k}^{\prime},\mathbf{V}^{\prime}=\boldsymbol{c}_{i}\mathbf{W}_{v}^{\prime}\end{aligned}
Znew=Softmax(dQK⊤)V+Softmax(dQ(K′)⊤)V′where Q=ZWq,K=ctWk,V=ctWv,K′=ciWk′,V′=ciWv′
由于我们冻结了最初的 UNet 模型,因此在上述解耦交叉注意中,只有
W
k
′
W^′_k
Wk′ 和
W
v
′
W^′_v
Wv′ 是可训练的。
4.2.3 Training and Inference
在训练过程中,我们只对 IP 适配器进行优化,同时保持预训练扩散模型的参数不变。IP 适配器也在图像-文本对数据集1 上进行训练,训练目标与原始 SD 相同:
L
s
i
m
p
l
e
=
E
x
0
,
ϵ
,
c
t
,
c
i
,
t
∥
ϵ
−
ϵ
θ
(
x
t
,
c
t
,
c
i
,
t
)
∥
2
.
L_{\mathrm{simple}}=\mathbb{E}_{\boldsymbol{x}_0,\boldsymbol{\epsilon},\boldsymbol{c}_t,\boldsymbol{c}_i,t}\|\boldsymbol{\epsilon}-\boldsymbol{\epsilon}_\theta{\left(\boldsymbol{x}_t,\boldsymbol{c}_t,\boldsymbol{c}_i,t\right)}\|^2.
Lsimple=Ex0,ϵ,ct,ci,t∥ϵ−ϵθ(xt,ct,ci,t)∥2.
我们还在训练阶段随机放弃图像条件,以便在推理阶段实现无分类器指导:
ϵ
^
θ
(
x
t
,
c
t
,
c
i
,
t
)
=
w
ϵ
θ
(
x
t
,
c
t
,
c
i
,
t
)
+
(
1
−
w
)
ϵ
θ
(
x
t
,
t
)
\hat{\boldsymbol{\epsilon}}_\theta(\boldsymbol{x}_t,\boldsymbol{c}_t,\boldsymbol{c}_i,t)=w\boldsymbol{\epsilon}_\theta(\boldsymbol{x}_t,\boldsymbol{c}_t,\boldsymbol{c}_i,t)+(1-w)\boldsymbol{\epsilon}_\theta(\boldsymbol{x}_t,t)
ϵ^θ(xt,ct,ci,t)=wϵθ(xt,ct,ci,t)+(1−w)ϵθ(xt,t)
在这里,如果放弃图像条件,我们只需将 CLIP 图像嵌入归零。 由于文字交叉注意和图像交叉注意是分离的,我们还可以在推理阶段调整图像条件的权重:
Z
n
e
w
=
A
t
t
e
n
t
i
o
n
(
Q
,
K
,
V
)
+
λ
⋅
A
t
t
e
n
t
i
o
n
(
Q
,
K
′
,
V
′
)
\mathbf{Z}^{new}=\mathrm{Attention}(\mathbf{Q},\mathbf{K},\mathbf{V})+\lambda\cdot\mathrm{Attention}(\mathbf{Q},\mathbf{K}^{\prime},\mathbf{V}^{\prime})
Znew=Attention(Q,K,V)+λ⋅Attention(Q,K′,V′)
其中,
λ
λ
λ 是权重系数,如果
λ
=
0
λ = 0
λ=0,则模型成为原始的文本到图像扩散模型。
五、实验结果
为了证明我们的方法的有效性,我们比较了我们的 IP 适配器和其他现有的带图像提示的生成方法。我们选择了三种方法:从头开始训练、从文本到图像模型的微调和适配器。
- 对于从头开始训练的方法,我们选择了 3 个开源模型:unCLIP1(DALL-E 2 的再现)、Kandinsky-2-12(DALL-E 2 和潜在扩散的混合)和 Versatile Diffusion [26]。
- 对于微调模型,我们选择了 SD Image Variations 和 SD unCLIP。
- 在适配器方面,我们将 IPAdapter 与 T2I-Adapter 的样式适配器、Uni-ControlNet的全局控制器、ControlNet Shuffle、ControlNet Reference-only 和 SeeCoder 进行了比较。



Ablation Study
为了验证解耦的交叉注意力策略的有效性,我们还比较了一个没有解耦交叉注意力的简单适配器:图像特征与文本特征连接,然后嵌入到预训练的交叉注意力层中。为了公平地进行比较,我们使用相同的配置训练了两个适配器 200,000 个步骤。图 10 提供了具有解耦交叉注意力的 IP 适配器和简单适配器的比较示例。正如我们所观察到的,IP-Adapter 不仅可以生成比简单适配器更高质量的图像,而且可以生成更一致的图像和图像提示。

由于我们的 IP 适配器利用了 CLIP 图像编码器的全局图像嵌入,因此它可能会丢失参考图像中的一些信息。因此,我们设计了一个以细粒度特征为条件的 IP 适配器。首先,我们从 CLIP 图像编码器中提取倒数第二层的网格特征。然后,使用小型查询网络来学习特征。具体来说,定义了 16 个可学习的标记,以使用轻量级 transformer 模型从网格特征中提取信息。来自查询网络的令牌特征用作交叉注意力层的输入。
两个适配器的结果如图所示。虽然具有更细粒度特征的 IP-Adapter 可以通过图像提示生成更一致的图像,但它也可以学习空间结构信息,这可能会减少生成图像的多样性。但是,文本提示和结构图等附加条件可以与图像提示相结合,以生成更多样化的图像。例如,我们可以在其他人体姿势的指导下合成新颖的图像。

六、总结
其实本篇文章的核心思想和简单,就是冻结Stable Diffusion的参数,只对原Stable Diffusion结构中的CrossAttnDownBlock2D做了更改,由原来的一个CrossAttention变成了两个(不是串联,可以理解为并联再相加),新加入的CrossAttention与原本的CrossAttention不同之处在于输入不同,一个是Text Embedding,一个是Image Embedding。
七、感想
其实本文的内容不难,但是也花了很多时间,时间主要花在理解Diffusion和latend Diffusion和Stable Diffusion这三个模型上面。以为本文的内容就是基于上述内容进行更改的,在这花了不少时间,但是对于Diffusion和latend Diffusion两篇论文还是有很多看不懂的地方。主要是自己的数学基础不足以支持自己去理解上面的公式。所以还是很有必要去重新学一遍概率论的相关知识。

其实我这里还有一个想法 就是如果我再加入一个IP adapter到Stable Diffusion(就相当于三个CrossAttention并联再相加能不能实现三种元素的共同体现呢? 依次类推)
八、画饼
后续会持续和大家分享自己对于Composer | T2I-adapter | see coder | Uni-ControlNet | ControlNet 的理解
1615

被折叠的 条评论
为什么被折叠?



