Few-Shot Learning/zh

    From Marovi AI
    This page is a translated version of the page Few-Shot Learning and the translation is 100% complete.
    Other languages:
    Article
    Topic area Machine Learning
    Prerequisites Supervised Learning, Transfer Learning, Meta-Learning


    概述

    小樣本學習是機器學習中的一種範式,模型必須在僅有少量帶標籤樣本(通常在一個到幾十個之間)的情況下泛化到新任務或新類別。它與傳統的監督學習範式形成對比,後者假定每個類別有數千或數百萬個帶標籤樣本;其動機既來自帶標籤數據的實際稀缺,也來自對模仿人類在有限接觸後識別新概念能力的追求。小樣本學習處於遷移學習元學習表示學習的交匯處,已成為基礎模型大語言模型的核心評估場景,在這一語境下該術語通常特指在推理時通過提示提供的上下文示例。

    小樣本任務通常被描述為 N 路 K 樣本:學習器必須在每類 K 個帶標籤樣本的條件下區分 N 個類別,其中 K 通常在一到二十之間。這 K 個樣本構成支持集,待分類的未標註查詢樣本構成查詢集。目標是在嚴格的樣本預算下取得較高的查詢準確率,進展通過專門設計的基準來衡量,這些基準會懲罰那些只是對固定分類體系過擬合的模型。

    問題設定

    形式上,記 $ \mathcal{D}_{\text{train}} $ 為任務的大規模元訓練分佈,$ \mathcal{D}_{\text{test}} $ 為保留的新任務分佈,其類別在訓練階段未曾出現。每個任務 $ \tau $ 採樣一個支持集 $ S = \{(x_i, y_i)\}_{i=1}^{N \cdot K} $ 和一個查詢集 $ Q = \{(x_j^*, y_j^*)\} $。目標是學習一個過程 $ f_\theta $,使得在給定 $ S $ 時,它能為每個 $ x_j^* $ 預測 $ y_j^* $

    $ {\displaystyle \theta^* = \arg\min_\theta \; \mathbb{E}_{\tau \sim \mathcal{D}_{\text{train}}} \; \mathbb{E}_{(S, Q) \sim \tau} \; \sum_{(x^*, y^*) \in Q} \mathcal{L}\bigl(f_\theta(x^*; S), y^*\bigr).} $

    兩種邊界情形擁有各自的名稱。單樣本學習$ K = 1 $ 固定,要求每類只有一個帶標籤樣本。零樣本學習$ K = 0 $,轉而依賴輔助信息,如類別名稱、文本描述或屬性向量,來識別新類別。廣義小樣本學習在基礎類別與新類別的混合上進行評估,由此暴露出激進適應通常伴隨的災難性遺忘問題。

    方法族

    小樣本方法通常被歸為四個族,每個族都對有用的歸納偏置所在之處下了不同的賭注。

    基於度量的方法學習一個嵌入空間,使簡單的幾何規則足以完成分類。Matching Networks 在查詢嵌入與支持嵌入之間計算注意力權重[1] Prototypical Networks[2] 為每個類別計算一個原型 $ c_n = \tfrac{1}{K}\sum_{(x,y) \in S, y=n} f_\phi(x) $,並按平方歐氏距離或餘弦距離將查詢分配給最近的原型:

    $ {\displaystyle p(y = n \mid x) = \frac{\exp(-d(f_\phi(x), c_n))}{\sum_{n'} \exp(-d(f_\phi(x), c_{n'}))}.} $

    Relation Networks 將固定的距離函數替換為可學習的比較器。這一族方法的共同特點是在測試時不進行任何任務相關的梯度更新。

    基於優化的方法通過少量梯度步對每個任務調整模型參數。模型無關的元學習(MAML[3] 學習一個初始化 $ \theta $,使得在支持集上進行一次或少量梯度下降更新即可得到表現強勁的任務專屬參數:

    $ {\displaystyle \theta^* = \arg\min_\theta \sum_\tau \mathcal{L}_\tau\bigl(\theta - \alpha \nabla_\theta \mathcal{L}_\tau(\theta; S)\bigr).} $

    Reptile、一階 MAML 和隱式 MAML 降低了對內層循環求導的成本;ANIL 等方法則表明,適應過程往往只需調整最末端的分類器。

    基於模型的方法設計的架構在其前向傳播中即實現快速適應。帶有外部存儲的網絡將支持樣本保存在外部槽式記憶中;條件神經過程則將支持集作為輸入,送入一個對排列不變的編碼器,由其條件化預測分佈。

    上下文學習已成為大語言模型最主要的小樣本接口。模型在其提示中看到帶標籤的示例,並在不更新任何參數的情況下對新輸入進行預測。[4] 性能高度依賴示例的順序、標籤分佈以及提示格式,近期研究表明,主導信號往往來自輸入分佈與標籤空間,而非輸入與標籤之間的具體對應關係。

    訓練與評估

    由 Matching Networks 推廣的回合式訓練在每個訓練步都採樣一個新的 N 路 K 樣本任務,使元損失與測試目標一致。在標準圖像基準上被證明同樣具有競爭力的另一種做法是:用普通分類在整個元訓練集合上預訓練一個強大的特徵提取器,然後在測試時附加一個簡單的邏輯回歸或最近質心頭。該基線可以匹敵甚至超越許多回合式方法,並將該領域的部分研究重心從元目標轉向了表示質量。

    標準圖像基準包括 miniImageNet、tieredImageNet、CIFAR-FS、FC100 以及 Meta-Dataset,其中後者刻意採樣路數、樣本數和圖像域各異的任務,以暴露方法的脆弱性。NLP 基準包括 CrossFit、FLEX 以及 GLUESuperGLUE 的小樣本賽道。所報告的數字通常對數百到數千個採樣回合取平均,並附以 95% 的置信區間,因為單個回合之間的方差較大。

    與相關範式的比較

    小樣本學習經常與解決不同問題的鄰近範式相混淆。

    遷移學習在帶有充足標註數據的下游任務上復用預訓練模型,而小樣本學習顯式假定下游標註預算極小。元學習是一個嚴格的更大範疇,既包括小樣本學習,也包括強化學習中的快速適應以及持續學習半監督學習假定有大量未標註樣本與少量帶標籤樣本並存;其預算不對稱性與小樣本設定相反,在小樣本設定下未標註數據可能同樣稀缺。自監督預訓練可與小樣本適應相結合,事實上大多數強力的小樣本系統都以自監督或大規模監督初始化作為起點。

    局限性

    若干反覆出現的失敗模式使小樣本學習的部署變得複雜。性能對元訓練分佈與元測試分佈之間的差異十分敏感,那些在 miniImageNet 上表現優異的方法在 Meta-Dataset 上常常退化,因為後者存在顯式的領域偏移。在支持集極小時,置信度的校準通常較差,選擇性預測也並不可靠。大語言模型中的上下文學習對示例的選擇與順序十分敏感,僅僅重排示例就足以使準確率波動數十個百分點。廣義小樣本評估表明,激進的適應往往會削弱對基礎類別的性能,這是一種災難性遺忘。最後,所謂的強力小樣本性能可能只是元訓練與元測試類別層級之間存在泄漏的產物,這也促使 Meta-Dataset 等基準強制實施顯式的領域劃分。

    參見

    參考文獻

    1. Vinyals et al., Matching Networks for One Shot Learning, 2016.
    2. Template:Cite arxiv
    3. Template:Cite arxiv
    4. Template:Cite arxiv