Curriculum Learning/zh

    From Marovi AI
    This page is a translated version of the page Curriculum Learning and the translation is 100% complete.
    Other languages:
    Article
    Topic area Machine Learning
    Prerequisites Stochastic Gradient Descent, Backpropagation, Transfer Learning


    概述

    課程學習是一種機器學習模型的訓練策略,其中樣本按照結構化的順序呈現,通常從易到難,而不是均勻隨機地呈現。該技術的靈感來自人類和動物學習複雜技能的方式:兒童在學習長除法之前先學習小整數加法,棋手在學習開局理論之前先研究殘局。在機器學習的語境下,類似的主張是,先在簡單數據上訓練的模型,其優化景觀更平滑,並提供條件更好的路徑,通向能在完整分布上良好泛化的解。

    該策略由 Bengio 等人於 2009 年正式提出,作為淺層和深度模型通用的訓練原則。[1] 此後,它被應用於語言建模、機器翻譯、計算機視覺、機器人學和強化學習,並衍生出一大批變體,它們在如何度量難度以及如何隨時間更新訓練分布上各有不同。

    直覺與動機

    兩種互補的直覺支撐著課程學習。第一種是優化層面的:從任務的更簡單版本開始,等價於從損失景觀的更平滑替代物上開始,這可以引導Stochastic Gradient Descent進入原本難以到達的吸引盆。這一觀點將課程學習與數值優化中的延拓方法聯繫起來:延拓方法求解一系列問題,其目標逐步收斂到原始目標。

    第二種直覺是統計層面的:在數據和訓練時間均有限的情況下,先呈現簡單樣本可以在讓模型記憶稀有或帶噪樣本之前,將容量分配給穩健的模式。在高噪聲情形下,早期強調乾淨樣本的課程可以充當隱式的正則化項,降低對離群值的敏感性

    兩種直覺都不保證帶來改進。當模型表達能力足夠強且預算較大時,均勻隨機採樣往往與手工設計的課程不相上下。因此,實證文獻的結論參差不齊,現代實踐傾向於使用自動化或學習得到的課程,而非固定的排序。

    形式化

    $ D = \{(x_i, y_i)\}_{i=1}^{N} $ 為訓練集,$ \ell(\theta; x, y) $ 為參數 $ \theta $ 下每個樣本的損失。一個課程是 $ D $ 上的一列概率分布 $ p_1, p_2, \dots, p_T $,使得 $ p_t $ 的支撐集和$ t $ 增大,且 $ p_T $ 趨近於均勻分布。在第 $ t $ 步,優化器最小化加權風險

    $ {\displaystyle L_t(\theta) = \sum_{i=1}^{N} p_t(i) \, \ell(\theta; x_i, y_i).} $

    兩個設計選擇就完全確定了一個課程:一個對樣本進行排序的難度度量 $ d : D \to \mathbb{R} $,以及一個控制更難樣本被納入速度的步進函數 $ g : \{1, \dots, T\} \to [0, 1] $。一種常見的參數化方式將最簡單的 $ g(t) \cdot N $ 個樣本保留在 $ p_t $ 的支撐集內,在支撐集內取均勻權重,支撐集外權重為零。線性、指數和階梯式步進函數都被廣泛使用。

    難度度量

    難度可以從外部定義,也可以學習得到。外部度量使用訓練前即可獲取的信號,例如機器翻譯中的句子長度、視覺中的圖像解析度,或任務相關的啟發式規則。學習得到的度量利用模型本身:若當前損失較高,或教師模型對樣本的置信度較低,則視為難樣本。基於損失的度量將難度與訓練軌跡耦合在一起,是自步學習的基礎。基於置信度的度量通常由輔助教師計算,可支撐知識蒸餾風格的課程,即由更強的模型為較弱的模型把控節奏。

    一個微妙的陷阱在於,基於損失的難度會與模型共同演化。在初始化時看起來難的樣本,經過若干輪次後可能變得微不足道,因此固定閾值很快就失去意義。為此,實際實現會定期重新計算難度,或將固定閾值替換為當前損失分布的分位數。

    變體

    圍繞最初的形式化已經發展出幾個不同的家族。

    自步學習讓模型自行決定納入哪些樣本,具體做法是聯合優化模型參數和每個樣本的二元納入變量,並配以一個隨時間將納入質量推高的正則化項[2] 這種方法用一種由損失驅動的自動規則取代了手工調節的步進。

    反課程與困難樣本挖掘顛倒了順序。困難樣本挖掘將訓練集中在高損失樣本上,以期加速收斂,在目標檢測和對比表示學習中尤為成功。

    自動化課程學習$ p_t $ 的選擇形式化為一個序貫決策問題,並用賭博機、強化學習或元學習的方法求解。教師策略因學生驗證損失或學習進度的改善而獲得獎勵,能夠發現純粹憑直覺會錯過的非單調課程。[3]

    課程強化學習將同樣的思想應用於環境而非數據:由生成器提出難度遞增的任務,使智能體能夠從簡單情形開始自舉,逐步走向從零開始無法學習的稀疏獎勵問題。

    比較與聯繫

    課程學習Transfer Learning相關但有所不同:遷移學習在不同任務間復用參數,而課程學習是在同一任務上,沿著一系列訓練分布復用同一組參數。兩者經常結合使用,即在目標分布上以課程方式對預訓練模型進行微調。

    Boosting 可被視為一種反課程:每一輪都強調當前集成模型分類錯誤的樣本。重要性採樣優先經驗回放和 focal loss 重加權都屬於課程學習所歸屬的更廣義的非均勻採樣策略家族。

    實證結果與局限

    已報告的課程學習收益是真實存在的,但幅度有限且不穩定。課程往往在以下情形下幫助最大:訓練數據有噪聲、任務由難度明顯不同的子任務組成、訓練預算較小,或初始化時損失曲面條件較差。隨著模型規模和訓練預算的增大,收益常常縮小甚至消失;在標準圖像分類基準上,精調過的均勻採樣配合Batch Normalization是一條很強的基線,自動化課程很難持續地超越它。

    常見的失敗模式包括:課程收斂到退化的簡單子集;步進過慢,使模型缺乏多樣化的梯度;以及隨著模型改進,難度度量逐漸失去校準。對這些超參數敏感性是越來越多從業者傾向於使用學習得到的課程而非手工設計課程的主要原因。

    參考文獻

    1. Bengio, Y., Louradour, J., Collobert, R., and Weston, J., "Curriculum Learning," ICML 2009.
    2. Kumar, M. P., Packer, B., and Koller, D., "Self-Paced Learning for Latent Variable Models," NeurIPS 2010.
    3. Graves, A., Bellemare, M. G., Menick, J., Munos, R., and Kavukcuoglu, K., "Automated Curriculum Learning for Neural Networks," ICML 2017.