天天看點

【論文集合】curriculum learning總結/課程學習論文

Curriculum Learning主要有兩個關鍵:①訓練樣本的難度定義;②訓練的政策

本文總結一下看過的不同論文中出現的訓練政策或者樣本難度,主要與NMT相關。

持續更新。。。

 2020之前的論文

Curriculum Learning

在shape recognition任務上是達到switch epoch或者直到觸發early stopping換難的資料

Curriculum Learning and Minibatch Bucketing in Neural Machine Translation

分為多個bin,當第一個bin的資料被取得剩下第二個bin的一半,添加第二個bin的資料,從兩個bin剩下的樣例中取,直到剩下的和第三個bin樣例數一樣。以此類推

Teacher-Student Curriculum Learning 2017

【論文集合】curriculum learning總結/課程學習論文

1.At first, the Teacher has no knowledge so it samples from all tasks uniformly.

2. When the Student starts making progress on task 1, the Teacher allocates more probability mass to this task.

3. When the Student masters task 1, its learning curve flattens and the Teacher samples the task less often. At this point Student also starts making progress on task 2, so  the Teacher samples more from task 2.

4. This continues until the Student masters all tasks. As all task learning curves flatten in the end, the Teacher returns to uniform sampling of the tasks.

An Empirical Exploration of Curriculum Learning for Neural Machine Translation 2018

将資料排序,然後分為多個shard,訓練的每個phase增加一個shard的資料。

  • one-best score(訓練一個更簡單的輔助翻譯模型)

   給定源句,計算最佳翻譯中單個詞的預測機率乘積

  • 句長、詞頻

  句長:源句、目标句、前兩者之和

  詞頻:平均詞頻排名、最大詞頻排名 可以設定門檻值分類。

論文中樣本按難度排序後按照Jenks Natural Breaks分類方法把樣本分為shards,讓shard間差距大,shard内差距小

下圖的時間軸豎着,顔色越淺代表樣本越簡單。

到達curriculum update frequency(文中是1000個mini batch = checkpoint frequency,更新一次課程學習階段) default、reverse、boost、reduce、

【論文集合】curriculum learning總結/課程學習論文

Dynamic Curriculum Learning for Imbalanced Data Classification 2018

将資料分為幾個shard,按機率采樣,有schedule調整機率

樣本按類别分類,按各類别包含的樣本數目升序排列已分類的樣本,得到真實資料集的類别比例Dtrain。

L是總epoch數。輸入表示目前訓練epoch的進度變量l,輸出在[1-0]之間單調遞減的schedule function(SF)值g(l);下圖SF曲線的凹凸和斜率表明的學習速度,先快後慢、先慢後快、恒定、組合速度。

當l=0時,g(l)=1,各類别樣本數目不均衡;l=L時,g(l)=0,各類别樣本數目相等,均衡分布。實驗中cos函數(convex)效果最好:即從開始慢慢的學習分布不均衡的資料,再到後面快速學習均衡分布的資料。

【論文集合】curriculum learning總結/課程學習論文
【論文集合】curriculum learning總結/課程學習論文

目标樣本分布Dtarget:

【論文集合】curriculum learning總結/課程學習論文

當epoch=l,由g(l)的值會得到目前epoch對應的目标樣本分布(按照xx比例),當l=0時,g(l)=1,目前epoch目标樣本分布=原始資料集樣本分布,各類别樣本數目不均衡;l=L時,g(l)=0,目前epoch目标樣本各類别分布=1:1:1...即各類别樣本數目相等,均衡分布。假設SF是linear曲線,當l=0.5L,g(l)=0.5, 目前epoch目标樣本分布=原始資料集分布0.5,各類别樣本數稍微均衡了一點。

再由目标樣本分布和目前樣本分布(前一次的目标樣本分布?)得到損失函數

【論文集合】curriculum learning總結/課程學習論文

Simple and Effective Curriculum Pointer-Generator Networks for Reading Comprehension over Long Narratives

當沒有提升時,換部分資料到簡單的資料set内,直到所有資料都被換,再将整個資料集換成另一個。

【論文集合】curriculum learning總結/課程學習論文

On The Power of Curriculum Learning in Training Deep Networks 2019

圖檔分類任務

scoring function + pacing function

兩種score函數:

  • transfer score function:在Imagenet上預訓練感覺機,用它跑每張圖檔,再用倒數第二層的激活層作為特征向量;用特征向量訓練一個classifier(RBF SVM),自信得分作為困難度分數。用其他網絡在Imagenet上訓練的老師和可以得到類似的結果
  • self-taught score function:【與自步學習區分】自步學習是基于對應目前假設(or網絡)的loss設計scoring函數,根據目前假設給更低cost的樣本更大的權重;self-taught學習是基于對應(無CL)目标假設的loss設計打分函數:無cl訓練網絡,得到的分類器再從頭訓練相同的網絡,過程可以repeat。但一旦分錯樣本,錯誤困難會累積。

