【論文集合】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

 

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、

 

 

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)效果最好:即從開始慢慢的學習分布不均衡的數據,再到后面快速學習均衡分布的數據。

 
目標樣本分布Dtarget

當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,各類別樣本數稍微均衡了一點。

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

 

 

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

當沒有提升時,換部分數據到簡單的數據set內,直到所有數據都被換,再將整個數據集換成另一個。

  

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:固定學習輪數,指數型的增加訓練數據。
  • Varied exponential pacing:每個step,學習輪數vary。
  • Single-step pacing:mini-batche最初以固定比例從簡單樣本中采樣,然后像往常一樣從整個數據集采樣。 

 

 

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

領域+噪音兩個方面

讓提出的co-CL逼近真實課程(領域內受信的平行數據),在領域內和領域外干凈樣本上逐步訓練模型(假設無領域內的受信平行語料)

每次選擇的數據比率topλ  。單調遞減的光滑曲線控制當前可用於訓練數據的大小。 

EM -style 優化 

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

  • 第 i 輪,首先生成一個具體課程,使用動態重分配;
  • 在原始的噪音NMT上微調,生成參數θ*來替代Φ中干凈的θ組件;
  • 新的θ與原始的θ比較,有一個得分;
  • 更新后的Φ和受限φ一起作用生成下一輪新課程 過程中只更新了Φ

 

  

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

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

 

句子難度d:

句長;word rarity

 

 句子難度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的場景越類似(從開始就使用全部訓練集),效果越不好。

 

 

 


2020年

Norm-Based Curriculum Learning for Neural Machine Translation

詞向量可分解為:norm+direction

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

 

 

 

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

 

Uncertainty-Aware Curriculum Learning for Neural Machine Translation

 

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

數據和模型都分別有困難度的定義

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

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

(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,訓練集小於10kN設置為3N的尋找也是個值得探索的問題。)

  • 困難度衡量——Cross view(緩解困難度衡量的波動性)
    • 把數據集平均分為N10)份,N個子集分別訓練teacher模型,teacher模型與學生的結構相同;
    • 樣本j在包含在第i個子集中
    • 除了第i個子集,用N-1teacher模型推理樣本j,得到N-1個分值(目標任務的golden metric),分值之和是樣本j最后的困難度得分

Curriculum Arrangement—anneal method (baby step)

    • 樣本按難度排序,(看metric的類型)把樣本分為NbucketC1-CN是由易到難的bucket
    • 對每個學習階段Si,從所有包括i之前的buckets 里采樣
    • 每個階段樣本不重疊,每階段模型只訓練1
    • 最后到達SN之后,模型接觸到的樣本和原樣本分布是一致的;
    • 額外再加一個訓練階段用全部的訓練集訓練直到模型收斂

 

Learning a Multi-Domain Curriculum for Neural Machine Translation

 

 

 

 分類(A Comprehensive Survey on Curriculum Learning)

 

 

Predefined CL

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

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

離散策略

Baby Step

One Pass

連續策略

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

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

 

預先定義CL的限制 

 

Automatic CL

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

Self-paced Learning

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

Transfer Teacher

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

 

RL Teacher

老師模型和學生模型共同提升。采用強化學習框架作為老師模型,根據學生的反饋動態選擇數據

Other Automatic CL

 

 

 

 

 

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

 

Imagenet.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM