【論文筆記】ULMFiT——Universal Language Model Fine-tuning for Text Classification

0 一些術語

tranductive transfer 直推遷移學習
inductive transfer 歸納遷移學習
sample transfer learning 樣本遷移學習

1 Introduction

對於歸納遷移學習:
(2013)年的fine-tuning pre-trained word embeddings 遷移技術只針對模型第一層,但是有很大的影響,大多先進模型都用了它。
(2017,2018)年的技術是把不同任務的embeddings和不同layer的input連接起來,這依舊需要從頭開始訓練整個模型,並且pre-trained embeddings被當做了固定參數,限制了使用。
(2015) 的fine-tuning a language model(LM),需要上百萬個in-domain的文檔才能得到好的效果,這限制了 用處。

之前遷移學習的問題
並不缺LM fine-tuning的想法,但是缺少有效的訓練它們的知識
LM很容易對於小數據集過擬合,並且當fine-tuned一個分類器的時候會產生嚴重遺忘。

應運而生:
提出了ULMFiT,類似於ImageNet models的fine-tuning:擁有相同超參數的3層LSTM結構,只是修改了dropout。

貢獻
1)提出了ULMFiT,類似CV遷移學習,該模型適用於任何NLP任務;
2)提出了 有區分微調斜三角學習率逐漸解凍的新穎技術 ,以保留先前的知識避免微調過程中的災難性遺忘
3)在6個具有代表性的文本分類數據集sota,在大多數數據集上將錯誤減少了18-24%;
4)extremely sample-efficient transfer learning,且進行了廣泛的ablation analysis;
5)開源了預訓練模型和源代碼,以便被更廣泛採用。

2 相關工作

transfer learning in CV:CV深度神經網絡的特徵跟層數有關係,第一層是一般特徵,隨着層數增加,其特徵跟特定任務越來越相關,直到最後一層(2015)。 (2014)通過使用ImageNet的特徵作爲簡單分類器的輸入達到了sota. 最近,這種方法逐漸被fine-tuning替代:預訓練模型微調最後一層or最後幾層,其它層就frozen

Hypercolumns:在NLP中,超越遷移詞嵌入(transfering word embeddings)的方法逐漸被提出。在CV中,超列幾乎已經被端到端微調所取代(Long等人,2015a)。
在這裏插入圖片描述

Multi-task learning:MTL(2017,2018) 在模型中增加了一個語言模型目標,這些模型和主任務模型一起訓練。特點:trained from scratch, inefficient, 需要小心權衡特定任務obejective functions.

Fine-tuning:應用:QA, 遠程監督情感分析、MT、但是:不相關任務遷移是失敗的。相比之下,ULMFiT使用general-domain pretraining和新的fine-tuning技術來防止過擬合、在小數據集上SOTA。

3 Universal Language Model Fine-tuning

語言模型可以看作理想的source task,它能夠爲下游任務捕獲語言相關的很多部分 :比如:例如長期依賴(2016)、層次關係(2018)、情感(2017);它爲大多數領域和語言提供了近乎無限數量的數據,預訓練語言模型可以很容易地適應目標任務的特性。

在這裏插入圖片描述
ULMFiT實踐意義:

  1. 它在不同的文檔大小、數量和標記類型的任務上工作;
  2. 它採用一個單一架構和訓練流程;
  3. 它不需要自定義特徵工程或預處理;
  4. 不需要額外的領域文檔或標記。

使用:AWD-LSTM + 各種tuned dropout超參數。
ULMFiT由下面幾部構成:

  1. 通用領域LM 預訓練
  2. 目標任務LM微調:discriminative fine-tuning, triangular learning rates
  3. 目標任務分類器微調 : concat pooling, gradual unfreezing

通過組合上述方法,在數據集中能夠有很好的表現。

3.1 通用領域LM預訓練

使用的語料庫爲:Wikitext-103 (Merity et al., 2017b)

3.2 Target task LM fine-tuning

target task的數據很可能會有不同的分佈,我們提出了 discriminative fine-tuning (區分微調) 和 slanted triangular learning rates(斜三角學習率)。

Discriminative fine-tuning

不同層能捕獲不同的info,所以它們要被fine-tuned到不同程度。
df
首先僅對最後一層用學習率ηL進行微調,繼而用學習率ηl-1l/2.6對較低層進行微調,工作性能良好。

Slanted triangular learning rates

