# 1. Meta Learning × Self-supervised Learning ## 1.1. 利用 BERT 作為初始化參數 $\phi^0$ 在經典的 MAML(Model-Agnostic Meta Learning)框架中,模型學習初始化參數 $\phi$,使其能在少量任務資料下快速收斂。然而,MAML 本身也需要一個良好的起點 $\phi^0$。 此時,自我監督學習模型(如 BERT)能提供語意豐富的初始參數: 1.MAML 學 $\phi$,但起點 $\phi^0$ 可來自 BERT。 2.形成架構:Self-supervised 預訓練 + Meta-learning 微調。 | 類型 | 特性 | 任務目標 | | ------------------------ | ---------------- | ----------------------- | | Self-supervised Learning | 使用大量未標記資料學習語意表徵 | 通常不等於下游任務(如 MLM ≠ 情感分類) | | Meta Learning | 在少量標記任務上訓練初始化或策略 | 任務與下游應用一致(分類、回歸) | Self-supervised 模型雖學得廣,但無法直接應用於下游任務,存在 learning gap。而 Meta Learning 專注於任務對齊與快速適應,能彌補此一差距。 ## 1.2. 效能實驗:BART + Reptile 的補強效果 以 TOPv2 任務中的 Reminder domain 為例,在資料量少的情境中(如 SPIS=10, 25),BART+Reptile 結合明顯優於單純 BART,展現出 Meta Learning 在 few-shot 條件下的補強作用。實驗結果顯示: | SPIS (Samples Per Intent and Slot) | BART | BART + Reptile | | ---------------------------------- | ----- | -------------- | | 10 | 58.92 | **61.47** | | 25 | 68.01 | **70.51** | | 50 | 72.29 | **73.24** | | 100 | 75.86 | **76.38** | ## 1.3. SciTail 測試任務 針對 SciTail 測試集,使用極少量訓練資料時的表現如下: 1.Reptile 在極低比例資料($10^{-3}$)下仍可達近 80%。 2.BERT 表現隨資料量上升才逐漸趕上。 3.顯示 Meta Learning 有助於 低資源任務的啟動表現。 # 2. Meta Learning × Knowledge Distillation 知識蒸餾(Knowledge Distillation)透過大型教師模型的輸出指導較小的學生模型學習,是模型壓縮的重要技術。然而,傳統蒸餾法中教師模型並未針對「教學效果」最佳化,而 Meta Learning 的引入正是為了解決這個盲點。 ## 2.1. 傳統知識蒸餾的限制 蒸餾過程中,教師模型通常是為提升自身分類準確率而訓練,並非專為學生學習設計,容易出現以下問題: 1.教師非最佳教師:輸出雖精準,卻不利於學生理解與模仿。 2.目標錯位:教師專注於任務表現,學生需模仿其 soft label。 3.教師與學生表現差距(gap):教師愈強,學生不一定愈好。 4.蒸餾方法在搭配強資料增強(如 Mixup、CutMix)時效果也不穩定。 表格示例(Teacher: ResNet 系列、Student: ResNet20): | Teacher | Teacher Acc | Student Acc | | --------- | ----------- | ----------- | | ResNet32 | 71.0 | 70.8 | | ResNet56 | 73.3 | 70.4 | | ResNet110 | 75.4 | 70.5 | | ResNet164 | 75.8 | 69.9 | ## 2.2. Meta Learning 強化教師:Learn to Teach Meta Learning 的角色是讓教師模型學會如何教得更好。具體流程如下: 1.設定教師模型參數為 $\theta$,學生模型為 $\theta_{\text{student}}$。 2.教師指導學生學習,評估學生在測試集上的損失。 3.反向傳遞學生損失至教師模型,調整教師參數 $\theta$。 4.教師學到能讓學生表現更好的輸出策略,而非僅是自我優化。 此訓練機制稱為「Learn to Teach」或「Meta Knowledge Distillation」,目標是最小化: $\mathcal{L}_{\text{student}}^{\text{test}}(\theta_{\text{student}}(\theta))$ ## 2.3. 教師教學能力的元學習調整 Meta Learning 讓教師模型「會教」,不只是「會做」。 | 傳統蒸餾 | Meta Knowledge Distillation | | --------------------- | --------------------------- | | 教師單向輸出 soft label | 教師學習如何設計輸出以提升學生表現 | | 固定目標導向(cross-entropy) | 可根據學生反饋調整教學策略 | | 無回饋 | 學生測試損失反向傳遞給教師 | # 3. Meta Learning × Domain Generalization 在許多真實應用中,模型往往需要面對來自未知分布的新資料,這使得「領域泛化(Domain Generalization)」成為比「領域適應(Domain Adaptation)」更具挑戰的課題。Meta Learning 提供了一種模擬泛化能力的訓練策略,能有效提升模型對未知領域的適應性。 ## 3.1. Domain Adaptation vs. Domain Generalization Domain Generalization 的目標是:僅使用多個已知來源領域,訓練出能泛化至未知目標領域的模型。 | 類型 | 測試階段是否已知目標領域? | 是否可用目標資料進行訓練? | | --------------------- | ------------- | ------------- | | Domain Adaptation | 是 | 是(通常為未標記) | | Domain Generalization | 否 | 否(完全未知) | ## 3.2. 傳統學習策略的限制 傳統模型訓練流程: 1.將所有來源資料混合訓練。 2.模型最終學會「平均表現良好」,但對單一新領域可能嚴重失準。 原因在於: 1.學習過程未明確強化「跨領域泛化能力」。 2.未模擬實際測試階段的「分布轉移」。 ## 3.3. Meta Learning 的應對方式 Meta Learning 透過模擬「未知領域適應」的過程來訓練模型。透過反覆模擬這種「跨領域適應」場景,模型學會具有泛化能力的學習方式。: 1.將訓練資料分為 $n$ 個來源領域。 2.每輪訓練隨機選擇其中一個作為 pseudo target domain,其餘作為 meta-train domains。 3.模型先在 meta-train 域訓練,再在 pseudo target 域進行適應。 4.調整初始化參數或學習策略,使模型能在任意 pseudo domain 上快速收斂。 ## 3.4. Meta Learning 提供跨領域泛化演算法訓練策略 | 傳統訓練方式 | Meta Learning 策略 | | ------------- | ---------------------------- | | 學習在所有資料上表現良好 | 學習在任一新領域能快速調整的初始化 | | 模型參數固著,泛化能力有限 | 初始化參數具轉移適應性 | | 無法模擬未知領域出現情境 | 明確設計 pseudo test domain 訓練流程 | # 4. Meta Learning × Lifelong Learning Lifelong Learning(持續學習)要求模型能夠處理一系列連續出現的任務,並在學習新任務的同時保留過去任務的知識。然而,災難性遺忘(Catastrophic Forgetting)始終是此類任務的主要挑戰之一。Meta Learning 不僅可以作為學習策略優化器,更能被設計為對抗遺忘的核心機制。 ## 4.1. 持續學習的任務轉移挑戰 傳統的 meta learning 假設訓練與測試任務來自相似分布,然而在 Lifelong Learning 中: 1.訓練任務與測試任務常屬於不同領域或語言空間。 2.學習流程須具備 跨語言、跨任務的泛化能力。 舉例:訓練任務來自 {EN, FR, DE},測試任務來自 JA。若使用統一架構進行訓練,模型將面臨跨語系結構轉移。 ## 4.2. 災難性遺忘問題與模型行為 災難性遺忘問題與模型行為代表模型參數被新任務過度覆蓋,缺乏記憶穩定性。 模型學習歷程: 1.學習任務 1:模型表現良好。 2.學習任務 2:任務 2 表現提升,但任務 1 表現顯著下滑。 3.持續學習更多任務後,模型僅記得近期任務。 ## 4.3. 主流對抗策略分類 ### 4.3.1. 選擇性突觸可塑性(Selective Synaptic Plasticity) 方法:Elastic Weight Consolidation(EWC)、Synaptic Intelligence(SI)、MAS 等。 核心:限制重要參數變動。 ### 4.3.2. 資源分配法(Resource Allocation) 方法:ProgressiveNet、PackNet 等。 核心:每個任務使用獨立子網路,避免參數覆寫。 ### 4.3.3. 記憶重放(Memory Replay) 方法:Experience Replay、Generative Replay。 核心:保存或重建舊任務樣本,與新任務資料一同訓練。 ## 4.4. Meta Learning 的對策與角色 Meta Learning 提供一種替代思路:學會「如何更新參數」以同時記住舊知識與學習新知識。不再預設正則項,而是透過元學習學習一個最佳的學習策略。具體目標是找到一個能最小化遺忘的更新規則。 框架如下: $\min_{\theta} \quad \mathcal{L}_{\text{new}}(\theta) + \lambda \cdot \text{MetaReg}(\theta, \theta_{\text{old}})$ 其中,$\text{MetaReg}$ 由 meta learner 動態學得,而非手工設計。 ## 4.5. Meta Learner 自身的遺忘風險 值得注意的是,Meta Learning 本身也會遺忘: 1.若 meta learner 持續暴露於類似任務,其學得的更新策略也可能偏向近期任務。 2.因此,Meta Learning 在 Lifelong Learning 中不僅是工具,也是參與者,也需面對持續學習的挑戰。