跳转至

Locality-Aware Continual Unlearning for Diffusion Models

会议: ECCV2026
论文: ECCV 2026 官方页面
代码: https://github.com/SonyResearch/LACU
领域: 图像生成
关键词: 概念遗忘、持续遗忘、扩散模型、知识蒸馏、生成回放

一句话总结

本文把单步概念遗忘方法在连续遗忘 3–5 个概念后必然崩溃的原因归结为「映射目标太粗、语义近邻无人保护、用文本空间相似度做代理」,提出 LACU:用扩散模型自身的分数预测距离做统一度量,为每个遗忘 prompt 单独挑最近的安全映射目标、并只回放遗忘概念在模型表示空间中的近邻,配合教师-学生蒸馏与 ℓ2 参数正则,在 SD v1.5 上把 10 步连续遗忘的遗忘准确率维持在 0.90,同时把相关保留从基线的 0.34–0.62 抬到 0.72。

研究背景与动机

文生图扩散模型已经在 Sora、Imagen 3.0、DALL·E 3 这类系统里大规模落地,但模型上线之后的删除请求并不是一次性事件:隐私法规(如 GDPR)、版权方的追诉、以及不断收紧的安全政策,都会让「再删掉一个概念」变成长期反复发生的事情。所以持续遗忘(continual unlearning, CUL)——按顺序逐个删除概念、同时保住模型其余能力——是真实部署的运行常态,而不是某种特殊设定。可当前的主流概念遗忘方法全是单步删除的设计:ESD 用无分类器引导把预测推离目标概念,Concept Ablation 把遗忘 prompt 拉向空锚点并最小化 KL,UCE、MACE、SALUN 等则从注意力层、适配器或显著性权重上限制更新范围。把它们把反复施加到同一个模型上,性能在 3–5 步之内就塌了。

为什么会塌?论文把原因拆成三层,并且强调这三层是叠加放大的。第一层是映射太粗:这些方法把不同的遗忘 prompt 一股脑送向同一个固定锚点(空字符串或某个通用概念),但同一个遗忘概念在不同 prompt 里的场景上下文可以差得很远——「a sliced apple on a wooden cutting board」和「an Apple logo engraved on a laptop lid」需要的替换本来就不是一回事,硬用同一个代理目标会逼迫模型在分数场里做远超必要的位移,而这些过大位移会逐步累积成整体退化。第二层更关键:遗忘造成的附带损伤(论文称之为 ripple effect,涟漪效应)并不是均匀分布的,它集中落在与遗忘概念语义相邻的概念上,因为近邻概念在模型内部共享相似的表示与噪声预测;而现有的保留手段,无论是随机回放、宽泛蒸馏还是参数正则,都把正则信号均匀摊在整个概念空间里,等于在已经安全的远处概念上过度投资、在最脆弱的近邻上投资不足,多步累积之后近邻先崩,表现为相关保留 RRacc 断崖式下跌而全局保留 GRacc 看起来还算体面。第三层是代理度量错位:少数试图做精细选择的方法改用 CLIP 这类文本空间相似度,但文本空间里的「近」并不代表模型内部去噪行为上的「近」;更麻烦的是每做一次遗忘更新模型内部地形就变一次,更新前成立的近邻关系到更新后可能已经不成立,这类错配在需要逐步精细操作的 CUL 里会被反复放大。

于是本文的切入角度是:既然「什么算近」应该由模型自己回答,就不要在文本空间里选,而要在会被遗忘更新直接改动的分数预测空间里选,并且让「往哪遗忘」和「保谁」这两个决定共用同一个度量。核心 idea:用扩散模型自身在共享含噪状态上的分数预测距离 \(d_{\text{score}}\) 定义局部性,并在每个连续步用当前冻结教师重新计算——为每个遗忘 prompt 挑位移最小的安全映射目标(Locality-Aware Target Selection),同时只对模型中离遗忘概念最近的近邻做回放蒸馏(Locality-Aware Replay),把每步更新压到最小、把保护火力集中到最脆弱的地方。

