OpenAI Reptile:可擴展的元學習演算法
OpenAI 宣布了 Reptile,一種元學習演算法,旨在產生能夠從少量範例中概括的「快速學習者」。透過優化可快速適應新任務的參數初始化,Reptile 為現有的元學習方法(如 MAML)提供了一種可擴展的替代方案。
Reptile 的運作方式
Reptile 是一種一階元學習演算法,學習一個初始參數向量 $\Phi$,該向量可以有效地適應從分佈中抽樣的任何任務。此演算法遵循一個特定的迭代過程:
- 任務抽樣:從任務分佈中隨機抽取一個任務 $T$。
- 內部迴圈優化:以目前的參數 $\Phi$ 為起點,模型在任務 $T$ 上執行 $k$ 步隨機梯度下降(SGD),得到新的參數 $W$。
- 元更新:使用公式 $\Phi \leftarrow \Phi + \epsilon (W - \Phi)$,將初始參數 $\Phi$ 向 $W$ 移動,以更新參數。
雖然此更新可以使用簡單的 SGD 進行,但原文指出 $\Phi - W$ 可視為梯度,並可整合至更複雜的優化器(如 Adam)中。
技術分析與概括能力
Reptile 需要 $k > 1$ 步的 SGD 才能運作。若 $k = 1$,演算法會退化為「聯合訓練」,在無法進行零樣本學習的情況下(例如輸出標籤被隨機置換)往往會失敗。
透過泰勒級數近似來分析更新,OpenAI 研究人員發現 Reptile 的更新會最大化同一任務中不同小批次梯度的內積。此機制與提升概括能力相關,且可能對理解 SGD 在元學習之外的一般性質產生啟示。
效能與與 MAML 的比較
在少樣本分類的基準測試中,特別是 Omniglot 與 Mini-ImageNet 資料集上,Reptile 展示出與模型無關的元學習(MAML)相似的效能。然而,Reptile 具備以下幾項優勢:
- 收斂速度:Reptile 的收斂速度快於 MAML,因為其更新具有較低的變異性。
- 演算法關係:分析顯示 Reptile 與 MAML 執行非常相似的更新,包含相同的兩項,只是權重不同。
變異降低與元梯度
OpenAI 對此演算法的分析指出,使用不同組合的 SGD 梯度可產生各種元學習演算法。研究強調,納入更多梯度(例如 $g_2, g_3, \ldots, g_k$)可因變異降低而加速學習。
相反地,僅使用第一個梯度 $g_1$(相當於 $k = 1$)在無法提升零樣本效能的任務上不會有任何進展,驗證了理論上必須進行多步內部迴圈優化才能達成有效元學習的預測。