如何利用多任務學習提升模型性能?

轉載自 | NewBeeNLP  

公衆號專欄作者@上杉翔二  

悠閒會 · 信息檢索

提升模型性能的方法有很多,除了提出過硬的方法外,通過把神經網絡加深加寬(深度學習),增加數據集數目(預訓練模型)和增加目標函數(多任務學習)都是能用來提升效果的手段。(別名Joint Learning,Learning to learn,learning with auxiliary task....等)

對於人類來說,我們往往學會了一件事,是能夠觸類旁通,舉一反三的。即其他不同任務的經驗性,能夠帶來一些有用的信息,這是多任務學習的出發點。但如果處理多任務還是用single-task learning的話(類似bagging),模型會默認爲每個任務是獨立的,沒有關聯性的,所以每個模型的參數都是獨立進行的。這樣做的缺點在於:

Multi-Task Learning(MTL)

多任務學習實質上是一種遷移機制,如何讓模型能夠同時解決多種問題,從而提高泛化準確率、學習速度和能力,模型的可理解性。特別是如何使用與其他任務的“相關性”與“差異性”,通過多個任務訓練並共享不同任務已學到的特徵表示,減輕對特定任務的過度擬合,從正則化效果中獲益,提升最終的性能,使學習的嵌入在任務之間具有通用性。

多任務學習的構建原則

爲什麼多任務是有效的?

常用多任務學習的主要方式

所以多任務的優點在於它具有很好的泛化性能,對於有些任務的數據不足問題,也能借助其他任務得到訓練,另外它還能起到正則的作用,即很難使某個任務過擬合以保證整個模型的泛化性能。

而其困難在於如何更好的對每個任務分配權重(已經有人有NAS做了...)以使其魯棒性最強,同時如何兼顧特徵共享部分和任務的特點表示,避免過擬合或者欠擬合是值得研究的。

除了一般處理多任務都是一個可學習的alpha來控制外,本篇文章將整理幾篇多任務學習的論文。

Single-Level MTL Models

單層主要有以下幾種方式:

Multi-Level MTL Models

MMoE(Multi-gate Mixture-of-Experts)

論文:Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

地址:https://dl.acm.org/doi/pdf/10.1145/3219819.3220007

MMoE應該是實際上用的比較多一個架構了,想主要整理一下這個。

這篇文章是對多任務學習的一個擴展,通過門控網絡的機制來平衡多任務。所謂“平衡”是因爲多任務學習中有個問題就是如果子任務之間的差異性太大了,多任務模型的效果會很差,那麼如何平衡不同的任務呢?MMoE主要有兩個共享:

通過這種multi-gate的結構能夠緩解任務間差異大的情況。

語言模型是天然無監督的多任務學習。而且鑑於目前針對BERT的改進很多(包括BERT-large等版本)都是增加了數據量,計算能力或訓練過程。

MT-DNN

論文:Multi-Task Deep Neural Networks for Natural Language Understanding

地址:https://arxiv.org/abs/1901.11504

MT-DNN是結合了至少4種任務的模型:單句分類、句子對分類、文本相似度打分和相關度排序等等。

在MT-DNN的多任務學習中,也是低層的特徵在所有任務之間共享,而頂層面向豐富的下游任務。從模型結構上,從底向上的shared layers是Transformer逐步的過程,用於生成共享的上下文嵌入向量(contextual embedding layers),然後完成四種任務的預測。

ERNIE2.0

論文:ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding

地址:https://arxiv.org/abs/1907.12412

ERNIE2.0的貢獻主要有1 通過大型語料庫+先驗知識。2,多任務學習逐步更新 ERNIE 模型。

這篇文章比較有趣的就是這個多任務連續增量學習,或持續學習(Continual learning)了,它致力於對數個任務按順序依次訓練模型,以確保模型在訓練新任務時候,依舊能夠記住先前的任務。正如人類能夠不斷地通過學習或歷史經驗積累獲得信息,從而有效地發展新的技能。

具體關於連續增量學習的對比,第一個是如何以連續的方式訓練任務,而不忘記以前所學的知識;第二個是如何更有效地學習這些預訓練任務。

除了這種,其實還可以先(A)(B)(C)訓練,再(A,B)(B,C)(A,C),最後再(A,B,C)這種方式。有點像我們做題往往會先做單項訓練,再綜合訓練。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/jfYSWL37mO7bAFOnrD8u4w