pacing function:

單調遞增,簡單樣本随之減少。有三種,圖也見下:

  • Fixed exponential pacing:固定學習輪數,指數型的增加訓練資料。
    【論文集合】curriculum learning總結/課程學習論文
  • Varied exponential pacing:每個step,學習輪數vary。
  • Single-step pacing:mini-batche最初以固定比例從簡單樣本中采樣,然後像往常一樣從整個資料集采樣。
    【論文集合】curriculum learning總結/課程學習論文
【論文集合】curriculum learning總結/課程學習論文

Dynamically Composing Domain-Data Selection with Clean-Data Selection by “Co-Curricular Learning” for Neural Machine Translation 2019

領域+噪音兩個方面

讓提出的co-CL逼近真實課程(領域内受信的平行資料),在領域内和領域外幹淨樣本上逐漸訓練模型(假設無領域内的受信平行語料)

每次選擇的資料比率topλ  

【論文集合】curriculum learning總結/課程學習論文

。單調遞減的光滑曲線控制目前可用于訓練資料的大小。 

【論文集合】curriculum learning總結/課程學習論文

EM -style 優化 

目的是:在疊代的提升去噪選擇的同時不損害領域選擇的品質

  • 第 i 輪,首先生成一個具體課程,使用動态重配置設定;
    【論文集合】curriculum learning總結/課程學習論文
  • 在原始的噪音NMT上微調,生成參數θ*來替代Φ中幹淨的θ元件;
  • 新的θ與原始的θ比較,有一個得分;
  • 更新後的Φ和受限φ一起作用生成下一輪新課程 過程中隻更新了Φ
【論文集合】curriculum learning總結/課程學習論文

Curriculum Learning for Domain Adaptation in Neural Machine Translation 2019

延續18年的論文 An Empirical Exploration of Curriculum Learning for Neural Machine Translation,隻不過用在機器翻譯領域适應中。

樣本按難度(領域相關度)排序,再分成shard,每個訓練的phase在前一次的基礎上增加一個shard。

每個課程學習階段設為1000個batch,内外領域共40個shards,in domain算一個shards

實驗結果對超參的設定非常敏感。

Competence-based Curriculum Learning for Neural Machine Translation 2019

【論文集合】curriculum learning總結/課程學習論文

給定一個單調遞增的曲線控制目前可用于訓練的資料的比例。訓練:對 困難分數CDF <= 模型能力c(t) 的資料均勻采樣。唯一需要調的參數是課程學習階段的長度

【論文集合】curriculum learning總結/課程學習論文

句子難度d:

句長;word rarity

【論文集合】curriculum learning總結/課程學習論文

 句子難度d=CDF是累計機率分布(在0-1之間)==機率密度函數的積分,是以上圖中圖2曲線下的藍色陰影面積即是機率密度的積分==圖3的對應的函數值

模型能力c(t)

在0-1之間的c(t)表示時間步t時允許學習器使用的訓練資料的比例。

linear:任意時刻,更難更新的樣本都是勻速加入訓練的,每次加入訓練集的樣本數目相同。

root:而當t增加,訓練資料增加,每個樣本在訓練batch中被采樣到的機率變小。是以用root是為了随時間增加,讓更難更新的資料加入訓練集的數目會逐漸變少(加入速度變緩慢)、被采樣到的機率變小,是以給困難樣本的訓練時間長、給簡單樣本的訓練時間短。

--注意與上述Dynamic Curriculum Learning for Imbalanced Data Classification 論文中的convex對比

實驗中sqrt效果最好。曲線越凸,說明與無課程學習即c(t)=1的場景越類似(從開始就使用全部訓練集),效果越不好。

【論文集合】curriculum learning總結/課程學習論文

2020年

Norm-Based Curriculum Learning for Neural Machine Translation

詞向量可分解為:norm+direction

論文動機: 讓模型根據它的能力自動安排課程、 norm-based句子困難度是語言學和模型的結合

【論文集合】curriculum learning總結/課程學習論文
【論文集合】curriculum learning總結/課程學習論文
【論文集合】curriculum learning總結/課程學習論文

上面Competence-based cl的改進,沿用的是上篇的sqrt,讓模型可以根據模型能力自動設計政策:

【論文集合】curriculum learning總結/課程學習論文

Uncertainty-Aware Curriculum Learning for Neural Machine Translation

【論文集合】curriculum learning總結/課程學習論文

仍舊與前面zhang18,19的論文類似,把整體資料集分為幾個shards,按難度排序,課程學習到下一階段則在訓練集中新加入一個shard。

