論文閱讀筆記:Continual Forgetting for Pre-trained Vision Models

論文閱讀筆記: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?/rt?i?,yft?/rt?i?)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?/rt?i?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?/rt?i?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} 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\} 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 W1?t(l)? W 2 t ( l ) {W_2}^{(l)}_t W2?t(l)? 表示任務 T t T_t Tt? 后第 l l l 個 FFN 模塊的權重, B 1 i ( l ) {B_1}^{(l)}_i B1?i(l)? A 1 i ( l ) {A_1}^{(l)}_i A1?i(l)? B 2 i ( l ) {B_2}^{(l)}_i B2?i(l)? A 2 i ( l ) {A_2}^{(l)}_i A2?i(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 B1?i(l)? A 1 i ( l ) {A_1}^{(l)}_i A1?i(l)? B 2 i ( l ) {B_2}^{(l)}_i B2?i(l)? A 2 i ( l ) {A_2}^{(l)}_i A2?i(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 能夠忘記特定類別,而對其他類別的影響最小。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70843.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70843.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70843.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

車載DoIP診斷框架 --- 連接 DoIP ECU/車輛的故障排除

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 簡單,單純,喜歡獨處,獨來獨往,不易合同頻過著接地氣的生活,除了生存溫飽問題之外,沒有什么過多的欲望,表面看起來很高冷,內心熱情,如果你身…

【爬蟲基礎】第二部分 爬蟲基礎理論 P1/3

上節內容回顧:【爬蟲基礎】第一部分 網絡通訊 P1/3-CSDN博客 【爬蟲基礎】第一部分 網絡通訊-Socket套接字 P2/3-CSDN博客 【爬蟲基礎】第一部分 網絡通訊-編程 P3/3-CSDN博客 爬蟲相關文檔,希望互相學習,共同進步 風123456789&#xff…

Compose 手勢處理,增進交互體驗

Compose 手勢處理,增進交互體驗 概述常用手勢處理Modifierclickable()combinedClickable()draggable()swipeable()transformable()scrollable()nestedScrollNestedScrollConnectionNestedScrollDispatcher 定制手勢處理使用 PointerInput ModifierPointerInputScope…

ue5 3dcesium中從本地配置文件讀取路3dtilles的路徑

關卡藍圖中獲得3dtiles的引用 拉出設置url 設置路徑 至于設置的路徑從哪里來 可以使用varest讀取文件里的接送字符串 path中配置地址 path變量的值為: Data/VillageStartMapConfig.json此地址代表content的地下的data文件夾里的config.json文件 {"FilePath": &quo…

音視頻入門基礎:RTP專題(12)——RTP中的NAL Unit Type簡介

一、引言 RTP封裝H.264時,RTP對NALU Header的nal_unit_type附加了擴展含義。 由《音視頻入門基礎:H.264專題(4)——NALU Header:forbidden_zero_bit、nal_ref_idc、nal_unit_type簡介》可以知道,nal_unit…

搜索賦能:大型語言模型的知識增強與智能提升

引言 近年來,大型語言模型(LLM)取得了顯著的進展,并在各個領域展現出強大的能力。然而,LLM也存在一些局限性,尤其是在知識庫方面。由于訓練數據的局限性,LLM無法獲取最新的知識,也無…

EX_25/2/24

寫一個三角形類,擁有私有成員 a,b,c 三條邊 寫好構造函數初始化 abc 以及 abc 的set get 接口 再寫一個等腰三角形類,繼承自三角形類 1:寫好構造函數,初始化三條邊 2:要求無論如何,等腰三角形類對象&#x…

nv docker image 下載與使用命令備忘

1,系統需求 Requirements for GPU Simulation GPU Architectures Volta, Turing, Ampere, Ada, Hopper NVIDIA GPU with Compute Capability 7.0 CUDA 11.x (Driver 470.57.02), 12.x (Driver 525.60.13) Supported Systems CPU architectures x86_64, ARM…

學習記錄:初次學習使用transformers進行大模型微調

初次使用transformers進行大模型微調 環境: 電腦配置: 筆記本電腦:I5(6核12線程) 16G RTX3070(8G顯存) 需要自行解決科學上網 Python環境: python版本:3.8.8 大模型&#xff1a…

【Java學習】Object類與接口

面向對象系列五 一、引用 1.自調傳自與this類型 2.類變量引用 3.重寫時的發生 二、Object類 1.toString 2.equals 3.hashCode 4.clone 三、排序規則接口 1.Comparable 2.Comparator 一、引用 1.自調傳自與this類型 似復刻變量調用里面的非靜態方法時,都…

OpenEuler學習筆記(三十五):搭建代碼托管服務器

以下是主流的代碼托管軟件分類及推薦,涵蓋自托管和云端方案,您可根據團隊規模、功能需求及資源情況選擇: 一、自托管代碼托管平臺(可私有部署) 1. GitLab 簡介: 功能全面的 DevOps 平臺,支持代碼托管、C…

Vscode無法加載文件,因為在此系統上禁止運行腳本

1.在 vscode 終端執行 get-ExecutionPolicy 如果返回是Restricted,說明是禁止狀態。 2.在 vscode 終端執行set-ExecutionPolicy RemoteSigned 爆紅說明沒有設置成功 3.在 vscode 終端執行Set-ExecutionPolicy -Scope CurrentUser RemoteSigned 然后成功后你再在終…

Transformer 架構 理解

大家讀完覺得有幫助記得關注和點贊!!! Transformer 架構:encoder/decoder 內部細節。 的介紹,說明 Transformer 架構相比當時主流的 RNN/CNN 架構的創新之處: 在 transformer 之前,最先進的架構…

事務的4個特性和4個隔離級別

事務的4個特性和4個隔離級別 1. 什么是事務2. 事務的ACID特性2.1 原子性2.2 一致性2.3 持久性2.4 隔離性 3. 事務的創建4. 事務并發時出現的問題4.1 DIRTY READ 臟讀4.2 NON - REPEATABLR READ 不可重復讀4.3 PHANTOM READ 幻讀 5. 事務的隔離級別5.1 READ UNCOMMITTED 讀未提交…

LeetCode熱題100- 字符串解碼【JavaScript講解】

古語有云:“事以密成,語以泄敗”! 關于字符串解碼: 題目:題解:js代碼:代碼中遇到的方法:repeat方法:為什么這里不用this.strstack.push(result)? 題目&#x…

水利工程安全包括哪幾個方面

水利工程安全培訓的內容主要包括以下幾個方面: 基礎知識和技能培訓 : 法律法規 :學習水利工程相關的安全生產法律法規,了解安全生產標準及規范。 事故案例 :通過分析事故案例,了解事故原因和教訓&#x…

淺談新能源汽車充電樁建設問題分析及解決方案

摘要: 在全球倡導低碳減排的大背景下,新能源成為熱門行業在全球范圍內得以開展。汽車尾氣排放會在一定程度上加重溫室效應,并且化石能源的日漸緊缺也迫切對新能源汽車發展提出新要求。現階段的新能源汽車以電力汽車為主,與燃油汽…

05-1基于vs2022的c語言筆記——運算符

目錄 前言 5.運算符和表達式 5-1-1 加減乘除運算符 1.把變量進行加減乘除運算 2.把常量進行加減乘除運算 3.對于比較大的數(往數軸正方向或者負方向),要注意占位符的選取 4.浮點數的加減乘除 5-1-2取余/取模運算符 1.基本規則 2.c語…

ubuntu:換源安裝docker-ce和docker-compose

更新apt源 apt換源:ubuntu:更新阿里云apt源-CSDN博客 安裝docker-ce 1、更新軟件源 sudo apt update2、安裝基本軟件 sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y3、指定使用阿里云鏡像 su…

0—QT ui界面一覽

2025.2.26,感謝gpt4 1.控件盒子 1. Layouts(布局) 布局控件用于組織界面上的控件,確保它們的位置和排列方式合理。 Vertical Layout(垂直布局) :將控件按垂直方向排列。 建議:適…