Orthogonal Concept Erasure for Diffusion Models¶
会议: ICML 2026
arXiv: 2605.28902
代码: https://github.com/HansSunY/OCE
领域: AI安全 / 概念擦除 / 扩散模型
关键词: 概念擦除, 正交变换, 闭式解, 子空间投影, 多概念擦除
一句话总结¶
把 T2I 扩散模型里"加性参数编辑"的概念擦除(UCE/SPEED 等)改写成"层级正交旋转 \(W^* = QW\)"的乘性更新,并配上一个子空间级别的擦除目标,用 Procrustes 闭式解一次性算出 \(Q\),4.3 秒擦掉 100 个名人概念,且对非目标概念几乎零损伤。
研究背景与动机¶
领域现状:T2I 扩散模型容易生成版权、敏感、隐私相关的内容,业界用「概念擦除」来精准移除特定概念同时保留其余生成能力。已有方法分三类:推理期干预(易绕过)、训练式(如 ESD/MACE,效果好但要多轮微调,慢)、编辑式(如 UCE/RECE/SPEED,直接用闭式解修改 cross-attention 的 \(W_k,W_v\),秒级出结果)。编辑式是面向部署的方向。
现有痛点:所有编辑式方法都把擦除写成 加性更新 \(W^* = W + \Delta\),靠最小二乘解出 \(\Delta\)。这种公式在「擦得干净」和「保得完整」之间始终拉扯——擦得狠就把无关概念也擦坏,保得严就擦不干净;多概念同时擦时还互相打架。
核心矛盾:作者用一组 toy 实验把矛盾的根源拆出来了。把 \(W\) 做三种受控扰动测「猫」的生成:(A)只缩放 \(\tilde W = \alpha W\),几乎没影响;(B)每个神经元独立旋转 \(\tilde w_i = Q_i w_i\),模长保住但相对夹角破坏,整体图像质量崩;(C)整层共享旋转 \(\tilde W = QW\),模长和神经元间夹角都不变,但「猫」的语义明显漂移。结论:概念语义只编码在神经元方向上,整体生成能力则由神经元间的角度几何(hyperspherical geometry)支撑。而加性 \(\Delta\) 同时扰动方向、模长、夹角三件事,必然把擦除和保留耦合在一起。
本文目标:找一种参数更新方式,能精确旋转神经元方向(达成擦除),但严格保住模长和相互夹角(保住能力);并且要对多概念擦除天然友好。
切入角度:方向旋转 + 模长不变 + 夹角不变 三件事一起,数学上就是「层级正交变换 \(W^* = QW\), \(Q^\top Q = I\)」。这正是上面 toy 实验里的 Case C。
核心 idea:把加性 \(W + \Delta\) 改写成乘性正交 \(QW\),并把擦除目标从「向量级对齐」抬升到「子空间级压制」,最后落到一个标准的 orthogonal Procrustes 问题上,SVD 一步出闭式解。
方法详解¶
整体框架¶
输入:预训练 SD(或 FLUX)、待擦除概念嵌入 \(C_1\)、锚定概念嵌入 \(C_*\)(每个目标概念配一个语义近邻作为"替身")、保留概念嵌入 \(C_0 = [C_g, C_n]\)(\(C_g\) 是 COCO-30k 上预先算好的通用先验、\(C_n\) 是当前任务的局部保留集)。输出:一个层级正交矩阵 \(P\),作用在 cross-attention 的 \(W_k, W_v\) 上得到 \(W^* = PW\)。整套流程只有「构造一个矩阵 \(M\) → SVD → \(P = UV^\top\)」三步,没有迭代训练。FLUX 这类 DiT 模型没有显式 cross-attention,则比照 UCE 在选定 embedding 层上做同样操作。
关键设计¶
-
层级正交更新替代加性更新:
- 功能:把编辑式擦除统一改写成乘性正交变换 \(W^* = PW\), \(P^\top P = I\),直接旋转所有神经元方向、不动模长不动夹角。
- 核心思路:从 toy 实验得到「方向编码语义、夹角编码能力」的结论后,先在 vector-wise 目标上写出 \(\min_{P^\top P=I} \|PWC_1 - WC_*\|_F^2 + \|PWC_0 - WC_0\|_F^2\)。把两项堆叠成 \(A=[WC_1, WC_0]\), \(B=[WC_*, WC_0]\),问题等价于 \(\min_{P^\top P=I}\|PA-B\|_F^2\),再等价于 \(\max_{P^\top P=I}\mathrm{tr}(PM)\),其中 \(M = BA^\top = W(C_*C_1^\top + C_0C_0^\top)W^\top\)。这是经典 orthogonal Procrustes,对 \(M\) 做 SVD \(M = U\Sigma V^\top\) 即得 \(P = UV^\top\)。整个过程没有学习率、没有迭代。
- 设计动机:加性 \(\Delta\) 在数学上同时改 \(\|w_i\|\)、\(\cos\theta_i\)、\(\cos\phi_{ij}\) 三件事,没法只改方向;而正交 \(Q\) 在数学上恰好只改方向、自动锁住后两者。匹配 toy 实验结论,所以擦得精、保得稳。
-
子空间级擦除目标 + 全局保留先验 \(K_0\):
- 功能:把擦除从「逐点对齐到锚」抬到「把目标子空间压出锚的正交补」,解决多概念互相打架的问题;同时用 COCO-30k 预计算一个跨任务可复用的全局保留矩阵 \(K_0\)。
- 核心思路:对 \(WC_1\) 和 \(WC_*\) 做 Gram–Schmidt 取正交基 \(G, G_*\),定义投影 \(R = GG^\top\), \(R_* = G_*G_*^\top\)。新的目标改成 \(\min_{P^\top P=I} -\|PR - R_{*,\perp}\|_F^2 + \|PWC_0 - WC_0\|_F^2\),等价 trace 最大化形式下 \(M_{\text{total}} = -R(I - R_*) + W(K_0 + C_n C_n^\top)W^\top\),其中 \(K_0 = C_g C_g^\top = \mathbb{E}_c[cc^\top]\) 在 COCO-30k 上离线算一次(A100 上 3 s),所有擦除任务复用。再做一次 SVD 出 \(P\)。
- 设计动机:vector-wise 在单概念时是「严」的对齐;但 100 个目标同时严格对齐会出现互相矛盾的硬约束,导致擦不干净又伤无关概念。子空间形式只要求"把整个目标子空间压到锚之外",约束更软更结构化,多概念天然不冲突。\(K_0\) 则把"通用语义先验"和具体任务解耦,既加保留强度又不增加推理时成本。
-
非对称的"擦除子空间 + 保留向量"设计:
- 功能:擦除用子空间级、保留用向量级,两种粒度有意混搭。
- 核心思路:擦除项写成对子空间投影 \(R, R_*\) 的操作;保留项仍然是逐向量 \(\|PWC_0 - WC_0\|_F^2\)(即对 \(C_0\) 里每个嵌入逐点不变)。
- 设计动机:擦除可以"宽进宽出",因为不需要给目标精确对齐到某个具体替身;但保留必须"针针到位"——非目标概念之间没有冲突约束,逐向量保护既无副作用又能拿到最高保真度。消融(Tab. 5)显示:双 vector-wise \(H_o=91.70\),双 subspace \(H_o=94.22\),本文的非对称组合 \(H_o=95.48\),确实是这种混搭最好。
损失函数 / 训练策略¶
整篇没有"训练"。从输入到输出就是:堆叠 \(C_1, C_*, C_n\) → 算 \(M_{\text{total}} = -R(I - R_*) + W(K_0 + C_n C_n^\top)W^\top\) → SVD \(M_{\text{total}} = U\Sigma V^\top\) → \(P = UV^\top\) → 写回 \(W^* = PW\)。\(K_0\) 离线预计算一次。SD v1.4 上擦 100 个名人只要 4.3 s(A100),ESD 要 1800 s,MACE 要 1800 s。
实验关键数据¶
主实验¶
| 任务 | 指标 | 之前 SOTA | OCE | 说明 |
|---|---|---|---|---|
| CIFAR-10 单物体擦除(前 5 类平均) | \(\text{Acc}_e \downarrow\) / \(\text{Acc}_s \uparrow\) / \(H_o \uparrow\) | 8.32 / 96.92 / 94.23 (MACE) | 4.61 / 98.68 / 97.01 | 擦得更干净,无关类几乎不掉 |
| 艺术风格擦除(Van Gogh) | CS \(\downarrow\) / COCO FID \(\downarrow\) / COCO CS \(\uparrow\) | 21.22 / 14.53 / 26.45 (UCE) | 21.08 / 7.15 / 26.52 | FID 直接砍掉一半 |
| 多概念擦除(100 名人) | \(\text{Acc}_e \downarrow\) / \(\text{Acc}_s \uparrow\) / \(H_o \uparrow\) / Time | 8.02 / 91.60 / 91.79 / 1800 s (MACE) | 3.44 / 94.42 / 95.48 / 4.3 s | 比 MACE 快 ~420× |
| 多概念擦除(100 名人)vs SPEED | \(H_o\) / Time | 93.72 / 5.0 s | 95.48 / 4.3 s | 同量级速度但 \(H_o\) 更高 |
| I2P 隐式 NSFW(含 AT 版本) | I2P / MMA / Ring-A-Bell ↓ | 0.10 / 0.01 / 0.00 (SPEED w/ AT) | 0.05 / 0.01 / 0.00 | 编辑式里最强 |
消融实验¶
| 配置 | \(\text{Acc}_e \downarrow\) | \(\text{Acc}_s \uparrow\) | \(H_o \uparrow\) | FID ↓ | 说明 |
|---|---|---|---|---|---|
| Full OCE(子空间擦 + 向量保) | 3.44 | 94.42 | 95.48 | 18.33 | 完整方案 |
| 向量擦 + 向量保 | 7.59 | 91.37 | 91.70 | 20.79 | 多概念互相打架 |
| 子空间擦 + 子空间保 | 4.54 | 93.01 | 94.22 | 18.10 | 保留过度宽松,丢细节 |
| 无全局先验 \(K_0\) | 6.72 | 94.32 | 93.80 | 22.76 | FID 明显恶化 |
| \(K_0\) 用 1/3 COCO | 4.47 | 93.44 | 94.47 | 19.31 | 越多通用先验越好 |
| \(K_0\) 用 2/3 COCO | 3.85 | 93.63 | 94.87 | 18.60 | 单调提升 |
关键发现¶
- 非对称设计是关键:擦除用 subspace 是为了多概念无冲突,保留用 vector 是为了细粒度保真。任意一边换粒度都掉点。
- \(K_0\) 的"通用语义先验"几乎是免费午餐:离线 3 s 预算,多概念 FID 从 22.76 → 18.33。这是把"任务无关的保留"和"任务相关的保留"解耦的工程红利。
- 在 DiT 架构(FLUX.1 dev)上不需要改公式,只把作用层从 cross-attention 换成 MMDiT 的 embedding 层就直接迁移,对象 / 风格 / 名人 / NSFW 四类擦除全部成立。
- 速度优势在 100 概念规模放大到 400× 量级,且 SPEED 报告的 runtime 没算它必须的 3 步预处理;OCE 是真正的"一步"。
亮点与洞察¶
- toy 实验把"为什么加性更新不行"讲到根上:方向 / 模长 / 夹角三件事在加性公式里强耦合,在乘性正交公式里完美解耦。这种"先做几何分析再写目标函数"的思路比直接堆 trick 优雅得多。
- 把"加性 → 乘性"的范式迁移其实可以套到很多参数编辑式任务(model merging、unlearning、风格注入),凡是依赖 \(W + \Delta\) 闭式解的方法都值得问一遍:"其实你只想旋转方向吗?"
- "擦用粗、保用细"的非对称粒度设计很反直觉但很有道理:擦除的约束太硬会冲突,保留的约束太软会丢细节,混搭刚好打到甜点区。
- \(K_0\) 的预计算 trick 把"通用图像生成能力"显式写成了一个矩阵,可复用、可分发、可作为基础模型的"能力指纹",未来 model card 里可能会出现这种东西。
局限与展望¶
- 作者承认:SVD 在更大模型上有算力压力;子空间约束让擦除后的语义会落到锚附近的"中间地带"而非精确对齐,编辑类任务可能不够;对关系、组合、水印这类更隐式的概念还没验证。
- 自己看下来还有几点:所有实验都在 SD v1.4 / FLUX.1 dev 这两个相对小的模型上,没在最新的大尺寸 SDXL/PixArt 上验证;锚定概念怎么选论文没系统讨论,但实战中往往是性能瓶颈;对抗鲁棒性靠 RECE 风格的对抗编辑加持("Ours w/ AT"),不是 OCE 自己天然鲁棒。
- 改进方向:把 \(P\) 从全 \(d \times d\) 正交矩阵换成结构化正交(块对角、Cayley 参数化、butterfly),可解决大模型 SVD 算力问题;锚定概念的自动挖掘(VLM 自动给替身)应该能让"中间地带"问题缓解。
相关工作与启发¶
- vs UCE / RECE / SPEED: 都是编辑式闭式解,写法都是加性 \(W + \Delta\)。OCE 把整套公式换成乘性正交并加上 subspace 目标,在效果和效率(尤其是多概念)上同时碾压。
- vs MACE / ESD(训练式): 训练式靠多轮 fine-tune 拿擦除效果,OCE 一步闭式解就反超并便宜 100×+,证明编辑式不是注定不如训练式。
- vs OFT / Cayley Parametrization: OFT 也用正交变换做 PEFT,但目标是稳定训练或定制化生成;OCE 把它当"几何手术刀"用来定点擦概念,是新场景。
- vs CURE (NeurIPS 2025): 同期工作 CURE 也叫 orthogonal representation editing,本文在相关工作里点过,但定位差异是 OCE 在 cross-attention 权重上做、CURE 在表示层做。
评分¶
- 新颖性: ⭐⭐⭐⭐½ "把加性改乘性"看似一步之遥但确实没人这样系统化做过,加上 toy 实验把动机讲透,结构很完整。
- 实验充分度: ⭐⭐⭐⭐½ 单 / 多概念、艺术风格、NSFW、对抗、DiT 架构都覆盖;消融把非对称设计和 \(K_0\) 都讲清了。
- 写作质量: ⭐⭐⭐⭐⭐ "几何分析 → 公式推导 → 闭式解"逻辑链非常顺,每一步都有"为什么"。
- 价值: ⭐⭐⭐⭐⭐ 4.3 s 擦 100 个概念、零训练、可直接用于生产 T2I 安全管线,落地价值极高。