论文阅读笔记:Continual Forgetting for Pre-trained Vision Models

devtools/2025/2/27 18:17:36/

论文阅读笔记: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:XDYD ,其中 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+DfD。在忘记之前,模型 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/rtiXft/rt 是一个输入, y f t / r t i ∈ Y f t / r t y^i_{f_t/r_t} ∈ Y_{f_t/r_t} yft/rtiYft/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} WRd×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} BRd×r A ∈ R r × k A∈R^{r×k} ARr×k 是低秩矩阵, r ≪ m i n { d , k } r≪min\{d, k\} rmin{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}} fMt1 是在任务 t − 1 t−1 t1 结束时获得的映射函数。一个直观的想法是执行负损失,即 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(fMt1(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+DftD 减轻这种不良的遗忘并保持有效的训练。知识保留损失可以写成:
在这里插入图片描述

结合式-10和式-11,得到
在这里插入图片描述

5 效果

单步人脸识别的对比效果可见表1。
在这里插入图片描述

单步目标检测的对比效果可见表2。
在这里插入图片描述

多步人脸识别的对比效果可见表3。
在这里插入图片描述

6 结论

作者对人脸识别、对象检测和图像分类进行了广泛的实验,并证明 GS-LoRA 能够忘记特定类别,而对其他类别的影响最小。


http://www.ppmy.cn/devtools/163129.html

相关文章

深入理解 Linux 中的 last 和 lastb 命令

在 Linux 系统中,last 和 lastb 命令是两个非常有用的工具,用于追踪用户登录和登出的历史记录。这两个命令可以帮助系统管理员了解用户的活动情况,以及系统的重启和关机事件。本文将详细介绍这两个命令的使用方法和选项。 last 命令 用法&am…

web安全——分析应用程序

文章目录 一、确定用户输入入口点二、确定服务端技术三、解析受攻击面 一、确定用户输入入口点 在检查枚举应用程序功能时生成的HTTP请求的过程中,用户输入入口点包括: URL文件路径 通常,在查询字符?之前的URL部分并不视为用户输入入口&am…

AI绘画软件Stable Diffusion详解教程(2):Windows系统本地化部署操作方法(专业版)

一、事前准备 1、一台配置不错的电脑,英伟达显卡,20系列起步,建议显存6G起步,安装win10或以上版本,我的显卡是40系列,16G显存,所以跑大部分的模型都比较快; 2、科学上网&#xff0…

WSL,Power shell 和CMD, Git bash的区别

在 Windows 系统中,WSL、PowerShell、CMD、Git Bash 和 Git Bash(管理员) 是不同的命令行工具和环境,它们各自有不同的用途和特点。以下是它们的详细关系和区别: 1. WSL(Windows Subsystem for Linux&…

FPGA开发时序图绘制

开始的时候画时序图都是拿 visio 硬连,但是那个线宽太难统一了,丑不拉几的,遂学习 waveform 语法使用代码来画时序图。 开始 Vscode 中安装 waveform render 或者在 GitHub 搜索 wavedrom 安装即可。由于 vscode 是我常用的编辑器&#xff…

监督学习——基于线性回归的波士顿房价预测:理论、实践与评估

基于线性回归的波士顿房价预测:理论、实践与评估 文章目录 基于线性回归的波士顿房价预测:理论、实践与评估一、引言二、线性回归基础理论2.1 线性回归原理2.2 线性回归在房价预测中的应用逻辑三、波士顿房价数据集介绍3.1 数据集概述3.2 特征说明3.3 目标变量四、波士顿房价…

BUUCTF--[极客大挑战 2019]RCE ME

目录 URL编码取反绕过 异或绕过 异或的代码 flag 借助蚁剑中的插件进行绕过 利用动态链接库 编写恶意c语言代码 进行编译 然后再写一个php文件 将这两个文件上传到/var/tmp下 运行payload 直接看代码 <?php error_reporting(0); if(isset($_GET[code])){$code$_G…

记一次线上Tomcat服务内存溢出的问题处理

背景&#xff1a;JavaWeb项目部署在Tomcat服务器上&#xff0c;服务器用的Windows。 问题表现&#xff1a;系统出现偶发性无法访问&#xff08;隔几天就会在早上无法访问&#xff09; Tomcat的日志catalina中&#xff0c;有如下报错信息。 java.lang.OutOfMemoryError: GC ov…