info | |
---|---|
paper | https://arxiv.org/pdf/2308.06721.pdf |
code | https://github.com/tencent-ailab/IP-Adapter |
org. | Tencent AI Lab |
个人博客地址 | http://myhz0606.com/article/ip_adapter |
1 Motivation
为了对文生图diffusion model
进行特定概念的定制,常用LoRA
[1]、textual inversion
[2]等inference before fine-tune的方法。此类方法有一个弊端:每一个新的概念都需要重新训练一个权重,比较麻烦。那么,能不能有一个方法inference前无须微调,只需给一张reference image,就能将该图片的概念融入到生成过程中?这就是IP-adapter
想要解决的问题。
2 Method
IP-adapter
和LoRA
等工作类似,也是一个PEFT
(parameter efficient fine-tuning)的方法。区别在于,一般LoRA
等方法只须定制特定概念,训练数据只需少量(一般只需数十张)、高质量特定概念的图片。而IP-adapter希望diffusion model能够理解开放式的图片特征,并依此生成图片,故为了保证泛化性,需要在大量数据上进行训练。
2.1 模型架构
为了降低训练成本,作者引入了预训练的CLIP
[3] image encoder来初步提取reference image的图片特征,随后接了一个Linear+layer norm层来调整特征的维度。随后设计了一个decoupled cross-attention
模块,将image feature融入到diffusion model
的生成过程中。通过训练让diffusion model
能够理解image prompt。(pipeline中只有 🔥的module更新权重,其它module freeze。)
2.2 decoupled cross-attention
decoupled cross-attention
相比文生图的cross attention多了两个训练参数
W
i
k
′
,
W
i
v
′
W_{i}^{k'},W_{i}^{v'}
Wik′,Wiv′,起始阶段用text分支的
W
i
k
,
W
i
v
W_{i}^{k},W_{i}^{v}
Wik,Wiv进行初始化。(下标
i
i
i代表第
i
i
i层cross-attention
)。
可以通过调整image embedding的权重 λ \lambda λ来决定image condition的影响程度。
2.3 模型训练
模型的训练数据采用LAION-2B
和COYO-700M
的子集,总计10M左右。训练目标和经典的diffusion model[4]一致。
L s i m p l e = E x 0 , ϵ , c t , c t , t ∣ ∣ ϵ − ϵ θ ( x t , c t , c i , t ) ∣ ∣ 2 . { \mathcal L } _ { \mathrm { s i m p l e } } = { \mathbb E } _ { { \boldsymbol { x } } _ { 0 } , \epsilon , c _ { t } , c _ { t } , t } \vert \vert \epsilon - \epsilon _ { \theta } ( { \boldsymbol { x } } _ { t } , c _ { t } , c _ { i } , t ) \vert \vert ^ { 2 } . Lsimple=Ex0,ϵ,ct,ct,t∣∣ϵ−ϵθ(xt,ct,ci,t)∣∣2.
同样为了classifier-free guidance训练时随机drop condition。
3 Result
IP-Adapter
的一大优势是他能结合其它condition tool。
下图展示了IP-Adapter
和其它方法的对比结果
IP-adapter
还能做instruction editing
(更多结果请见原论文)
4 summary
IP-Adapter
能接受image作为prompt,实现inference without fine-tune的定制生成。虽然在单一概念比不上精心微调的LoRA
等定制方法,但在一些精细化要求没那么高的场景,IP-Adapter
是一个非常有用的工具。
Reference
[1] LoRA: Low-Rank Adaptation of Large Language Models
[2] An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion
[3] Learning Transferable Visual Models From Natural Language Supervision
[4] Denoising Diffusion Probabilistic Models