CMU與谷歌大腦提出新型機器閱讀QANET模型,可提高機器理解精確度
圖源:pixabay
原文來源:openreview
作者:Adams Wei Yu、David Dohan、Minh-Thang Luong、Rui Zhao、Kai Chen、Mohammad Norouzi、Quoc V. Le
「雷克世界」編譯:KABUDA、EVA
當前的端到端機器閱讀和問答(Q&A)模型主要基於包含注意力的循環神經網路(recurrent neural network,RNN)。儘管它們取得了成功,但鑒於RNN的序列特性,這些模型在訓練和推理方面的效率往往都很低。我們提出了一種名為QANet的全新問答架構,它不需要循環網路:它的編碼器僅由卷積和自注意力(self-attention)組成,其中,卷積對局部交互和自注意力模型的全局交互進行建模。在SQuAD數據集中,我們模型的訓練速度提高了3至13倍,推理速度提高了4至9倍,同時達到了與循環模型相媲美精確度。加速增益(speed-up gain)使我們能夠用更多的數據來訓練模型。因此,我們將我們的模型,與由神經機器翻譯模型的反向翻譯生成的數據結合起來。在SQuAD數據集上,我們使用增強數據訓練的單一模型在測試集中F1值達到 84.6,這顯著優於過去公布的F1最佳值81.8。
人們對機器閱讀理解和自動問答任務越來越感興趣。在過去幾年中,端到端模型已經取得了顯著發展,並且在許多具有挑戰性的數據集上取得了令人滿意的結果。最成功的模型通常採用了兩項關鍵要素:(1)處理順序輸入的循環模型(2)應對長期交互的注意力要素。Seo等人於2016年提出的的雙向注意力流(Bidirectional Attention Flow,BiDAF)模型將這兩項要素成功地結合在了一起,該模型在SQuAD數據集(Rajpurkar等人於2016年提出)上取得了顯著的效果。這些模型的一個缺點是,它們的循環特性使得它們在訓練和推理方面的效率通常較低,特別是對於長文本而言。昂貴的訓練不僅會導致實驗的周期延長,限制研究人員進行快速迭代,還會使模型難以被用於更大的數據集中。與此同時,緩慢的推理速度阻礙了機器理解系統在實時應用中的部署。
在本文中,為了使機器理解更高效,我們提出去掉這些模型的循環性質。相反,我們僅將卷積和自注意力作為編碼器的構成模塊,分別對問題和語境進行編碼。然後,我們通過標準注意力(standard attentions,Xiong等人於2016年提出;Seo 等人於2016年提出;Bahdanau等人於2015年提出)來學習語境和問題之間的交互。在最終對每個作為答案範圍的開始或結束位置的概率進行解碼之前,用我們的無循環編碼器再次對結果表徵進行編碼。我們將該架構稱為QANet,如圖1所示。
圖1. 含有多個編碼器模塊(Encoder Blocks)的QANET架構(左側)概述。我們在整個模型中使用相同的編碼器模塊(右側),但會改變每個模塊中的卷積層數量。我們在編碼器模塊的每一層之間使用層級(layernorm)和殘差連接(residual connection)。我們還共享語境、問題編碼器和三個輸出編碼器的權重。正如Vaswani等人於2017年定義的那樣,在每個由不同波長的sin和cos函數組成的編碼器層(encoder layer)的起始點,添加位置編碼。在編碼器結構內的位置編碼(例如:卷積、自注意力或前饋網路)之後的每個子層,被封裝在殘差模塊內(residual block)。
我們模型設計背後的關鍵動機是:卷積捕獲文本的局部結構,而自注意力則學習每對單詞之間的全局交互。附加語境疑問注意力(the additional context-query attention)是一個標準模塊,用於為語境段落中的每個位置構造查詢感知的語境向量(query-aware context vector),這在隨後的建模層中得到使用。我們的架構的前饋特性極大地提高了模型的效率。在基於SQuAD數據集的實驗中,我們模型的訓練速度提高了3至13倍,推理速度提高了4至9倍。作一個簡單的比較,我們的模型可以在3個小時的訓練中達到與BiDAF模型(Seo等人於2016年提出)相同的精確度(F1值為77.0),在此之前,這一過程需花費15個小時的時間。加速增益還允許我們使用更多的迭代來訓練模型,以獲得比競爭模型更好的結果。例如,如果我們允許我們的模型進行18個小時的訓練,它在開發集(dev set)上的F1值達到了82.7,這比Seo等人於 2016年提出的模型,表現得要好很多,並且與已發布過的最佳結果相媲美。
由於我們的模型的運算效率很高,因此我們可以使用比其他模型更多的數據來訓練它。為了進一步改進模型,我們提出了一種補充數據增強技術(complementary data augmentation technique)以增強訓練數據。該技術通過將原句從英語翻譯成另一種語言然後再翻譯回到英語的方式,對樣本進行釋義,這不僅增加了訓練樣本的數量,而且還使句式變得多樣化。
在SQuAD數據集上,使用增強數據進行訓練的QANet在測試集上的F1值達到84.6,這明顯優於Hu等人於2017年取得的結果(F1值為81.8)。我們也進行消融測試(ablation test),以證明我們模型每個部分的實用性。總而言之,本文的貢獻如下:
?我們提出了一種有效的閱讀理解模型,它完全建立在卷積和自注意力的基礎上。據我們所知,我們是第一個這樣做的人。與RNN相比,這種結合保持了良好的精確性,同時在訓練環節中,速度提高了13倍,迭代次數提高了9倍。加速增益使我們的模型成擴大至更大數據集的最有發展前景的候選者。
?為了改進我們在SQuAD上的結果,我們提出了一種新型數據增強技術,以通過釋義來豐富訓練數據。它使模型能夠達到比現有最先進的技術更高的精確度。
相關工作
機器閱讀理解與自動答疑,已經成為了自然語言處理領域的一項重要課題。其之所以能夠得到快速發展,得益於諸如「SQuAD」(Rajpurkar等人於2016年提出)、「TriviaQA」(Joshi等人於2017年提出)、「CNN/Daily News」(Hermann等人於2015年提出)、「WikiRdading」(Hewlett等人於2016年提出)和「Children Book Test(Hill等人於2015年提出)等可公開獲取的注釋數據集的增多。為了攻克這項課題,人們提出了許多端到端神經網路模型,例如:BiDAF (Seo等人於2016年提出)、 r-net (Wang等人於2017年提出)、DCN (Xiong等人於2016年提出)、 ReasoNet (Shen等人於 2017年提出)、Document Reader (Chen等人於 2017年提出)、Interactive AoA Reader (Cui等人於2017年提出)和Reinforced Mnemonic Reader (Hu 等人於2017年提出)。
在過去幾年中,循環神經網路(RNNs)一直在自然語言處理中佔據主導地位。本文的寫作順序與RNNs的設計理念相吻合,因而獲得普遍關注。事實上,上述所有閱讀理解模型都是基於RNNs來設計的。儘管RNN的應用非常廣泛,但它的順序特性阻礙了並行計算,因為令牌(tokens)必須按順序輸入RNN。儘管採用了門控循環單元(Gated Recurrent Unit)(Chung等人於2014年提出)和長短期記憶架構(Long Short Term Memory architectures)(Hochreiter和Schmidhuber於1997年提出),但RNNs仍存在難以對長期依賴關係(long dependencies)進行建模的缺點。對於一些簡單的任務(例如:藉助強化學習技術執行文本分類)而言,Yu等人已經於2017年提出了相關模型,以跳過不相關的令牌,從而進一步解決長期依賴問題,並加速這一過程。然而,我們目前尚且不清楚這些方法,能否處理諸如問與答之類的複雜任務。本文提及的閱讀理解任務,通常包含長文本處理,因為文章中的段落可能會包含數百個單詞。近期,人們嘗試用完全卷積結構和完全注意力結構來取代循環網路。我們已經證明,這些模型不僅比RNN結構的運算效率高,而且在諸如文本分類、機器翻譯和情感分析等任務中同樣適用。
圖2.以法語作為關鍵語言的數據增強示例。K表示束寬度(beam width),它是NMT系統產生的翻譯數量。
據我們了解,本文首次提出了,通過摒棄循環網路來支撐前饋結構的方式,實現構建快速、準確的閱讀理解模型的方法。本文也首次將自注意力和卷積相結合,F1值達到了2.7,因此這一方法被證實是卓有成效的。值得注意的是,Raiman和Miller於2017年提出,通過避免雙向注意力(bidirectional attention)和創造集束搜索(search beams)計算條件這兩種方法,可加快閱讀理解進程。儘管如此,他們的模型仍然是基於RNNs的,其中EM值為68.4,F1值為76.2,在精確度方面不具競爭力。Weissenborn等人還於2017年提出,嘗試通過採用刪除語境查詢注意力模塊(context-query attention module)的方式,構建快速問答模型。但是,這種模型依舊是建立在RNN的基礎上,因此,從本質上來講,它的運算速度要慢於我們的模型。同時,注意力的消除進一步降低了性能(EM值為68.4,F1值為77.1)。
在自然語言處理中也探討了關於數據增強(data augmentation)的問題。例如,Zhang等人於2015年提出,通過採用同義詞替換的方式來增強數據集,並強調了其在文本分類任務中的有效性。Raiman和Miller於2017年提出,建議使用類交換(type swap)的方式來增強SQuAD數據集(該數據集實際上是將原始段落中的單詞,替換為相同類型的詞語)。儘管該方法被證實在提高精確度方面卓有成效,但增強後的數據與原始數據具有相同的句法結構,因此說明它們的分化程度還不夠。Zhou等人於2017年提出,通過生成更多問題,來提高SQuAD數據的多樣性。然而,正如Wang等人於2017年所論述的那樣,他們的方法並沒有在改進性能方面提供幫助。本文提出的數據增強技術,是基於對原文句子的正向、反向翻譯而實現的。這樣做的主要優點在於,它可以為增強後的數據帶來更豐富的語法多樣性。
結論
本文提出了一種用於機器閱讀理解的,快速、精確的端到端模型——QANET。我們的核心創新點,在於完全消除了編碼器中的循環網路。我們得到的模型是完全前饋的(fully feedforward),由完全可分離的卷積、注意力、線性層(linear layers)和層歸一化(layer normalization)組成,這適用於並行計算。由此生成的模型運算效率高,精確度也高:它超過了SQuAD數據集上公布的最佳結果,並且比訓練/推理迭代的競爭性循環模型(competitive recurrent)的效率高13/9倍。此外,我們還發現,通過利用數據增強(包括將語境和段落對(passage pairs)在不同語言中互譯,從而作為回答問題和理解語境的一種方式)可以收穫顯著成果。
原文鏈接:https://openreview.net/pdf?id=B14TlG-RW
※密西根大學利用圖像生成過程進行數據增強,可提高現實場景目標檢測的魯棒性
※斯坦福聯合DeepMind提出將強化學習和模仿學習相結合
TAG:雷克世界 |