方法详解

整体框架

论文把每一个连续遗忘步都建模成一个多目标的教师-学生过程。设第 \(i\) 步要遗忘的概念是 \(c_f^{(i)}\),冻结的上一步模型 \(\hat{\epsilon}_{\hat{\theta}_{i-1}}\) 充当教师,学生 \(\epsilon_{\theta_i}\) 从教师权重初始化、只在这一步内被更新,更新完立刻冻结成下一步的教师。学生要同时满足三件事:对遗忘 prompt 的输出被重定向到一个安全且邻近的映射目标(\(\mathcal{L}_{\text{unlearn}}\)),对遗忘概念近邻 prompt 保持与教师一致的去噪行为(\(\mathcal{L}_{\text{retain}}\)),以及参数不要跑得太远(\(\mathcal{L}_{\text{reg}}\))。整体数据流是两条并行支路,由同一个 \(d_{\text{score}}\) 驱动:遗忘支路为每条遗忘 prompt 生成候选替换并选出最近的那个,保留支路枚举相关概念、按同一度量筛出最近的 \(N_r\) 个作为局部邻域,两条支路各自产生蒸馏损失,在训练中与其他目标一起优化,学生更新完毕即成为下一步的教师,如此循环 K 步。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["第 i 步遗忘概念<br/>+ 场景化遗忘 prompt"] --> B["模型感知的局部性度量<br/>分数预测距离 d_score"]
    B --> C["局部性感知的目标选择<br/>每 prompt 选最近安全目标"]
    B --> D["局部性感知的回放<br/>取模型表示中最近近邻"]
    C --> E["教师-学生蒸馏与参数正则<br/>压成小步更新"]
    D --> E
    E --> F["学生冻结为下一步教师"]
    F -->|i < K,继续下一步| A

关键设计

1. 模型感知的局部性度量:把「两个 prompt 有多像」交给模型自己的去噪行为来回答

给定两个 prompt \(p_a\)\(p_b\)、一个冻结模型 \(\hat{\epsilon}_{\hat{\theta}}\),以及 \(K\) 组共享的「含噪隐变量 / 时间步」配对 \((z_{t_k}^{(k)}, t_k)\),分数预测距离定义为两个条件下噪声预测的均方 ℓ2 距离:

\[d_{\text{score}}(p_a, p_b; \hat{\theta}) = \frac{1}{K}\sum_{k=1}^{K}\left\|\epsilon_{\hat{\theta}}\big(z_{t_k}^{(k)}, t_k, p_a\big) - \epsilon_{\hat{\theta}}\big(z_{t_k}^{(k)}, t_k, p_b\big)\right\|_2^2\]

它衡量的就是「同一张含噪图,在两种文本条件下模型去噪得有多不一样」:值小说明模型把这两个 prompt 当成同一回事在处理,把 \(p_a\) 重定向到 \(p_b\) 只需要对已学到的分数场做很小的扰动。严格说这是均方 ℓ2 距离,论文用「距离」只是简称,因为本文只用到相对排序。含噪隐变量 \(z_{t_k}\) 由随机采样的干净隐变量经前向扩散加噪得到,而不是像 DDIM 反演那样为每个 prompt 跑一次多步推理;这样做的合法性来自排序本身——所有候选共享同一组 \((z_{t_k}, t_k)\),与内容无关的偏置在相互比较时被抵消,作者也在补充材料里验证了它与 DDIM 隐变量排序在多数情况下给出一致的选择。