我們希望模型在訓練開始時快速收斂到參數空間的適當區域,然後對其參數進行優化。
在任務期間使用相同的學習率 or 衰減學習率(annealed learning rate)不是最好的方法,這裏用了斜三角學習率,它首先線性增加學習率,然後根據下面的更新計劃線性衰減 , 如圖:
在這裏插入圖片描述
細節: T是訓練迭代次數,cut_frac是我們增加LR的迭代比例,cut是我們從增加LR到減少LR的切換迭代,p是我們已增加LR或將要減少LR的迭代比例,ratio指出基於最大LR ηmax的最小LR有多小,ηt是第t次迭代的LR。我們通常設置cut_frac = 0.1, ratio = 32, ηmax = 0.01。
在這裏插入圖片描述
總之,STLR修改了三角學習率,它是提高性能的關鍵——它使用一個短增加和長衰減週期

3.3 Target task classifier fine-tuning

最後,爲了微調分類器,用2個額外的的linear blocks來擴充預訓練LM。根據CV分類器的標準實踐,每個塊使用批歸一化法(batch normalization)和(dropout),中間層使用ReLU激活函數,最後一層使用softmax激活函數,在目標類上輸出概率分佈。這些參數是唯一需要從0開始學習的參數,第一個線性層將最後一個隱藏層池化狀態作爲輸入
在這裏插入圖片描述
(以上圖不確定對不對)

Concat pooling
在這裏插入圖片描述
target classifier微調是遷移學習中最關鍵的部分。過於激進的微調會導致災難性的遺忘,從而消除通過語言建模獲取的信息的好處,而過於保守的微調又會導致很慢的收斂,並導致過度擬合。除了區分微調和斜三角學習率外,我們還提出了逐漸解凍的分類器微調方法(gradual unfreezing)。

Gradual unfreezing :不要一次性對所有層微調,因爲這會造成災難性的遺忘。建議從最後一層開始逐漸解凍模型,因爲最後一層包含的通用知識(2014)最少:首先解凍最後一層然後每次epoch內微調所有已解凍的層;然後解凍下一個較低的層,再微調;以上重複;直到微調所有的層,直到在最後一次迭代中收斂。
以上很像“chain-thaw”(2017),只是在"解凍"層集合中一次添加一個層,而不是一次只訓練一個層。
在這裏插入圖片描述

BPTT for Text Classification (BPT3C) :爲了實現對大型文檔的分類器進行微調,提出了文本分類 BPTT(BPT3C)。

Bidirectional language model :在所有試驗中,作者都預先設定了一個前向和反向的LM。使用BPT3C獨立地爲每個LM微調分類器,並對分類器預測進行平均。

4 Experiment

4.1 experiment setup

數據集和任務:6個數據集,有不同的文檔數和文本長度。這些數據集被最先進的文本分類和遷移學習方法作爲三個常見文本分類任務的實例:情感分析、問題分類和主題分類。

預處理:和 (Johnson and Zhang, 2017; McCann et al., 2017)的預處理方式一樣,並且add special tokens for upper-case words, elongation, and repetition.

超參數
在這裏插入圖片描述

4.2 試驗結果

在這裏插入圖片描述

5 分析

Impact of pretraining:預訓練對於中小型數據集最有用,而中小型數據集在商業應用中最常見,即使對於大型數據集,預訓練也會提高性能。

Impact of LM quality:衡量選擇合適的LM的重要性。使用作者的微調技術,即使是常規的LM,在較大的數據集上也能達到令人驚訝的良好性能。
在這裏插入圖片描述

Impact of LM fine-tuning:比較了無微調方法、全模型微調方法、全模型微調且區分微調(Discr)方法,全模型微調且區分微調和斜三角學習率(Stlr)方法。

Impact of classifier fine-tuning:比較了從零開始訓練方法、全模型微調(Full)方法、僅微調最後一層(Last)、“鏈解凍”、以及逐漸解凍方法。此外,我們還進一步評估了區分微調(Discr)和斜三角學習率(Stlr)的重要性。
AG是大數據集。trec-6小數據集在這裏插入圖片描述

雙向性能影響:將前向和後向LM分類器的預測結合起來,可以提高大約0.5-0.7的性能。

6 未來方向

語言模型微調在以下設置中尤其有用:

  1. 非英語語言的NLP,受監督的預訓練任務的訓練數據不足;
  2. 不存在最先進架構的新NLP任務;
  3. 標記數據量有限的任務(以及一些未標記數據量)。

一個可能的方向是改進語言模型的預訓練和微調,使其更具可擴展性;語言建模還可以以多任務學習的方式增加額外的任務,或增加額外的監督,例如語法敏感依賴,以創建一個更通用或更適合某些下游任務的模型,理想情況下以弱監督的方式保持其通用屬性。

另一個方向是將該方法應用於新的任務和模型:其他具有更復雜交互作用的任務,例如蘊含或者問答,可能需要新穎的方法來進行預處理和微調

7 總結

我們提出了一種有效且樣本有效的遷移學習方法ULMFiT,可以應用於任何NLP任務。我們還提出了幾種新穎的微調技術,這些技術結合在一起可以防止災難性的遺忘,並能夠在不同的任務範圍內進行強健地學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章