資料和模型都分别有困難度的定義

資料的困難度:在訓練集上預訓練好的語言模型打分,即交叉熵/困惑度ppl

模型的困難度:沿襲Improving Back-Translation with Uncertainty-based Confidence Estimation的工作,定義模型的不确定性——貝葉斯網絡——蒙特卡洛dropout來估計(K次前向傳播,每次随機讓部分神經元失活,這樣模型參數也有K種; 給定M對平行句來估計模型不确定性。)

【論文集合】curriculum learning總結/課程學習論文

(MC dropout: 不需要修改現有的神經網絡模型,隻需要神經網絡模型中帶 dropout 層 在訓練的時候,MC dropout 表現形式和 dropout 沒有什麼差別,按照正常模型訓練方式訓練即可。 在測試的時候,在前向傳播過程,神經網絡的 dropout 是不能關閉的。這就是和平常使用的唯一的差別。)

CL訓練:

  • 訓練集根據資料不确定性升序排列。再分為buckets,不确定性相似的在一塊
  • 課程:最初由不确定性小的來訓練,當模型不确定性停止下降時加入下一bucket
  • 模型的不确定性是從目前資料集中采樣部分資料來計算的

 該論文中的cl到下一訓練階段的轉換完全看模型的困難度,模型和資料困難度之間沒有直接聯系

Curriculum Learning for Natural Language Understanding 

Cross review method 評估困難度

直接的想法:樣本困難度應該由模型自身決定,困難度名額是目标任務的golden metric——the best metric should be the golden metric of the target task, which can be accuracy, F1 score,

(這種cross view的方法可以緩解困難度衡量的波動性。

用于推理與訓練的資料應該孤立。因為是考慮的NLU任務,使用BERT base/large模型(進行微調)。

metric離散,分布自然是由難度分數層次構成的。對其他名額(MSE),可以手動均分。

因為每階段樣本是不重疊的,是以要/N。整體上看和Baby Step類似。N=10,訓練集小于10k時N設定為3,N的尋找也是個值得探索的問題。)

【論文集合】curriculum learning總結/課程學習論文
  • 困難度衡量——Cross view(緩解困難度衡量的波動性)
    • 把資料集平均分為N(10)份,N個子集分别訓練teacher模型,teacher模型與學生的結構相同;
    • 樣本j在包含在第i個子集中
    • 除了第i個子集,用N-1個teacher模型推理樣本j,得到N-1個分值(目标任務的golden metric),分值之和是樣本j最後的困難度得分

Curriculum Arrangement—anneal method (baby step)

    • 樣本按難度排序,(看metric的類型)把樣本分為N個bucket,C1-CN是由易到難的bucket
    • 對每個學習階段Si,從所有包括i之前的buckets 裡采樣
    • 【論文集合】curriculum learning總結/課程學習論文
    • 每個階段樣本不重疊,每階段模型隻訓練1輪
    • 最後到達SN之後,模型接觸到的樣本和原樣本分布是一緻的;
    • 額外再加一個訓練階段用全部的訓練集訓練直到模型收斂

Learning a Multi-Domain Curriculum for Neural Machine Translation

 分類(A Comprehensive Survey on Curriculum Learning)

【論文集合】curriculum learning總結/課程學習論文

Predefined CL

預定義的困難度衡量常用類型

【論文集合】curriculum learning總結/課程學習論文

預定義的訓練政策常用類型

離散政策

Baby Step

One Pass

連續政策

competence function:某時刻的訓練資料占整個資料集的比例與模型能力函數有關,該能力函數一般是root形式

distribution shift:表現為一系列資料選擇,訓練時從初始的分布逐漸轉移到目标分布(樣本權重)。樣本可分兩類,一類是common(簡單、低品質)、另一類是target(更複雜、高品質)。

【論文集合】curriculum learning總結/課程學習論文

預先定義CL的限制 

Automatic CL

SPL和TT是半自動課程學習-訓練政策已經預定義、困難度衡量全自動;RL是全自動課程學習。對比如下;

【論文集合】curriculum learning總結/課程學習論文

Self-paced Learning

學生自身作為老師,根據樣本的loss衡量樣本的困難度

Transfer Teacher

引入強壯的老師模型,根據老師模型的表現衡量樣本困難度。老師模型pretrained,老師結構可以與學生一緻,可以不一緻

【論文集合】curriculum learning總結/課程學習論文

RL Teacher

老師模型和學生模型共同提升。采用強化學習架構作為老師模型,根據學生的回報動态選擇資料

【論文集合】curriculum learning總結/課程學習論文

Other Automatic CL

【論文集合】curriculum learning總結/課程學習論文

參考:https://www.dazhuanlan.com/2019/12/12/5df15a966a146/

Imagenet.

繼續閱讀