至于为什么不用 CLIP 相似度:CLIP 比较的是文本嵌入空间,它与扩散模型的条件通路和去噪通路是脱节的,两个 prompt 完全可能在 CLIP 空间里很近却在噪声预测上差很远(反之亦然)。而遗忘更新改的正是模型的权重,所以指导目标选择与近邻选择的度量应该建立在模型自己的噪声预测上——\(d_{\text{score}}\) 恰好是在同一批含噪状态、同一组会被更新改动的权重上测量的。论文用同一套 LACU 流水线做了对照实验(Table 2),把 CLIP 排序换掉之后 10 步的 RRacc/GRacc 从 0.61/0.78 提升到 0.74/0.87,验证了「模型感知」这一点的实际价值。

2. 局部性感知的目标选择:每个遗忘 prompt 各自挑一个最近的安全目标,而不是全体映射到同一个锚点

这一条针对的是「粗映射」痛点。做法是两阶段:候选生成阶段由 LLM 为每条遗忘 prompt \(p_f\) 生成 \(M=10\) 个候选替换,提示模板明确要求只替换掉遗忘概念、保留其余场景内容;选择阶段则用与设计 1 完全相同的度量取与 \(p_f\) 距离最小的那个候选:

\[p_m^*(p_f) = \arg\min_{p \in \mathcal{P}(p_f)} d_{\text{score}}\big(p_f, p; \hat{\theta}_{i-1}\big)\]

选出来的目标就是「分数预测最接近遗忘 prompt」的那个,于是这一步需要的分数场位移被压到最小。选择结果确实是 prompt 级而不是概念级的:遗忘 Apple 时,「an Apple logo engraved on a silver laptop lid on a desk」会被映射到「a tech company logo engraved on a silver laptop lid on a desk」,而「a sliced apple on a wooden cutting board in kitchen light」会被映射到「a sliced red fruit on a wooden cutting board in kitchen light」——同一个概念名,两套毫不相干的替换,这正是固定锚点无法表达的。

一个容易被忽略但很关键的细节是:这一步必须在每个连续步用当前冻结教师重算。模型每被更新一次,它的去噪地形就变一次,上一步选出来的目标到这一步可能已经不再对齐。动态重算还顺带解决了固定锚点方法的一个具体故障:如果某个曾经用来当映射目标的概念后来自己变成了要遗忘的概念,固定映射会退化成「自己映射到自己」的无效更新;而重算能换出一个新的最近安全目标,论文报告此时 Uacc 不退化,只是收敛稍慢。这也把它和 AGE 这类自适应目标方法区分开来:AGE 在 CLIP 过滤出的类别词表上通过 minimax 优化选目标,目标仍然是离散的类别标签、仍然位于该扩散模型分数场之外,而且它的更新并不显式保护近邻——Table 1 里 AGE 的 Uacc 高达 0.99,10 步之后的 RRacc/GRacc 却只剩 0.15/0.23。

3. 局部性感知的回放:把回放预算集中在遗忘概念的语义近邻里

这一条针对的是「近邻无人保护」。既然涟漪效应集中落在语义近邻上,全局回放就必然是错配的。具体做法是:先用 LLM 枚举出遗忘概念的相关概念池 \(S(c_f)=\{c_1,\dots,c_L\}\)(LLM 负责广度),再用与设计 1 同一个度量给池里每个概念打分——直接把概念名当作条件 prompt,算它与遗忘概念之间的分数预测距离——然后取最近的 \(N_r=10\) 个构成局部邻域 \(\mathcal{N}(c_f)\),最后为这些近邻生成回放 prompt(概念名由 LLM 提、入选与否由模型定)。这样做的好处是回放信号不再是一层均匀撒开的正则,而变成一个作用在最脆弱区域的局部函数正则:它约束的不是参数空间的整体幅度,而是学生在这些近邻 prompt 上的去噪轨迹要与教师保持一致,因此能够精确抵消涟漪效应而不误伤已经安全的概念。论文用同一套流水线做了对照,把 \(d_{\text{score}}\) 排序换成 CLIP 排序后,10 步的 RRacc/GRacc 从 0.74/0.87 掉到 0.61/0.78——近邻筛选这一环的误差会直接转化成保护错位。

