论文浅尝 | Generative QA: Learning to Answer the Whole Question
鏈接: https://openreview.net/forum?id=Bkx0RjA9tX
傳統的機器閱讀理解的模型都是給定 context 和 question, 找出最有可能回答該 question 的 answer,用概率表示為 p(a|q,c),這其實是一個判別模型。判別模型在大多數任務上可以取得比生成模型更好的準確率,但問題在于判別模型會利用一切能提升準確率的數據特征來做預測,這在機器閱讀中會造成模型并未完全理解question和context,而是利用訓練集中的一些數據漏洞來預測。如下圖所示,模型只需要question中有下劃線的詞即可預測出正確答案,無須完全理解問題。在 SQuAD 中另一個典型的情況是:問題的疑問詞是when或者who,而context中只有一個日期或者人名,這時模型只需要根據question的疑問詞,context中的日期或人名即可回答問題,不用完全理解 question和context。
因此,本文的作者提出基于生成模型架構的機器閱讀模型,其優化的目標是:給定context,最大化question和answer的聯合概率,用概率表示為p(a,q|c)。該概率可以分解為p(a|c)p(q|a,c)。對于這兩部分,分別訓練兩個模型,最后在預測時,遍歷所有候選的answer選出最大化聯合概率p(a,q|c)的answer作為預測結果。
首先訓練p(a|c)部分,即給定context,選出最有可能出現的候選的answer。根據context的不同,采用不同的方式。
(1)??如果context是文檔,例如SQuAD數據集,那么用ELMo得到context的表示后,該表示經過全連接層映射得到一個score(記為),該score在和候選answer的長度指標(),這兩個score按如下公式得到每個候選answer的概率
(2)??如果context是圖片,例如CLEVR數據集,那么在預訓練的RESNet上fine tuning得到圖片的表示,對所有候選answer分類得到每個answer出現的概率。
其次是p(q|a,c)部分,本文將其看做是文本生成問題,即采用Encoder-Decoder架構,根據answer, context的encoding結果,采用decoder生成question。模型采用的Decoder的架構為:
其主要包含一個循環N詞的decoder block,每個block內部t時刻生成的詞的embedding會先經過self-attention和attention計算,得到的結果再經過一個LSTM單元,如此重復N次并最終依存t+1時刻的詞。為了解決稀疏詞的問題,在預測每個詞被生成的概率時采用了character級別的embedding和pointer-generator機制。
到這里模型已經介紹完畢。但是論文中提到了按照上述目標函數和模型結構訓練完后,還有一個fine-tuning的步驟,這一步的目標是通過人為構造question和answer的負組合,來強化模型生成question時和answer的關聯。Fine-tuning的目標函數是最小化如下式子:
其中A是由p(a|c)選出的在當前context下最有可能的top k個候選answer。
模型的實驗結果如下所示,在SQuAD和CLEVR上都取得了僅次于當前state-of-the-art的判別式機器閱讀模型的效果:
可以看到生成模型的效果要比效果最好的判別模型略差,但是本文的論點在于生成模型對question和context有更全面的理解,從而讓模型有更好的泛化能力和應對對抗樣本的能力。為了驗證模型的泛化能力,本文作者構建了一個SQuAD的子集,該子集中訓練樣本中的context都只包含一個日期,數字或者人名類實體,但是在測試樣本中有多個。如果模型在訓練時僅依賴context中特殊類型的實體作為答案的數據特征,那么在測試集上就會表現很差。
可以看到在該數據集上生成模型有很大的優勢。
在包含對抗樣本的數據集Adversarial SQuAD上的表現也好過判別模型。
?
論文筆記整理:王梁,浙江大學碩士,研究方向為知識圖譜,自然語言處理。
OpenKG.CN
中文開放知識圖譜(簡稱OpenKG.CN)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的论文浅尝 | Generative QA: Learning to Answer the Whole Question的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 - CIKM2021 | DT
- 下一篇: 论文浅尝 | 如何利用外部知识提高预训练