一句话定位
Concept Sliders 把扩散模型里”某个连续属性”(年龄/天气/笑容/风格/眼睛大小……)训练成一个低秩 LoRA 方向向量,推理时只需调一个标量 α 即可在单次前向中连续、可叠加、低纠缠地放大或抑制该属性。核心结果:在年龄编辑上相对 Prompt2Prompt 把”改年龄却误改种族/性别”的纠缠率(Interference)从 33% 降到 10%,LPIPS 从 0.15 降到 0.06(结构改动更小),同时保持相当的 ∆CLIP(编辑强度);超过 50 个 slider 可叠加而不崩。论文获 ECCV 2024 收录。
背景与定位
艺术家在用 stable-diffusion-1 / sdxl 这类文生图模型时,常需要对”人的年龄""天气强度""笑容程度”这种连续属性做细粒度调节,但仅靠改 prompt 很难做到:
- prompt 敏感性:改 prompt(如把”person”换成”old person”)往往因 prompt-seed 组合的敏感性而大改整体结构,不是平滑微调。
- 后处理编辑方法的局限:prompt-to-prompt、Pix2Video 等通过反演扩散过程、改 cross-attention 来编辑单图,但 (1) 每个新概念都要单独的推理 pass;(2) 只支持有限的同时编辑;(3) 需要为单张图工程化 prompt,不是可泛化的控制;(4) 容易引入概念纠缠(改年龄连带改种族)。
- 难以用文字描述的视觉概念:像精确的”眉形""眼睛大小”这类,文本几乎无法精确指定。
Concept Sliders 的定位是:训练一个作用于模型参数(而非单图)的轻量 plug-and-play LoRA 适配器,学到一条可泛化的语义方向,从而做到单次前向、连续调强、可组合、低纠缠的属性控制。它建立在作者团队此前 erasing-concepts-esd(ESD,从扩散模型擦除概念)和 unified-concept-editing-uce 的脉络上,并把”擦除概念”的二元操作推广为”连续可调的滑块”。技术上依赖 lora(低秩适配)、classifier-free-guidance(CFG 的引导项形式)和 sdedit(推理期保结构)。
模型架构
本工作不训练新模型,而是给冻结的预训练扩散模型挂一个 LoRA 适配器,因此”架构”主要指 LoRA 注入方式与推理拓扑:
- 骨干:U-Net 扩散模型,主实验在 SDXL(1024px 潜空间扩散模型),附加实验在 SD v1.4。均为 latent diffusion(图像先经 VAE 编码到低维潜空间 z 再扩散,最后 VAE 解码)。
- LoRA 注入:对原层权重
W0 ∈ R^{d×k}加低秩增量ΔW = BA,其中B ∈ R^{d×r}、A ∈ R^{r×k},秩r ≪ min(d,k)。冻结W0,只训练 A、B。推理时合并W = W0 + α·ΔW。 - 关键设计 1——
α作为可调旋钮:LoRA 的缩放因子α在推理时自由可调,从而无需重训即可连续调节编辑强度(增大α编辑更强)。这区别于 ESD 那种”想要更强编辑就用更大引导 η 重训”的做法——Sliders 把强度从训练期搬到了推理期。 - 关键设计 2——双向 LoRA:同一个 LoRA 既以正向(
ε_{θ+})也以负向(ε_{θ-})应用,使得α取正得到 c+ 效果、取负得到 c- 效果(一个滑块两端对称)。 - 关键设计 3——低秩约束本身是精度来源:消融显示,去掉低秩约束(普通 full finetune)会降低精度与画质;低秩恰好框定”最小概念子空间”,带来可控、高质量、解纠缠的编辑(见消融 Table 3)。
- 超参:README 默认
--rank 4 --alpha 1,训练引导guidance=4。 - 可组合性:因为是轻量 LoRA,多个 slider 可叠加(论文示范渐进叠加到 50 个),且能突破 SDXL 77 token 的 prompt 上限——50 个 slider 表达的控制远超 prompt 能塞下的 token 量。
数据
Concept Sliders 训练不需要大规模数据集,只需极少量监督信号,按概念来源分两类:
- 文本概念 slider(Textual):仅需一组对立的文本提示对,无需任何图像。给定目标概念
ct(如”person”)、增强属性c+(“old”)、抑制属性c-(“young”),外加一组保留概念集 P(如编辑年龄时把若干种族名作为保留方向)用于解纠缠。论文在 30 个文本概念上验证(天气/年龄/风格/表情等,附录给全例)。 - 视觉概念 slider(Visual):用 ~4–6 对 before/after 配对图(README 说法)训练难以文字描述的概念。例如”眼睛大小”用 Ostris 数据集里不同眼睛尺寸的配对图;“眉形”用配对图 + 可选文本引导”eyebrows”聚焦区域。
- 从 StyleGAN 迁移的数据:用 stylegan-v3(在 FFHQ 人脸上训练)的 style space,按 [Wu et al. StyleSpace] 方法定位控制特定人脸特征的神经元(如 neuron 77 控颧骨、646 控左脸宽、847 控眼距),缩放这些神经元批量生成配对图,再用这些配对图训练图像 slider——从而把 GAN 潜向量迁移进扩散模型。
- 清洗/配比/合成:论文不涉及大规模数据清洗或 re-captioning(因为不重训基模型);唯一的”合成数据”就是用 StyleGAN 批量生成的人脸配对,以及”fix hands / repair”用复杂正负 prompt 对(无需图像)。
训练方法
训练目标——基于 score/引导的解纠缠微调,而非标准去噪重建:
- 概率视角:给定目标概念
ct,希望微调后模型θ*提高属性 c+、降低 c- 的似然:P_{θ*}(X|ct) ← P_θ(X|ct) · (P_θ(c+|X)/P_θ(c-|X))^η。对数概率梯度展开为∇log P_θ(X|ct) + η(∇log P_θ(X|c+) − ∇log P_θ(X|c-))。 - 转成去噪预测:用 Tweedie 公式 + 重参数化,把每个 score 写成噪声预测
ε(X,·,t),得到训练目标分数函数:ε_{θ*}(X,ct,t) ← ε_θ(X,ct,t) + η(ε_θ(X,c+,t) − ε_θ(X,c-,t))(Eq.7)。 即让带 slider 的模型去拟合”原模型预测 + η 倍的(增强方向−抑制方向)“这个目标,从而把分布往 c+ 推、往 c- 拉。 - 解纠缠目标(Disentanglement,本文核心 trick):单一 prompt 对常学到纠缠方向(改年龄连带改性别/种族)。于是引入保留概念集 P,对每个
p∈P同时增强(c+,p)、抑制(c-,p):ε_{θ*}(X,ct,t) ← ε_θ(X,ct,t) + η·Σ_{p∈P}(ε_θ(X,(c+,p),t) − ε_θ(X,(c-,p),t))(Eq.8)。 几何上等价于:显式定义若干”保留方向”(如不同种族),求一条对这些保留特征不变的新编辑方向(附录 Fig.12)。这是把 Interference 从 33%→10% 的关键。 - 视觉概念的训练损失(Eq.9):对配对图
(xA,xB),让负向 LoRA 拟合 A 的噪声、正向 LoRA 拟合 B 的噪声:||ε_{θ-}(xA_t,'',t) − ε||² + ||ε_{θ+}(xB_t,'',t) − ε||²,使 LoRA 在负方向产生 A 效果、正方向产生 B 效果。StyleGAN 迁移也用同一套配对图损失。 - 训练规模:所有模型训练 500 epochs;秩 4、α 1、guidance η=4(默认)。
- 推理 trick——SDEdit 式保结构:推理时前 t 步把 LoRA 乘子设 0(用原始预训练先验保持结构语义),后续步才开 LoRA。消融发现 timestep 750–850 区间在”结构保持(低 LPIPS)“与”编辑有效(CLIP)“间最平衡;用 SDEdit 能扩大可用
α范围而不崩结构(代价是略微削弱编辑强度)。 - 无蒸馏/无 RLHF:本工作不涉及一致性蒸馏、LCM、DPO/reward model 等;纯监督式 LoRA 微调。
Infra(训练 / 推理工程)
- 训练成本:论文未报告 GPU 型号/卡时/吞吐等算力数字(未披露)。但定性上极轻量——每个 slider 只是秩-4 LoRA、500 epoch、少量 prompt 对/图像对,单卡可训。
- 推理开销:LoRA 可零开销合并进权重(
W=W0+αΔW),单次前向即得编辑结果,无额外推理 pass;这正是相对 P2P/composition(每个新概念需额外 pass)的工程优势。 - 可组合的工程意义:>50 个 LoRA 可叠加且互不显著干扰,便于像”插件库”一样分发与叠加(slider 体积小、易分享)。
- 部署形态:官方提供 Colab demo、HuggingFace Space(
baulab/ConceptSliders,Gradio)、可本地跑的 Gradio 工具,以及预训练 SDXL sliders 权重下载(项目站sliders.baulab.info/weights/xl_sliders/)。代码 MIT 许可。README 后续还加了 FLUX-1 实验性支持、用 GPT-4 自动生成 slider 文本提示对的辅助 notebook,以及 ControlNet 集成(社区贡献)。
评测 benchmark(把效果讲清楚)
评测主体在 SDXL,指标为 ∆CLIP(编辑前后在目标 prompt 上的 CLIP 分变化,越大=编辑越强)与 LPIPS(与原图的感知距离,越小=结构改动越小)、Interference(2500 张图中种族/性别被误改的比例,越小越好)。
文本 slider vs Prompt2Prompt(Table 1,单一正向 scale):
| 概念 | P2P ∆CLIP | P2P LPIPS | Composition ∆CLIP | Composition LPIPS | 本文 ∆CLIP | 本文 LPIPS |
|---|---|---|---|---|---|---|
| Age | 1.10 | 0.15 | 3.14 | 0.13 | 3.93 | 0.06 |
| Hair | 3.45 | 0.15 | 5.14 | 0.15 | 5.59 | 0.10 |
| Sky | 0.43 | 0.15 | 1.55 | 0.14 | 1.56 | 0.13 |
| Rusty | 7.67 | 0.25 | 6.67 | 0.18 | 7.60 | 0.09 |
→ 本文在保持相当甚至更高 ∆CLIP(编辑强度)的同时,LPIPS 显著更低(编辑更”外科手术化”、不乱改结构)。
年龄编辑的纠缠对比(Table 4):P2P Interference 0.33 / Composition 0.38 / 本文 0.10;LPIPS 0.15 / 0.13 / 0.06;∆CLIP 1.10 / 3.14 / 3.93。本文在三项上全面占优。
视觉概念——眼睛大小 slider(Table 2):∆eye(眼睛面积变化比)本文 1.75,接近”训练数据上界”1.84,远高于 Custom Diffusion 0.97、Textual Inversion 0.81;LPIPS 本文 0.06,远优于 Custom Diffusion 0.23、Textual Inversion 0.21。遍历 slider 可平滑把平均眼睛面积放大 2.75×。(眼区用 FaceNet 检测、face parser 测量。)定性上(Fig.16)定制化方法会把”大眼睛”和无关属性(金发/蓝眼)伪相关地一起学进去,本文配对训练只暴露局部变化,避免了这种伪相关。
消融(Table 3,2500 张图):
| Ours | w/o 解纠缠 | w/o 低秩 | |
|---|---|---|---|
| ∆CLIP | 3.93 | 3.39 | 3.18 |
| LPIPS | 0.06 | 0.17 | 0.23 |
| Interference | 0.10 | 0.36 | 0.19 |
→ 去掉解纠缠目标,Interference 暴涨到 0.36(年龄编辑会乱改性别/种族);去掉低秩约束,LPIPS 升到 0.23(编辑不再精准、背景/衣服保不住)。两者都必要,且 ∆CLIP(编辑强度)在三种设置下相近——说明解纠缠/低秩是在”不牺牲强度”的前提下提升精度。
图像质量应用——人评(user study):
- Fix Hands slider(用复杂正负 prompt 对,无需图像):AMT 上 150 张 SDXL 原图 62% 被判定手部畸形;加 slider 后仅 22% 被判畸形。
- Repair / Realistic slider(一条修复总体真实感的低秩方向):AMT A/B 测试用 300 对 (原图 vs slider 版,同 seed/prompt) ,80.39% 的评测者偏好 slider 版更真实/缺陷更少(剔除泛泛理由后剩 250 对供分析;正文与附录对”300/250”表述略有出入,此处取附录原文 §16.1)。注意:FID 与人评不一致——把图往相反 slider 方向推反而 FID 更好,但用户仍偏好提升真实感的方向(呼应 FID 与人类感知存在 gap 的已有结论)。
StyleGAN 迁移:定性证明 SD 潜空间能学到 StyleGAN style neuron(颧骨/脸宽/眼距等),实现文字难以描述的人脸结构编辑(无定量表)。
创新点与影响
核心贡献:
- 提出把”连续属性控制”建模为扩散模型参数空间里的低秩方向向量(LoRA slider),用极少 prompt 对或图像对即可训练,推理期靠调
α连续、双向、单次前向地控制。 - 解纠缠目标(Eq.8):用一组保留概念把编辑方向投影到对保护属性不变的子空间,系统性降低”改 A 误改 B”(年龄↔种族/性别)的纠缠——这是相对纯 prompt/后处理编辑的实质改进。
- 低秩=精度的洞察:低秩约束不是只为省参数,而是框定最小概念子空间、带来更精准更可泛化的编辑。
- 可组合性:>50 个 slider 可叠加、突破 prompt token 上限,把”概念控制”变成可分发的轻量插件。
- 两个实用扩展:从难以文字描述的视觉配对图(含 StyleGAN 迁移)学 slider;以及 fix-hands / repair slider 揭示并解锁了 SDXL”本就具备但默认不输出”的高质量生成能力。
影响:方法被 ECCV 2024 收录,成为社区做”属性旋钮”的标准范式之一;后续作者推出 SliderSpace(无需训练即自动从扩散模型抽取上百个 slider)作为延续,README 也加了 FLUX-1 支持与 GPT-4 自动造 prompt 对,被 ControlNet 等社区工作集成。
已知局限(论文 §8):
- 解纠缠只是减少而非消除残余纠缠(Table 3 仍有非零 Interference);需要更谨慎、最好自动化地选取”保留方向”集合。
- SDEdit 式推理虽保结构,但会削弱编辑强度(强度与结构保持之间存在权衡,Table 1 体现);如何在保真前提下提强度仍待解。
- fix-hands/repair 的”真实感”提升与 FID 不一致,提示评测指标本身的局限。
原始链接
- arxiv_abs: https://arxiv.org/abs/2311.12092
- arxiv_pdf: https://arxiv.org/pdf/2311.12092
- github: https://github.com/rohitgandikota/sliders
- project_page: https://sliders.baulab.info
- hf_demo: https://huggingface.co/spaces/baulab/ConceptSliders
- trained_weights: https://sliders.baulab.info/weights/xl_sliders/
一手源存档(sources/)
- arxiv-2311.12092.pdf (arXiv 原文 PDF,不入 git)
- readme.md