4. 教师-学生蒸馏与参数正则:把每步编辑压成小步更新

设计 2 决定「往哪走」,设计 3 决定「保哪里」,这一条决定「走多快、走多远」。遗忘损失用一个非对称条件的蒸馏目标:在同一批含噪状态上,教师看的是映射目标 \(p_m^*(p_f)\),学生看的是原始的遗忘 prompt \(p_f\),也就是让学生把对 \(p_f\) 的响应模仿成教师对安全目标的响应:

\[\mathcal{L}_{\text{unlearn}} = \left\|\epsilon_{\hat{\theta}_{i-1}}\big(z_t^u, t, p_m^*(p_f)\big) - \epsilon_{\theta_i}\big(z_t^u, t, p_f\big)\right\|_2^2\]

这与 ESD 一类「用无分类器引导把预测推离目标」的对抗式做法有本质区别:重定向的落点是一个具体、邻近、且模型自己认为相似的安全响应,而不是一个方向相反的量,因此不会像梯度上升那样把模型推向不稳定(近期工作对梯度上升失效的分析正是这类隐患)。保留损失则是对称的,学生与教师在近邻回放 prompt 上要给出相同的噪声预测,从而把局部邻域的行为钉在教师附近:

\[\mathcal{L}_{\text{retain}} = \left\|\epsilon_{\hat{\theta}_{i-1}}\big(z_s^r, s, p_r\big) - \epsilon_{\theta_i}\big(z_s^r, s, p_r\big)\right\|_2^2\]

不过光有这两个损失还不够:连续多步更新会让参数持续漂移,所以论文再加一个轻量的 ℓ2 参数锚定项,把每步的权重变化限制在教师附近,抑制跨步累积漂移。消融显示这两个机制各管一段——只加参数正则能抑制漂移但恢复不了近邻保留(10 步 RRacc 0.39),只加回放能明显救回近邻(RRacc 0.61)却缺少长期漂移约束,两者同时用才拿到 0.74/0.87。

一个完整示例

以「Apple」这一步为例走一遍完整的数据流。进入第 \(i\) 步时遗忘概念是 Apple,教师是上一步冻结下来的模型。遗忘支路先为 100 条 Apple 场景 prompt 各生成 10 个候选,共 1000 个候选;再对每条 prompt 用 \(d_{\text{score}}\) 在 10 个候选里选出唯一一个映射目标,候选集 10 → 1,例如「a sliced apple on a wooden cutting board in kitchen light」最终映射到「a sliced red fruit on a wooden cutting board in kitchen light」,而像「a red fruit on a table」这种同样「安全」却丢掉了砧板和厨房光的候选因为位移更大被淘汰。保留支路这边,LLM 给出的相关概念池 \(S(\text{Apple})\) 包含 Pear、Red fruit、Orchard 等;用同一度量对概念名直接打分后,Pear、Red fruit 这类近邻进入 top-10,而 Orchard 这类在模型看来去噪行为差得远的概念被丢弃(池子 \(L\) → 10,✓ 保留 / ✗ 丢弃)。随后为这 10 个近邻生成回放 prompt,再掺入随机全局 prompt 扩大覆盖面。训练阶段在 250–350 个 AdamW 优化步里交替采样遗忘 prompt 与回放 prompt,时间步从 0–600 均匀采样,学生更新完立刻冻结成下一步的教师,进入下一个概念。

损失函数 / 训练策略

训练目标是三项损失的线性组合,其中参数正则直接约束学生与教师的权重距离:

\[\mathcal{L}_{\text{reg}} = \left\|\theta_i - \hat{\theta}_{i-1}\right\|_2^2,\qquad \mathcal{L}_{\text{total}} = \lambda_{\text{unlearn}}\mathcal{L}_{\text{unlearn}} + \lambda_{\text{retain}}\mathcal{L}_{\text{retain}} + \lambda_{\text{reg}}\mathcal{L}_{\text{reg}}\]

