---
# System prepended metadata

title: 【Hung-yi Lee Machine Learning L13】Meta Learning 補充

---

# 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 中不僅是工具，也是參與者，也需面對持續學習的挑戰。

