論文閱讀筆記: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} 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 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 能夠忘記特定類別,而對其他類別的影響最小。