⚠️ 原文 Eq. 1 在缓存文本中排版损坏,这里按正文叙述还原为三项的线性组合,各 \(\lambda\) 的具体取值请以原文(及补充材料)为准。

其他训练与数据细节:基座模型为 Stable Diffusion v1.5;每个连续步训练 250–350 个 AdamW 优化步,跑完 10 个概念的序列用 3 张 NVIDIA H100,单次遗忘更新约 60 分钟;遗忘路径的噪声时间步 \(t\) 与回放路径的 \(s\) 均在 0–600 内均匀采样;每个遗忘概念构造 \(N_f=100\) 条遗忘 prompt,每条配 \(M=10\) 个候选映射 prompt,回放近邻数 \(N_r=10\);遗忘损失的隐变量由 DDIM 从遗忘 prompt 采样得到,回放损失的隐变量由 DDIM 从回放 prompt 采样得到。值得一提的是,LLM 只用于填充候选池,LACU 的目标本身不依赖候选池如何产生——论文给了一个无 LLM 变体(候选生成换成模板化 prompt 与同类概念池),其 10 步 Uacc/RRacc/GRacc 为 0.85/0.81/0.87,说明稳定性主要来自模型感知的打分与局部回放,而不是 LLM 本身。

实验关键数据

主实验

实验统一从同一个 Stable Diffusion v1.5 检查点出发(原始模型 Accuracy 89%、CLIP score 32.6),依次遗忘 10 个概念:Pikachu、Brad Pitt、Golf Ball、Van Gogh Style、Apple、Spiderman、Lionel Messi、Cartoon Style、Banana、Mickey Mouse;为消除顺序依赖,每个方法跑 5 种随机顺序并取平均。评测用 Qwen2.5-VL-7B-Instruct 当 VLM judge 回答二值问题(仅用于评测,不参与目标或近邻选择),协议沿用 UnlearnCanvas 与 EraseBench。

表 1:10 步连续遗忘后的主对比(Uacc 为遗忘准确率,Uclip 为遗忘 prompt 中良性部分的文本对齐,RRacc/GRacc 为相关/全局保留准确率)。

方法 Uacc ↑ Uclip ↑ RRacc ↑ GRacc ↑
SD v1.5(未遗忘参考) 0.89 32.6
ESD-u 0.93 21.3 0.13 0.15
ESD-x 0.96 19.0 0.09 0.08
UCE 0.96 19.5 0.08 0.05
MACE 0.97 19.4 0.03 0.02
Meta 1.00 18.2 0.02 0.01
EraseFlow 0.97 19.4 0.03 0.02
ANT 1.00 20.5 0.00 0.00
CA 0.90 22.8 0.34 0.34
AGE 0.99 19.1 0.15 0.23
DUGE 0.74 30.7 0.62 0.73
SMem 0.73 29.3 0.58 0.67
Grad Proj 0.83 28.1 0.61 0.71
LACU(本文) 0.90 29.1 0.72 0.87

表 2:保留性能随连续步数的衰减(同样 5 种随机顺序平均)。

方法 1 步 RRacc 5 步 RRacc 10 步 RRacc 1 步 GRacc 5 步 GRacc 10 步 GRacc
ESD-u 0.60 0.30 0.13 0.75 0.35 0.15
ESD-x 0.55 0.29 0.09 0.77 0.28 0.08
CA 0.73 0.58 0.34 0.84 0.64 0.34
AGE 0.49 0.36 0.15 0.82 0.55 0.23
DUGE 0.70 0.73 0.62 0.85 0.80 0.73
SMem 0.70 0.72 0.58 0.84 0.78 0.67
LACU(本文) 0.84 0.80 0.72 0.89 0.87 0.87

消融实验

