论文阅读笔记:Continual Forgetting for Pre-trained Vision Models
- 1 背景
- 2 创新点
- 3 方法
- 4 模块
- 4.1 问题设置
- 4.2 LoRA
- 4.3 概述
- 4.4 GS-LoRA
- 4.5 损失函数
- 5 效果
- 6 结论
1 背景
出于隐私和安全考虑,如今从预先训练的视觉模型中删除不需要的信息的需求越来越明显。在实际场景中,擦除请求随时来自用户和模型所有者。这些请求通常形成一个序列。因此,在这种设置下,预计会不断从预训练模型中删除选择性信息,同时保留其余信息。作者将这个问题定义为持续遗忘,并确定了两个关键挑战。
(i) 对于不需要的知识,高效和有效的删除至关重要。
(ii) 对于剩余的知识,遗忘程序带来的影响应该是最小的。
为了解决这些问题,提出了Group Sparse LoRA(GS-LoRA)。具体来说,对于 (i),使用 LoRA 模块为每个遗忘任务独立微调 Transformer 块中的 FFN 层;对于 (ii),采用简单的组稀疏正则化,可以自动选择特定的 LoRA 组并将其他组归零。GS-LoRA 有效、参数高效、数据高效且易于实施。
随着现在预训练模型变得越来越大,需要更多的训练数据。这些数据通常是通过各种方式收集的,例如 Internet、书籍、公开可用的数据集和手动标记。在大量数据中,经常存在错误或隐私敏感信息,预训练模型可能会从中学习。例如,ImageNet Roulette 项目显示模型倾向于种族主义、厌女症和残忍等。此外,随着公众对隐私保护意识的提高和隐私法规的更新,个人现在要求立即删除任何与隐私相关的信息。因此,在收到删除请求时,需要使用实用的模型擦除技术。在实际场景中,这些请求通常随时来自用户和模型所有者,并自然而然地形成一个序列。在这种设置下,预计会不断从预训练模型中删除选择性信息,同时保留其余信息。作者将这个新问题确定为持续遗忘,并在图1中进行了说明,其中隐私和错误知识需要依次从预训练模型中删除。这项任务对于在实际应用中维护隐私和减少不需要的模型偏差(例如性别和种族歧视)具有重要意义。
持续学习旨在使模型在不忘记以前学习的信息的情况下获得新知识 。这是一种特别适用于动态和不断变化的场景的学习范式。研究人员设计了三种策略来实现这一目标,包括基于排练的方法、基于正则化的方法和基于结构的方法。这三种持续学习策略经常结合起来以提高表现。
本文提出的 GS-LoRA 属于基于结构的方法类别。然而,本文的问题与持续学习不同,因为本文的目标是不断删除,而不是向模型中添加新知识。
2 创新点
(1)作者是第一个提出持续遗忘问题的人,这在实际场景中对于快速编辑模型和隐私保护至关重要
(2)为了解决这个问题,首先确定了两个挑战,并提出了 GS-LoRA 来实现高效和有效的遗忘,同时保持其余部分的性能
(3)对人脸识别和目标检测的广泛实验表明,GS-LoRA 有效地为特定类别提供服务,同时在其余类别上保持高性能。
本质上就是使用了LoRA+Group Lasso。
3 方法
为此,本文提出了 Group Sparse LoRA (GSLoRA)。具体来说,为了实现对不需要的知识的有效遗忘,利用LoRA来微调Transformer模块中的FFN模块,其灵感来自参数高效微调(PEFT)技术。为了减轻对剩余知识的灾难性遗忘,作者使用组稀疏正则化器来实现对 FFN 模块的稀疏和准确修改,因为观察到微调较少的参数对减轻灾难性遗忘是有效的。这类似于在模型上进行微创手术,而不是进行大手术。GS-LoRA 有效、参数高效、数据高效、易于实现,并且适用于大型模型。为了验证本文提出的 GS-LoRA 的有效性,首先对人脸识别进行实验,因为它是一项基本的隐私敏感任务,然后在更通用的任务(即对象检测)上对其进行评估。从经验上讲,GS-LoRA 在这两种环境中都表现良好,表明本文的方法是一个通用框架,在各种视觉任务中具有最少的领域知识和很少的归纳偏差。
4 模块
4.1 问题设置
本文提出了一个称为持续遗忘的新问题,它涉及从预先训练的模型中进行选择性地删除特定知识,同时保留其余知识的性能。在本节中,首先考虑最简单的情况,即只有一个任务需要忘记,然后扩展到 continual 形式。
设 M 为在数据集 D 上预训练的模型,将模型的映射关系表示为
f
M
:
X
D
→
Y
D
f_M:X_D → Y_D
fM:XD→YD ,其中
X
D
X_D
XD 和
Y
D
Y_D
YD 分别表示输入集和输出集。本文的目标是有选择地丢弃模型中的某些知识,同时保留其余知识。让
D
f
D_f
Df 和
D
r
D_r
Dr 表示包含要被遗忘和保留的知识的数据集。鉴于
∣
D
r
∣
|D_r|
∣Dr∣ 在实际场景中通常很大,并且再训练过程非常耗时,因此需要
∣
D
r
∣
+
∣
D
f
∣
≪
∣
D
∣
|D_r|+ |D_f|\ll |D|
∣Dr∣+∣Df∣≪∣D∣。在忘记之前,模型 M 在
D
f
D_f
Df 和
D
r
D_r
Dr 上都表现良好,即
遗忘算法 F 修改模型以获得
M
′
=
F
(
M
,
D
f
,
D
r
)
M'=F(M, D_f, D_r)
M′=F(M,Df,Dr) 和新的映射关系
f
M
’
f_{M’}
fM’ 满足
现在,将问题扩展到一个连续形式,其中模型需要依次忘记特定的知识。设 D r = { D r t } D_r = \{D_{r_t}\} Dr={Drt} 且 D f = { D f t } D_f = \{D_{f_t}\} Df={Dft} ,其中 t = 1 , 2 , ⋅ ⋅ ⋅ , T t = 1, 2, ···, T t=1,2,⋅⋅⋅,T 代表两个数据集序列,其中 T T T 是遗忘任务的数量, D f t / r t = { ( x f t / r t i , y f t / r t i ) i = 1 n t } D_{f_t/r_t} = \{(x^i_{f_t/r_t}, y^i_{f_t/r_t})^{n_t}_{i=1}\} Dft/rt={(xft/rti,yft/rti)i=1nt} 是第 t 个任务被遗忘或保留的数据集, x f t / r t i ∈ X f t / r t x^i_{f_t/r_t} ∈ X_{f_t/r_t} xft/rti∈Xft/rt 是一个输入, y f t / r t i ∈ Y f t / r t y^i_{f_t/r_t} ∈ Y_{f_t/r_t} yft/rti∈Yft/rt 是对应的标签。遗忘算法 F 从 M 开始按顺序处理擦除请求,并生成模型序列 M f 1 , M f 2 , ⋅ ⋅ ⋅ , M f t , ⋅ ⋅ ⋅ , M f T M_{f_1}, M_{f_2},···, M_{f_t}, ···, M_{f_T} Mf1,Mf2,⋅⋅⋅,Mft,⋅⋅⋅,MfT ,其中 M f t M_{f_t} Mft 表示第 t 个遗忘任务后修改后的模型。在处理任务 T t T_t Tt 后,模型 M f t M_{f_t} Mft 在 D f i D_{f_i} Dfi 上表现不佳,但在剩余部分保持了原来的性能,即 f M t f_{M_t} fMt 成立相应的映射关系
4.2 LoRA
预训练模型中的权重矩阵具有非常低的内在秩,并利用低秩分解来实现参数更新。对于权重矩阵 W ∈ R d × k W∈R^{d×k} W∈Rd×k ,它在 W = W + ∆ W = W + B A W=W+∆W=W+BA W=W+∆W=W+BA 之后更新,其中 B ∈ R d × r B∈R^{d×r} B∈Rd×r 和 A ∈ R r × k A∈R^{r×k} A∈Rr×k 是低秩矩阵, r ≪ m i n { d , k } r≪min\{d, k\} r≪min{d,k} 是矩阵 B 和 A 的秩。只有低秩的矩阵是可训练的,而矩阵 W 在训练期间保持冻结状态。LoRA 可以添加到 Multi-Head Attention 模块的线性投影矩阵或 Transformer 模块的 Feed-Forward Network(FFN)模块中。
4.3 概述
本文提出了具有选择性遗忘损失和知识保留损失的群稀疏 LoRA (GSLoRA) 来实现持续遗忘。图2显示了 GS-LoRA 的整体工作流。为了实现高效的遗忘,使用 LoRA 来微调 Transformer 模块中的 FFN 模块。为了减少对剩余知识的灾难性遗忘,较小的网络变化是首选。因此,作者使用组稀疏正则化来选择和修改较少的块。为了实现式-3中的优化目标,使用选择性遗忘损失来最大化被遗忘类的原始损失,并使用知识保留损失来最小化其余类的损失。
4.4 GS-LoRA
(1)基于LoRA的模型微调
根据 Geva 等人 [21] 的发现,Transformer 块中的 FFN 层存储了大量知识,因此需要修改 FFN 模块以实现知识擦除。虽然直接修改这些层在理论上是可行的,但由于 FFN 层中的参数数量众多,因此效率低下。为了减少可学习的参数,作者将一组 LoRA 模块合并到每个 Transformer 模块的 FFN 中,并且仅使这些 LoRA 模块可训练。
假设
x
x
x 是第
l
l
l 个 FFN 模块的输入,数学形式可以表示为:
其中
W
1
(
l
)
,
W
2
(
l
)
,
b
1
(
l
)
,
b
2
(
l
)
W^{(l)}_1, W^{(l)}_2, b^{(l)}_1, b^{(l)}_2
W1(l),W2(l),b1(l),b2(l) 分别是预训练模型中两个全连接层的权重和偏差。使用 LoRA 来微调 FFN 模块的权重
其中 W 1 t ( l ) {W_1}^{(l)}_t W1t(l) 和 W 2 t ( l ) {W_2}^{(l)}_t W2t(l) 表示任务 T t T_t Tt 后第 l l l 个 FFN 模块的权重, B 1 i ( l ) {B_1}^{(l)}_i B1i(l)、 A 1 i ( l ) {A_1}^{(l)}_i A1i(l)、 B 2 i ( l ) {B_2}^{(l)}_i B2i(l)、 A 2 i ( l ) {A_2}^{(l)}_i A2i(l)表示 i = 1 , 2 , ⋅ ⋅ ⋅ , t i = 1,2,···,t i=1,2,⋅⋅⋅,t 引用任务 T i T_i Ti 中相应的 LoRA 矩阵。 O O O 是零矩阵。
请注意,输出 FFN 层被冻结,以确保遗忘发生在主干中并且难以恢复。
(2)组稀疏选择
为了减少灾难性遗忘并自动实现精确修改,引入了一种组稀疏选择策略,该策略允许选择更少的 Transformer 块。尽管有很多方法可以进行选择,如路由器 、元学习、神经架构搜索,但本文使用group lasso,它在为特定组选择参数时以其简单和有效而闻名,同时将其他组设置为零。假设在任务
T
t
T_t
Tt 中添加到第
l
l
l 个 Transformer 块的 LoRA 矩阵是
B
1
i
(
l
)
{B_1}^{(l)}_i
B1i(l)、
A
1
i
(
l
)
{A_1}^{(l)}_i
A1i(l)、
B
2
i
(
l
)
{B_2}^{(l)}_i
B2i(l)、
A
2
i
(
l
)
{A_2}^{(l)}_i
A2i(l)。那么 group sparse 正则化的优化目标可以表示如下
在这里, L d a t a L_{data} Ldata 表示数据的损失,这将在第 4.3 节中详细说明, L s t r u c t u r e L_{structure} Lstructure 是稀疏损失组, α α α 用作调节稀疏强度的超参数。
一组权重的组稀疏损失可以表示为
其中 G 是组数,
L
g
s
(
l
)
L^{(l)}_{gs}
Lgs(l) 是第
l
l
l 组的组稀疏损失。作者将一个 Transformer 块中的 LoRA 权重视为一组。因此,第
l
l
l 组中的组稀疏损失可以写为
这里, ∥ ⋅ ∥ F ∥·∥_F ∥⋅∥F 是 LoRA 矩阵的 Frobenius 范数,即平方和开根号, t t t 表示任务 T t T_t Tt 。这是正则项。
Group Lasso可以参考https://zhuanlan.zhihu.com/p/612075458。
(3)Sparsity Warmup
深度学习模型倾向于收敛到局部最小值。当施加高稀疏性约束时,模型逃避局部最小值的能力受到阻碍,从而阻止了遗忘的实现。但是,实现稀疏更新需要相对较大的
α
α
α 。作者采用热身策略来解决这一冲突。作者利用逐步
α
α
α 来实现有效的遗忘,同时确保稀疏修改。数学表达式可以写成:
其中, K K K 是超参数。该模型在 k 个 epoch 中转义局部最小值,而不会丢失结构,然后执行群稀疏化以获得稀疏修改。
4.5 损失函数
在本节中,将讨论式-6中的数据丢失,并引入选择性遗忘损失和知识保留损失来处理持续遗忘问题。
(1)选择性遗忘损失
在每个任务
T
t
T_t
Tt 中 ,模型需要忘记数据
D
f
t
=
(
X
f
t
,
Y
f
t
)
D_{f_t}=(X_{f_t}, Y_{f_t})
Dft=(Xft,Yft) 中存储的知识。为了实现遗忘,优化目标是
其中,W是参数;
L
L
L 是原始损失函数;
f
M
t
−
1
f_{M_{t−1}}
fMt−1 是在任务
t
−
1
t−1
t−1 结束时获得的映射函数。一个直观的想法是执行负损失,即
L
f
o
r
g
e
t
=
−
L
(
f
M
t
−
1
(
X
f
t
)
,
Y
f
t
)
L_{forget} = −L(f_{M_{t−1}}(X_{f_t}), Y_{f_t})
Lforget=−L(fMt−1(Xft),Yft) 。然而,简单地在原始损失中添加减号会导致爆炸式的无限损失,这很难优化。因此,采用 ReLU 函数引入一个下限,即
其中,BND是确定界限的超参数。
(2)知识保留损失
除了忘记选定的知识之外,模型保持其余知识的性能也至关重要。对剩余类的灾难性遗忘仍然存在。为了缓解这个问题,采用了一个小的排练缓冲区
D
r
t
=
(
X
r
t
,
Y
r
t
)
D_{r_t} = (X_{r_t}, Y_{r_t})
Drt=(Xrt,Yrt),它满足
∣
D
r
t
∣
+
∣
D
f
t
∣
≪
∣
D
∣
|D_{r_t}|+|D_{f_t}|≪|D|
∣Drt∣+∣Dft∣≪∣D∣ 减轻这种不良的遗忘并保持有效的训练。知识保留损失可以写成:
结合式-10和式-11,得到
5 效果
单步人脸识别的对比效果可见表1。
单步目标检测的对比效果可见表2。
多步人脸识别的对比效果可见表3。
6 结论
作者对人脸识别、对象检测和图像分类进行了广泛的实验,并证明 GS-LoRA 能够忘记特定类别,而对其他类别的影响最小。