“非自回归”也不差:基于MLM的阅读理解问答
作者丨蘇劍林
單位丨追一科技
研究方向丨NLP,神經網絡
個人主頁丨kexue.fm
前段時間寫了萬能的Seq2Seq:基于Seq2Seq的閱讀理解問答,探索了以最通用的 Seq2Seq 的方式來做閱讀理解式問答,并且取得相當不錯的成績(單模型 0.77,超過參加比賽時精調的最佳模型)。這篇文章我們繼續做這個任務,不過換一個思路,直接基于 MLM 模型來做,最終成績基本一致,但能提高預測速度。
兩種生成
廣義來講,MLM 的生成方式也算是 seq2seq 模型,只不過它屬于“非自回歸”生成,而我們通常說的(狹義的)seq2seq,則是指自回歸生成。本節對這兩個概念做簡單的介紹。?
自回歸生成
顧名思義,自回歸生成指的是解碼階段是逐字逐字地遞歸生成的,它建模的是如下的概率分布:
更詳細的介紹可以參考玩轉Keras之Seq2Seq自動生成標題和從語言模型到Seq2Seq:Transformer如戲,全靠Mask,在此不對自回歸生成做過多介紹。?
非自回歸生成
由于自回歸生成需要遞歸地進行解碼,無法并行,所以解碼速度比較慢,因此近年來有不少工作在研究非自回歸生成,也取得不少成果。簡單來說,非自回歸生成就是想辦法使得每個字的解碼可并行化,最簡單的非自回歸模型就是直接假設每個字是獨立的:
這是一個很強的假設,只有在一些比較特殊的情況下才適用,直接用它來做普通的文本生成如自動摘要的話,效果會很差的。更復雜的非自回歸生成的相關工作,大家在 arXiv 或 Google 上搜索 non-autoregressive text generation 就可以找到很多。?
標題已經提到了,本文做閱讀理解的方式是“基于 MLM”,對 Bert 模型有所了解的讀者應該知道,MLM(Masked Language Model)實際上也是 (2) 的一個特例,所以基于 MLM 所做的生成模型,屬于非自回歸生成的范疇。
模型簡介
所謂“簡介”,真的很簡,因為基于 MLM 來做閱讀理解確實非常簡單。?
模型圖示
首先定一個最大長度?,然后將問題和篇章拼接起來,再在里邊拼接? 個 [MASK] 標記,輸入到 Bert 中,最后讓 [MASK] 對應的部分來預測答案即可(不管是訓練還是預測階段都如此),如下圖示:
▲?用MLM做閱讀理解的模型圖示(其中[M]表示[MASK]標記)
代碼效果
代碼鏈接:
https://github.com/bojone/bert4keras/blob/master/examples/task_reading_comprehension_by_mlm.py
最終在 SogouQA 自帶的評估腳本上,valid 集的分數大概是 0.77:?
-
Accuracy=0.7282149325820084
-
F1=0.8207266829447049
-
Final=0.7744708077633566
跟前段時間的萬能的Seq2Seq:基于Seq2Seq的閱讀理解問答模型持平,但是預測速度明顯提升,之前的 seq2seq 方案每秒只能預測 2 條數據左右,現在每秒預測能達到 12 條,6 倍的提速而且不降低效果。
選哪種好?
原則上來說 seq2seq 是萬能的,而且原則上 seq2seq 所建模的式 (1) 要比 MLM 所建模的 (2) 要合理,為什么 MLM 方案能取得跟 seq2seq 持平的效果?什么時候該用 MLM,什么時候該用 seq2seq??
訓練和預測
首先,seq2seq 最大的問題就是慢,如果長文本生成就更慢了,因此如果要求高效率,那自然就不得不放棄 seq2seq 這種方案了。
如果不考慮效率,那么是不是 seq2seq 就最好呢?也不是。盡管從建模上來看, (1) 更加準確,但是 seq2seq 的訓練是通過 teacher forcing 的方式來做的,所以存在“exposure bias”的問題:訓練的時候,每個時刻的輸入都是來自于真實的答案文本;而生成的時候,每個時刻的輸入來自于前一時刻的輸出;所以一旦有一個字生成的不好,錯誤可能會接著傳遞,使得生成的越來越糟糕。?
說白了,也就是訓練和預測時存在不一致性,這種不一致性可能導致誤差累積。相反,基于 MLM 的方案在訓練和預測時的行為是一致的,因為不需要真實標簽作為輸入(預測時答案部分的位置也輸入 [MASK]),因此不存在誤差累積情況。而且也正好因為這個特點,因此解碼時不再需要遞歸,而是可并行化,提高了解碼速度。?
正確答案唯一
此外,MLM 等非自回歸生成,相對來說更加適用于短文本生成,因為文本越短越貼近這個獨立假設,同時,非自回歸生成適用于“正確的答案只有一個”的場景,而本文所做的閱讀理解任務主要是抽取式的,剛好就對應著這種場景,因此 MLM 表現也不俗。?
事實上,序列標注模型如逐幀 Softmax 或者 CRF,其實也可以視為非自回歸生成模型,它們之所以有效,我認為根本原因也在于“正確的答案序列是唯一的”,而不是直覺上認為的“輸入與輸出對齊”。也就是說,如果滿足“正確的答案只有一個”這個條件,那么就可以考慮用非自回歸生成來做。?
注意這個的答案唯一并不是指每個樣本只有一個人工標注答案,而是指這個任務從設計上就讓答案變得唯一了,比如分詞,設計好標注方式后,每個句子只對應唯一一種正確的分詞方案,再比如標題生成,顯然同一篇文章可以起不同的標題,因此標題生成答案就不是唯一的(哪怕訓練數據里邊每篇文章只有一個標題)。
文章小結
本文試驗了通過 MLM 的非自回歸生成方式來做閱讀理解式問答,發現最后的效果也不賴,而且速度有了好幾倍的提升。此外,文章還簡單對比了自回歸和非自回歸生成的異同,分析了非自回歸方案何時適用及其原因。
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 查看作者博客
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的“非自回归”也不差:基于MLM的阅读理解问答的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么恢复优盘出厂设置 优盘如何回归出厂设
- 下一篇: 知识图谱实体链接:一份“由浅入深”的综述