表 3:同一套 LACU 流水线下四种目标/近邻选择策略的对比(10 步后)。

配置 Uacc Uclip RRacc GRacc
naive 固定锚点 0.86 22.9 0.41 0.55
LLM 直接替换 0.95 28.1 0.60 0.76
CLIP 排序 0.90 28.2 0.61 0.78
\(d_{\text{score}}\) 排序(本文) 0.92 29.2 0.74 0.87

表 4:训练目标组件消融(10 步后,所有变体都用 \(d_{\text{score}}\) 做选择)。

配置 Uacc Uclip RRacc GRacc 说明
\(\mathcal{L}_{\text{unlearn}}\) 0.94 27.2 0.32 0.67 忘得掉,但近邻保留塌陷
\(\mathcal{L}_{\text{unlearn}}+\mathcal{L}_{\text{retain}}\) 0.91 28.6 0.61 0.85 回放把近邻拉回来
\(\mathcal{L}_{\text{unlearn}}+\mathcal{L}_{\text{reg}}\) 0.92 28.0 0.39 0.78 正则只防漂移,救不了近邻
LACU(完整) 0.92 29.2 0.74 0.87 两者互补

关键发现

  • 单步方法在 CUL 下存在清晰的稳定性-效能权衡:ESD、ANT、EraseFlow 这类激进方法 Uacc 逼近 1.0(ANT 甚至 1.00)却把保留彻底摧毁,10 步后 RRacc/GRacc 只剩 0.00–0.15;DUGE、SMem 这类保守方法保住了保留,却把 Uacc 让到 0.73–0.74。只有 CA 和 LACU 同时保住 Uacc 0.90,而 CA 的 RRacc/GRacc 只有 0.34/0.34,LACU 则是 0.72/0.87——这是本文「两轴同时守住」的直接证据。
  • 长期序列下的衰减曲线形状比单点数值更能说明问题:ESD-x 的 RRacc 从 1 步的 0.55 一路掉到 10 步的 0.09(约 6 倍衰减),CA 从 0.73 掉到 0.34,LACU 只从 0.84 掉到 0.72 且 GRacc 稳定在 0.87–0.89 几乎不衰减;同时 LACU 的 Uacc 在 1/5/10 步分别为 0.99/0.89/0.90,也基本不随时间衰退。论文把这条「更平、更高」的趋势曲线当作局部性设计确实抑制了累积失真的证据。
  • 只把目标选好远远不够。AGE 用自适应目标把 Uacc 顶到 0.99,但 10 步后 RRacc/GRacc 只有 0.15/0.23——说明在 CUL 里,映射目标的选择只解决了「位移大小」,没有解决「近邻无人看管」,必须有局部回放配套。
  • 局部回放是贡献最大的一块。从「仅 \(\mathcal{L}_{\text{unlearn}}\)」到加上 \(\mathcal{L}_{\text{retain}}\),RRacc 从 0.32 跳到 0.61(+0.29),GRacc 从 0.67 到 0.85;而单独加参数正则只把 RRacc 抬到 0.39(+0.07),因为 ℓ2 锚定只约束参数走多远,并不主动保护哪些概念,两者叠加才到 0.74/0.87。
  • 模型感知的度量确实优于文本空间代理。在完全相同的流水线下,\(d_{\text{score}}\) 排序(0.74/0.87)优于 CLIP 排序(0.61/0.78)优于 LLM 直接替换(0.60/0.76)优于固定锚点(0.41/0.55);而且 CLIP 与 \(d_{\text{score}}\) 的差距随步数增大而拉大,符合「文本空间与模型去噪动力学解耦」的解释。
  • 顺序鲁棒性:所有主结果都是 5 种随机删除顺序的平均值,说明结论不依赖特定遗忘顺序;此外动态重选映射目标还避免了固定锚点方法的「自映射退化」——当某概念之前被当成映射目标、后来又成为遗忘目标时,LACU 每步重算仍能选出新的安全目标,Uacc 不退化(仅收敛略慢)。
  • 无 LLM 变体仍有 0.85/0.81/0.87(Uacc/RRacc/GRacc),说明收益来自模型感知打分与局部回放本身,LLM 只提供候选的广度,替换成模板化 prompt 与同类概念池也不会瓦解方法。
  • 评测稳健性:论文报告换了别的 VLM 做 judge 后关键行变化不超过 ±2%,且 LACU 与基线的相对排名不变;所有评测 prompt 在训练中都未出现过。
  • ⚠️ 数值自洽性提示:Table 1 的 LACU 行(10 步 0.90/29.1/0.72/0.87)与 Table 2、Table 3 的同一配置(0.92/29.2/0.74/0.87)存在小幅差异,应为不同运行的舍入/平均差异,引用时以原文对应表格为准。

