核心概念
本文提出了一種名為雙低秩適應(DualLoRA)的新型持續學習方法,通過在預訓練視覺Transformer(ViT)的每一層中加入正交適配器和殘差適配器,有效地減輕了災難性遺忘問題,並提升了模型在新任務上的適應能力。
Dual Low-Rank Adaptation for Continual Learning with Pre-Trained Models
論文概述
本論文提出了一種名為雙低秩適應(DualLoRA)的新型持續學習方法,旨在解決在使用預訓練模型進行持續學習時,學習新任務會導致舊任務性能下降的災難性遺忘問題。DualLoRA 方法的核心思想是在預訓練視覺Transformer(ViT)的每一層中加入正交適配器和殘差適配器,並通過動態記憶機制協調這兩個組件,以在穩定性(對舊任務的遺忘程度)和可塑性(適應新任務的能力)之間取得平衡。
研究方法
正交適配器: 正交適配器的參數在與先前任務提取的特徵正交的子空間中更新,以減輕災難性遺忘。
殘差適配器: 殘差適配器的參數在由特定任務基底所跨越的殘差子空間中更新,而不會與其他任務交互,從而為微調新任務提供補充能力。
動態記憶機制: 該機制利用從先前任務中提取的特徵子空間來計算任務相關性,並根據輸入測試樣本動態調整殘差適配器的輸出,以減輕可能降低測試性能的組件。
實驗結果
在多個持續學習基準測試(包括 ImageNet-R、CIFAR100 和 Tiny-ImageNet)上進行的實驗表明,DualLoRA 在準確率、推理速度和記憶體效率方面均優於現有的持續學習方法,包括基於提示的持續學習方法和 InfLoRA。
主要貢獻
提出了一種新的低秩適應範式,用於在持續學習環境中微調 ViT。
設計了一種由正交適配器和殘差適配器組成的雙 LoRA 結構,並結合了動態記憶機制。
開發了一種簡單有效的方法,利用提取的特徵子空間來推斷推理過程中測試樣本的任務身份。
研究意義
DualLoRA 為開發更高效、更有效的基礎模型持續學習範式邁出了重要一步,有助於克服災難性遺忘問題,並提高模型在新任務上的適應能力。
統計資料
在 5 分割 ImageNet-R 基準測試中,DualLoRA+ 在平均準確率指標方面比最先進的方案 InfLoRA 高出 2.58%。
在 10 分割 ImageNet-R 基準測試中,DualLoRA+ 在平均準確率指標方面比最先進的方案 InfLoRA 高出 7.14%。
在 20 分割 ImageNet-R 基準測試中,DualLoRA+ 在平均準確率指標方面比最先進的方案 InfLoRA 高出 4.96%。
在 10 分割 CIFAR100 基準測試中,DualLoRA+ 在平均準確率指標方面比表現最佳的方案 CodaPrompt 高出 5.17%。
在 10 分割 Tiny-ImageNet 基準測試中,DualLoRA+ 在平均準確率指標方面比表現最佳的方案 CodaPrompt 高出 2.07%。
深入探究
DualLoRA 方法能否應用於其他類型的深度學習模型,例如卷積神經網路(CNN)?
DualLoRA 的核心思想是利用低秩適配器和梯度投影來實現參數高效的持續學習,並減輕災難性遺忘問題。這一思想並不僅限於 ViT 模型,理論上可以應用於其他類型的深度學習模型,例如卷積神經網路(CNN)。
將 DualLoRA 應用於 CNN 的關鍵在於如何將低秩適配器整合到 CNN 的架構中。 一種可能的方法是在每個卷積層之後添加低秩適配器,類似於在 ViT 中的做法。具體來說,可以將每個卷積層的權重矩陣分解為一個低秩矩陣和一個殘差矩陣,然後只更新低秩矩陣的參數。此外,梯度投影的方法也可以應用於 CNN 中,通過將梯度投影到與先前任務特徵子空間正交的子空間中,來減輕對先前任務的遺忘。
然而,將 DualLoRA 應用於 CNN 也面臨一些挑戰:
CNN 的特徵表示與 ViT 不同,因此需要仔細設計低秩適配器的結構和梯度投影的方式,以適應 CNN 的特點。
CNN 的參數量通常比 ViT 少,因此低秩適配器带来的參數效率提升可能不如 ViT 顯著。
總之,DualLoRA 的核心思想可以應用於 CNN,但需要針對 CNN 的特點進行適當的調整和優化。
如果訓練數據集中存在顯著的類別不平衡問題,DualLoRA 的性能會受到怎樣的影響?
如果訓練數據集中存在顯著的類別不平衡問題,DualLoRA 的性能可能會受到負面影響,主要體現在以下幾個方面:
特徵子空間偏差: DualLoRA 中的正交適配器依賴於對先前任務特徵子空間的投影。如果數據集存在類別不平衡,那麼先前任務中佔主導地位的類別可能會對特徵子空間產生更大的影響,導致新任務中少數類別的特徵難以被有效學習。
動態記憶偏差: DualLoRA 的動態記憶機制利用任務相關性來調整殘差適配器的輸出。在類別不平衡的情況下,與主要類別相關的記憶可能會被過度強調,而與少數類別相關的記憶則可能被削弱,進一步加劇模型對少數類別的遺忘。
任務識別偏差: DualLoRA 使用特徵相似性來進行任務識別。類別不平衡可能會導致模型在識別與少數類別相關的任務時表現不佳,影響模型的整體性能。
為了減輕類別不平衡對 DualLoRA 性能的影響,可以考慮以下幾種策略:
數據增強: 針對少數類別進行數據增強,例如過採樣、生成对抗网络(GAN)等,以平衡數據分佈。
損失函數重加權: 對不同類別的樣本賦予不同的權重,例如對少數類別的樣本賦予更高的權重,以平衡不同類別對模型訓練的貢獻。
特徵平衡: 在提取特徵子空間和計算任務相關性時,考慮類別分佈的影響,例如對不同類別的特徵進行加權或歸一化處理。
如何將 DualLoRA 與其他持續學習技術(例如基於回放的方法)相結合,以進一步提高模型的性能?
將 DualLoRA 與其他持續學習技術相結合,可以充分利用不同方法的優勢,進一步提高模型的性能。其中,基於回放的方法是一種常見且有效的持續學習技術,它通過儲存少量先前任務的數據並在學習新任務時進行回放,來減輕災難性遺忘。
將 DualLoRA 與基於回放的方法相結合,可以通過以下方式實現:
混合訓練數據: 在訓練新任務時,將當前任務的數據與回放的先前任務數據混合在一起,使用 DualLoRA 進行模型更新。這種方法可以讓模型同時學習新知識和鞏固舊知識,有效減輕遺忘。
交替訓練階段: 將訓練過程分為多個階段,每個階段交替進行 DualLoRA 訓練和基於回放數據的訓練。例如,可以使用 DualLoRA 學習新任務,然後使用回放數據進行微調,以恢復先前任務的性能。
動態回放策略: 根據任務相關性和模型性能,動態選擇回放哪些先前任務的數據。例如,可以使用 DualLoRA 的動態記憶機制來識別與當前任務相關性較高的先前任務,並優先回放這些任務的數據。
結合 DualLoRA 和基於回放的方法的優勢:
減輕災難性遺忘: 基於回放的方法可以提供先前任務的信息,幫助模型保持對先前任務的記憶,而 DualLoRA 可以通過梯度投影和動態記憶機制進一步減輕遺忘。
提高模型泛化能力: 回放的數據可以增加訓練數據的多樣性,幫助模型學習更具泛化能力的特徵表示。
靈活的組合策略: DualLoRA 和基於回放的方法可以通過多種方式進行組合,以適應不同的任務場景和數據集特點。
需要注意的是,基於回放的方法需要儲存一部分先前任務的數據,這會增加模型的儲存成本。因此,在實際應用中,需要根據具體情況權衡性能提升和儲存成本,選擇合適的回放策略和數據量。