finetune的性能问题
要解决的问题与上一篇相同,即finetune 所需的训练时间、参数存储,Computation 的成本很高。 但解决方法有些区别。上一篇通过增加额外的残差模块,而这一篇通过只finetune原始模型的部分参数。
P45
Analyze change in weights
✅ 选择模型的部分参数进行 finetune.问题是怎么选择?
作者通过分析模型各参数的重要性,insights 应该 finetune 哪些参数。
✅ Cross-Attn 层用于结合图像和文本的特征。
✅ Self-Attn 用于图像内部。
✅ Other 主要是卷积和 Normalization.
✅ 通过比较 pretrained 模型和 finetune 模型,change 主要发生成Cross-Attn 层,说明 Cross-Attn 层在 finetune 过程中更重要!
P46
Only fine-tune cross-attention layers
✅ 由以上观察结果,finetune 时只更新 K 和 V 的参数。
P47
How to prevent overfitting?
用少量的数据finetune整个模型,容易造成过拟合。
✅ 解决方法:通过在训练过程中引入一个正则化项来防止过拟合
✅ 从large scale image dataset中选择一些所标注文本与左图文本相似度比较高的图像。这些图像与文本的pair data用于计算正则化项。
P48
Personalized concepts
要解决的问题
✅ 目的:finetune SD 得到这只狗的文生图模型。
How to describe personalized concepts?
但只有少量的关于这只狗的数据。
解决方法
定义 V\(^\ast \) 为 modifier token in the text embedding space,例如:
解决方法:定义 \(V^ \ast \) 为 modifier token,并把它作为一个新的 token.
V\(^\ast \) dog
P49
Pileline
Also fine-tune the modifier token V\(^\ast \) that describes the personalized concept
✅ 把 \(V^ \ast \) 代入 caption,并用这只狗的数据做 finetune。同样只更新 K 和 V.
P50
Single concept results
P51
Multiple new concepts?
要解决的问题
要生成同时包含moongate与这只狗的图像
P52
Joint training
Combine the training dataset of multiple concepts
✅ 同时使用两个小样本数据 finetune,且使用 modifier token 和正则化图像,可以得到二者结合的效果。
P53
Two concept results
✅ 也可以同时引入2个 modifier token.
P54
Two concept results