亮点与洞察

  • 把「距离」定义在模型自己会被改动的那个空间里:选择目标与选择回放近邻本是两个独立的工程问题,本文用同一个 \(d_{\text{score}}\) 一并解决。这个度量直接作用在会被遗忘更新修改的权重与含噪状态上,所以它度量的是「这次更新会动到哪里」,而不是「这两句话在语言上像不像」——这是全文最漂亮的转念。
  • 用随机隐变量替换 DDIM 反演:既然只需要相对排序,所有候选共享同一组 \((z_{t_k}, t_k)\) 时内容无关的偏置会自动抵消,于是昂贵的多步反演被彻底省掉。这种「只保住排序、不追求标定」的降本思路可以迁移到任何需要 prompt 间相似度的采样型任务。
  • 非对称条件蒸馏把「遗忘」改写成「重定向」:教师看安全目标、学生看遗忘 prompt,让模型学会「把敏感词去噪成它的安全近邻」,而不是用梯度上升把预测推开。避开了梯度上升的退化问题,也不需要额外的负向引导超参。
  • 局部回放是「把正则花在最脆弱的地方」的一个通用范式:把回放分布从全局改成按模型自身表示空间排序后的近邻集合,等于给正则项加了一个由模型决定的重要性权重。这个思路可以直接迁移到 LLM 的连续遗忘、连续知识编辑、以及任何「顺序修改模型且需要保住近邻能力」的场景。
  • 涟漪效应用局部性而非全局性来对付:论文反复强调 GRacc 看起来稳定不代表模型没坏,真正先坏的是 RRacc。这一观察本身就是评测层面的洞察——只看全局保留会严重高估持续遗忘方法的健康度。

局限与展望

  • 作者承认的局限:实现上依赖 LLM 生成候选 prompt 与相关概念,候选池的质量与覆盖面构成下游模型感知选择的效果上界;当遗忘概念与保留近邻在视觉特征上高度重叠时,局部回放存在精度与保护之间的内在权衡(论文靠「只正则最近的近邻轨迹而非整个保留分布」缓解,因此物体与名人身份的遗忘较强,而风格类概念因为特征共享范围更广而更难);教师-学生蒸馏框架需要同时维护一份冻结教师,显存与算力开销高于单模型方案;此外只验证到 10 步,而真实部署在模型生命周期内可能需要成百上千次删除。
  • 值得补充的方向:把每个连续步的 250–350 个优化步 × 10 步(论文报告单步约 60 分钟 / 3×H100)视作成本基线,可以尝试以 LoRA / 适配器的方式实现「冻结教师 + 小步学生」,既省显存又天然限制参数漂移;近邻集合的规模 \(N_r\) 与打分样本数 \(K_f, K_r\) 看起来是精度与成本的直接旋钮,但正文没有给出敏感性曲线(⚠️ 缓存文本中未给出这些超参的具体取值与敏感性分析,以原文补充材料为准)。
  • 评测层面的隐忧:Uacc/RRacc/GRacc 全部依赖 VLM judge 的二值问答,尽管论文做了换 judge 的敏感性检查,judge 的提示词设计、采样图像数量与随机种子仍可能影响绝对值;另外 RRacc 的「相关概念」集合是论文自定的,不同工作之间的 RRacc 不宜直接横向比较。
  • 一个自然的延伸:本文的动态重选目标只被当作「避免自映射退化」的附带好处来讨论,其实它揭示了一个更有意思的问题——遗忘的映射目标本身可能被后续请求覆盖,也就是删除序列之间存在相互依赖。把整个删除序列当作一个需要规划的优化问题(而不是逐步贪心),可能会比每步独立重算走得更远。

