通过预训练提升语言理解
官方地址:https://blog.openai.com/language-unsupervised/
文章:https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf
代碼:https://github.com/openai/finetune-transformer-lm
本文利用Transformer和非監督預訓練結合的方法,提出了一種能用于各種NLP任務的預訓練框架,實驗結果表明該模型使12項NLP任務中的9項做到了state-of-art的結果。這說明非監督預訓練對提升NLP任務的監督學習有很大幫助。
?
Background
傳統的NLP問題往往受制于標注數據太少,但未標注的文本數據則非常多,因此非監督學習可以很好地利用這些未標注的文本數據。而對于有大量標注數據的NLP問題,非監督學習到的特征表示也可以極大地提高這些NLP問題的準確率,對此一個比較有力的證明就是預訓練好的詞向量對提升NLP任務有很大的幫助。但詞向量的局限性在于,對于不同的NLP任務,我們所需要的詞的特征表示可能是不一樣的,而即便是幾百維的詞向量也難以包含這些信息用于所有的NLP任務。因此,我們需要用預訓練的模型來提升NLP任務的性能。
?
Challenge
對于設計一個預訓練模型,主要存在兩方面的挑戰,一個是預訓練優化的任務目標,例如本文中的目標是傳統的LanguageModel,即用上文信息預測下一個出現的詞,而BERT中的目標是MaskedLanguage Model + next sentence prediction。另一個挑戰是預訓練模型如何遷移到下游任務的過程,最主要的方式是模型結構的調整,但也包含一些學習方式的改變、附屬學習目標的設立等其他手段。
?
Model
模型主要分為三個部分,分別是 Unsupervised pre-training、Supervised fine-tuning、Task-specific input transformations Experiment。整個模型結構如下圖所示:
Unsupervised pre-training
整個預訓練模型采用傳統的語言模型的方式,所以其目標函數為:
從上面的模型結構圖中可以看到,預訓練模型框架主要采用了多層 Transformer Decoder 的結構,具體來說就是:
其中各個變量代表的意義為
???????U: context vector of tokens
???????We: token embedding matrix
???????Wp: position embedding matrix
???????H is bridge of the two components
由于采用的是傳統的語言模型,因此有
對比 BERT 和 ELMo 幾個經典的NLP預訓練模型,可以看到,BERT主要在本文的GPT模型上加上一些小改進:
Supervised fine-tuning
和視覺任務類似地,當在做監督學習fine-tuning時,只需把非監督預訓練模型的最后一層換為一個新的未訓練的softmax分類器即可
所以此時的loss即為
附屬目標函數為
這個附屬目標函數結合了預訓練過程中的loss,這樣做的好處為:(1)有利于提高模型的泛化能力(2)加快模型的收斂
?
Task-specific input transformations Experiment
在預訓練模型遷移到不同NLP任務的過程中,由于任務輸入輸出的不同,模型也要做出相應的調整。本文所進行的實驗任務主要分為四大類:分類任務、推理任務、語義相似性任務、QA類的任務(多選題任務),如下圖所示,其中start、extract表示開始符和終止符。
分類任務和預訓練模型結構保持一致。
推理任務中間加了一個delimiter,將推理任務輸入的premise和hypothesis分開,同時保持了其語序一致。
語義相似性任務和推理任務類似,但由于其語義沒有前后的因果關系,為保持text1和text2地位相等,所以用了兩個模型,最后用element-wise地相加把它們結合起來。
QA任務中context由document和question拼接而成,對每個answer分別進行配對,然后分別輸入到模型中,最后用一個softmax layer進行歸一化。
?
Experiment
本文進行的12項NLP任務分別為:
推理任務的實驗結果:
QA任務的實驗結果:
分類任務和語義相似性任務的實驗結果:
12項實驗中9項超過當前最好準確率,其中在 Stories Cloze Test上提高了8.9%,在RACE上提高了5.7%,都是比較顯著的提高。
?
楊海宏,浙江大學直博生,研究方向:知識問答與推理。
OpenKG.CN
中文開放知識圖譜(簡稱OpenKG.CN)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
轉載須知:轉載需注明來源“OpenKG.CN”、作者及原文鏈接。如需修改標題,請注明原標題。
?
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的通过预训练提升语言理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 | 重新审视语言模型与知识库
- 下一篇: 论文浅尝 | 知识图谱相关实体搜索