論文標題:
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)。
透過從易到難的形式實現對模型更好的訓練不是一個新的 idea,從 CV 到 NLP 都有一些研究,主流的研究方案是兩階段的,第一階段,對問題進行分類,構建從易到難的資料集,第二階段,利用第一階段得到的資料進行第二階段的訓練。
2.1 第一階段:難度評估
將整個訓練資料分為 N 份,稱之為 meta-set,然後利用每一份資料訓練一個 teacher 模型。N 份資料之間不重疊。 在所有的 teacher 模型訓練好之後,假設從第 k 個 meta-set 中選出一個例子,然後利用剩餘的 N-1 個模型對這個例子進行預測,預測的結果就是每個模型對這個例子的困難度評估(透過這種形式,難度評估就和模型以及評價標準聯絡起來了)。 最後將得到的 N-1 個結果相加,就得到了這個例子的難度。
作者稱這個過程為交叉評估。
2.2 課程安排
三、Experiments
除此之外,作者還對不同難度劃分下的子集中資料的具體情況進行分析,相關結果如下圖所示:
四、總結