相关工作与启发

  • vs ESD / CA / UCE / MACE(单步概念遗忘):它们都把遗忘 prompt 拉向同一个固定锚点(空串、通用概念或通过无分类器引导推离),在单步设定下有效,但把多样的遗忘 prompt 强行映射到同一个代理目标会逼迫模型做过大位移,重复施加时位移累积成整体退化(10 步后 RRacc ≤ 0.34)。LACU 改成 prompt 级、在模型分数场里挑最近的安全目标,并额外护住近邻。
  • vs AGE(自适应目标选择):AGE 也认为遗忘概念该被重定向到附近的目标,但它的目标来自 CLIP 过滤后的离散类别词表、通过 minimax 优化选出,落在扩散模型分数场之外;Table 1 显示它单独使用会导致 Uacc 0.99 而 RRacc/GRacc 仅 0.15/0.23。LACU 的选择发生在模型自己的分数预测空间里,并且把「选目标」与「护近邻」绑在同一个度量上。
  • vs DUGE / SMem / Grad Proj(持续遗忘骨干):这些方法已经引入了回放、蒸馏、参数正则或梯度投影,在长序列下比单步方法稳得多(DUGE 10 步 GRacc 0.73),但它们的保护要么在参数空间、要么在全局概念池上展开,因此 RRacc 始终停在 0.58–0.62。LACU 保留了同样的蒸馏 + 正则骨架,只是把回放分布换成模型感知的局部近邻,就把 RRacc 抬到 0.72、GRacc 抬到 0.87。
  • vs Selective Amnesia 等持续学习式遗忘:这类工作同样把遗忘当作连续任务处理,本文在相关工作中引用了它们作为「顺序失效模式」的来源,但没有纳入数值对比;从设计上看,它们的保护机制仍属全局或参数空间范畴,与本文的局部功能正则不是同一条路线。
  • 启发:如果把 \(d_{\text{score}}\) 换成别的「模型自省」信号(如注意力图差距、隐层表示差距),是否能在更省算力的前提下保持同样的排序质量?以及能否把「选目标」变成一个可微分的选择过程、让目标本身也参与优化——这两个方向都能直接沿着本文的框架往前走。

评分

  • 新颖性: ⭐⭐⭐⭐ 「用模型自己的分数预测距离统一定义局部性,并同时驱动目标选择与回放」是干净且可迁移的洞察,但每个组件(回放蒸馏、参数正则、教师-学生)本身并不新。
  • 实验充分度: ⭐⭐⭐⭐ 11 个基线 × 10 步 × 5 种随机顺序 + 选择策略与组件两套消融 + 无 LLM 变体,覆盖到位;但主表只在 SD v1.5 上做,超参敏感性缺失,绝对步数离真实部署(成百上千次删除)仍很远。
  • 写作质量: ⭐⭐⭐⭐ 「为什么单步方法在 CUL 下会塌」的三层归因与方法组件一一对应,逻辑链清楚;个别公式排版(Eq. 1)存在缺失。
  • 价值: ⭐⭐⭐⭐ 把持续遗忘的评测焦点从「能不能忘掉」推进到「顺序遗忘下近邻还能不能活」,RRacc/GRacc 对照的做法对整个概念遗忘方向的评测都有参考意义。