Transfer Learning/zh

    From Marovi AI
    This page is a translated version of the page Transfer Learning and the translation is 100% complete.
    Other languages:
    Article
    Topic area Machine Learning
    Difficulty Intermediate
    Prerequisites Neural Networks

    遷移學習是一種機器學習技術,其中在某個任務上訓練的模型被重新用作另一個不同但相關任務的模型的起點。通過利用從大規模預訓練中獲得的知識,遷移學習顯著減少了下游應用所需的標註數據量、計算資源和訓練時間。

    動機

    從零開始訓練深度神經網絡通常需要大型數據集和大量的計算資源。在許多實際領域中——醫學影像、法律文本分析、低資源語言——標註數據稀缺。遷移學習解決了這種不匹配:在數據豐富的源任務上預訓練的模型可以捕獲通用特徵(邊緣、紋理、句法模式),這些特徵可以很好地遷移到數據稀缺的目標任務上。

    關鍵概念

    領域與任務

    形式上,一個領域 $ \mathcal{D} = \{\mathcal{X}, P(X)\} $ 由一個特徵空間 $ \mathcal{X} $ 和一個邊緣分佈 $ P(X) $ 組成。一個任務 $ \mathcal{T} = \{\mathcal{Y}, f(\cdot)\} $ 由一個標籤空間 $ \mathcal{Y} $ 和一個預測函數 $ f $ 組成。當源和目標在領域、任務或兩者上有所不同時,便適用遷移學習。

    領域自適應

    當源和目標共享同一任務但數據分佈不同時($ P_s(X) \neq P_t(X) $),該問題稱為領域自適應。技術包括:

    • 實例重加權 — 調整樣本權重,使源分佈近似於目標分佈。
    • 特徵對齊 — 學習領域不變的表示(例如,通過對抗訓練或最大均值差異)。
    • 自訓練 — 使用模型對未標註目標數據的預測作為偽標籤。

    微調與特徵提取

    策略 描述 何時使用
    特徵提取 凍結所有預訓練層;僅訓練新的輸出頭 目標數據集非常小;源和目標密切相關
    微調(完全) 解凍所有層,並以較小的學習率進行端到端訓練 目標數據集中等;源和目標存在顯著差異
    逐步解凍 在訓練過程中自上而下逐步解凍各層 平衡較低層特徵的穩定性與較高層特徵的適應性

    一種常見的經驗法則是為預訓練層使用比新分類頭小 10–100 倍的學習率,從而防止已學習表示的災難性遺忘。

    預訓練模型

    計算機視覺

    在 ImageNet 上預訓練的卷積網絡(ResNet、EfficientNet、ViT)可作為標準骨幹網絡。較低層學習邊緣和紋理等通用特徵,而較高層則學習特定於任務的模式。在僅有數千張圖像的醫學影像數據集上對 ImageNet 模型進行微調,通常優於從零開始訓練。

    自然語言處理

    語言模型的預訓練變革了 NLP。關鍵里程碑包括:

    • Word2Vec / GloVe — 在大型語料庫上預訓練的靜態詞嵌入
    • ELMo — 來自雙向 LSTM 的上下文化嵌入
    • BERT(Devlin 等,2019)— 通過掩碼語言建模預訓練的雙向 Transformer;可針對分類、問答、命名實體識別等任務進行微調。
    • GPT 系列 — 自回歸 Transformer,證明了規模與預訓練能夠實現少樣本和零樣本遷移。

    何時使用遷移學習

    遷移學習在以下情況下最為有益:

    1. 目標數據集相對於模型容量較小。
    2. 源域和目標域具有結構相似性(例如,兩者都涉及自然圖像或自然語言)。
    3. 缺乏進行完整預訓練所需的計算資源。
    4. 在投入大規模數據收集之前需要快速原型設計。

    當源領域和目標領域本質上不同時,它可能會損害性能(負遷移)——例如,在沒有適當自適應的情況下從自然圖像遷移到頻譜圖。

    實用技巧

    • 數據增強通過人為擴大目標數據集的有效規模來補充遷移學習。
    • 學習率預熱有助於在對大型預訓練模型進行微調時穩定早期訓練。
    • 在驗證集上的早停可防止微調過程中的過擬合,尤其是在小數據集上。
    • 逐層學習率衰減為較早(更通用)的層分配較小的學習率,為較晚(更特定於任務)的層分配較大的學習率。
    • 中間任務遷移 — 在最終目標之前對相關的中間任務進行微調(例如,在情感分析之前進行 NLI)可以進一步改善結果。

    評估

    遷移學習的有效性通常通過比較以下內容來衡量:

    $ \Delta_{\mathrm{transfer}} = \mathrm{Acc}_{\mathrm{transfer}} - \mathrm{Acc}_{\mathrm{scratch}} $

    正的 $ \Delta_{\mathrm{transfer}} $ 表示知識遷移成功。從業者還會跟蹤收斂速度,因為遷移後的模型通常能在一小部分輪次內達到目標性能。

    參見

    參考文獻

    • Pan, S. J. and Yang, Q. (2010). "A Survey on Transfer Learning". IEEE Transactions on Knowledge and Data Engineering.
    • Yosinski, J. et al. (2014). "How transferable are features in deep neural networks?". NeurIPS.
    • Devlin, J. et al. (2019). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding". NAACL.
    • Howard, J. and Ruder, S. (2018). "Universal Language Model Fine-tuning for Text Classification". ACL.
    • Zhuang, F. et al. (2021). "A Comprehensive Survey on Transfer Learning". Proceedings of the IEEE.