基於課程學習(Curriculum Learning)的自然語言理解

PaperWeekly發表於2020-11-13
基於課程學習(Curriculum Learning)的自然語言理解

論文標題:

Curriculum Learning for Natural Language Understanding

論文作者:

Benfeng Xu, Licheng Zhang , Zhendong Mao, Quan Wang, Hongtao Xie and Yongdong Zhang

論文連結:

https://www.aclweb.org/anthology/2020.acl-main.542/

一、動機

伴隨著 Bert 等預訓練模型在自然語言處理領域的全面鋪開,在預訓練模型上進行 fine-tune 已經成為當前自然語言處理各種研究的一個標配。在微調階段,目標資料會被一股腦的拋給模型,用於訓練一個在具體任務上的模型。

但資料集中的資料之間是存在難易程度的,有些例子很容易被區分,有些例子就很難被區分,例如下圖展示的 SST-2 情感分類任務上的一個資料樣例,簡單的例子可以直接利用一些詞進行分類,例如 easy,comfortable 等,但一些比較困難的例子就需要模型能夠對句子中的具體片段內容進行語義理解和分析了。

如果把這些樣例不加區分直接扔給模型,那麼就可能出現模型在簡單例子上用力過猛,在複雜例子上不夠用力,從而導致模型難以訓練,同時難以取得更好的效果。而人在學習過程中基本上是從易到難的,先學簡單的,在學複雜的,這稱之為課程學習(Curriculum Learning)。

因此,本文的一個 motivation 就是將課程學習的思路應用到自然語言理解的相關任務中。
基於課程學習(Curriculum Learning)的自然語言理解二、方法

透過從易到難的形式實現對模型更好的訓練不是一個新的 idea,從 CV 到 NLP 都有一些研究,主流的研究方案是兩階段的,第一階段,對問題進行分類,構建從易到難的資料集,第二階段,利用第一階段得到的資料進行第二階段的訓練。

本文的優勢在於,本文並不是針對某一種特定的任務進行最佳化的,而是提出了一種更 general 的方案,然後在閱讀理解,句子分類,句子對相似度分析三個任務上進行了驗證。接下來,我們就來看一下本文是如何完成這兩個階段的。

2.1 第一階段:難度評估

傳統的方法使用上下文的長度,非常見詞的頻率,學習目標的尺度等方案對資料進行困難評估,但作者認為,既然是針對任務的,那麼這些難度評估也是需要是跟對應的任務以及對應的評價目標相關的,因此,作者將整個訓練資料透過如下步驟進行困難評估,相關的圖例如下圖所示:

基於課程學習(Curriculum Learning)的自然語言理解

  1. 將整個訓練資料分為 N 份,稱之為 meta-set,然後利用每一份資料訓練一個 teacher 模型。N 份資料之間不重疊。
  2. 在所有的 teacher 模型訓練好之後,假設從第 k 個 meta-set 中選出一個例子,然後利用剩餘的 N-1 個模型對這個例子進行預測,預測的結果就是每個模型對這個例子的困難度評估(透過這種形式,難度評估就和模型以及評價標準聯絡起來了)。
  3. 最後將得到的 N-1 個結果相加,就得到了這個例子的難度。

作者稱這個過程為交叉評估。

2.2 課程安排

在得到每個訓練例子的難度之後,作者對資料集進行劃分,然後根據劃分之後的例子對模型進行多階段的學習,具體而言,首先根據難度對樣例進行排序,然後分為 N 份,這樣就得到了 N 份從易到難的訓練集,該過程可以表示為如下形式:

基於課程學習(Curriculum Learning)的自然語言理解

然後對於每階段的訓練,作者分別從每一個難度類(buckets)裡調出 1/N 個例子,然後組成短拳對應的訓練集,對模型進行訓練,從而讓保證模型對各種資料都能看到,該過程可以表示為如下形式:

基於課程學習(Curriculum Learning)的自然語言理解

作者稱這種方法為退火方法(Annealing method)。

三、Experiments

為了驗證模型的有效性,作者在多個資料集和多個任務上進行了驗證,主要針對的 BERT 模型,以下是在 GLUE 上的表現:

基於課程學習(Curriculum Learning)的自然語言理解

除此之外,作者還對比了其他一些課程學習的放下的效果,具體結果如下:

基於課程學習(Curriculum Learning)的自然語言理解

還有對資料集進行劃分時,不同 N 對整個模型效果的影響:
基於課程學習(Curriculum Learning)的自然語言理解

除此之外,作者還對不同難度劃分下的子集中資料的具體情況進行分析,相關結果如下圖所示:

基於課程學習(Curriculum Learning)的自然語言理解
這些實驗都充分證明了本文提出的方法的有效性。

四、總結

本文透過課程學習的形式,將資料集從易到難進行分類,在此基礎上對模型進行訓練,從而進一步提高了預訓練模型在 fine-tune 階段的效果,思路非常有意思。而且關於資料難度的定義和評估是這種課程學習方法的難點所在,如何提出更好的學習方法是進一步提升模型效果的關鍵所在。而且也不需要複雜的結構,是一個非常有意思的研究方向。

相關文章