论文阅读笔记----《From Easy to Hard: Two-stage Selector and Readerfor Multi-hop Question Answering》
Abstract
多跳問答 (QA) 是一項具有挑戰性的任務,要求 QA 系統對多個文檔執行復雜的推理,并提供支持事實和準確答案。現有的工作傾向于利用基于圖的推理和問題分解來獲得推理鏈,這不可避免地給系統帶來了額外的復雜性和累積誤差。為了解決上述問題,我們提出了一個簡單而有效的新穎框架,從易到難 (FE2H),以消除分散注意力的信息并為多跳 QA 任務獲得更好的上下文表示。受迭代的文檔選擇過程和人類漸進式學習習慣的啟發,FE2H 將文檔選擇器和閱讀器按照易到難的方式分為兩個階段。具體來說,我們首先選擇與問題最相關的文檔,然后利用該問題與該文檔一起選擇其他相關文檔。至于 QA 階段,我們的閱讀器首先在單跳 QA 數據集上進行訓練,然后轉移到多跳 QA 任務中。我們在流行的多跳 QA 基準 HotpotQA 上全面評估我們的模型。實驗結果表明,我們的方法在 HotpotQA(干擾器設置)排行榜中的表現優于所有其他方法。
1 Introduction
問答(QA)是自然語言理解中流行的基準任務,旨在教機器根據給定的上下文回答問題。早期的 QA 數據集,如 SQuAD (Rajpurkar et al., 2016a) 主要側重于評估每個問題使用單個文檔找到答案的能力。隨后,出現了為每個問題提供多個文檔的更具挑戰性的數據集(Joshi 等人,2017;Dunn 等人,2017)。但是,這些數據集的大多數問題仍然可以僅使用一個文檔來解決。最近,構建了許多需要對多個文檔進行多跳推理的數據集(Welbl 等,2018;Talmor 和 Berant,2018;Y ang 等,2018)。在本文中,我們專注于 HotpotQA(Yang 等人,2018 年),它是具有代表性的多跳 QA 基準之一。HotpotQA(Y ang et al., 2018)中的每個問題都提供了一組文檔,其中包括相關和不相關的文檔。除了確切的答案范圍之外,HotpotQA(Yang 等人,2018 年)還提供了支持句子,作為訓練和評估 QA 系統的解釋。
遵循當前多跳 QA 的主流管道(Fang 等人,2020;Tu 等人,2020;Wu 等人,2021),我們提出的框架還包括一個用于最小化分散注意力的信息的選擇器和一個閱讀器提供確切的答案和解釋。至于選擇器的設計,大多數早期的作品都忽略了任務的多跳性質,獨立地處理候選文檔或句子。為了解決這個問題,最近的工作包括 SAE (Tu et al., 2020) 和 S2G (Wu et al., 2021) 應用多頭自我注意 (MHSA) 層來鼓勵文檔間交互。然而,他們仍然使用預訓練語言模型 (PLM) 在 MHSA 層之前對每個文檔進行單獨編碼,這無法充分利用 PLM 的強大建模和自然語言理解能力,從而導致交互受限。請注意,盡管與 SAE 相比,S2G 進一步采用了以粗選文檔文本為饋送的級聯檢索,但這些選擇器旨在一次找到所有相關文檔,而忽略了多跳躍推理。
與上述選擇器不同,我們提出的選擇器由兩個階段組成,在一個階段選擇一個文檔。具體來說,我們首先選擇與問題最相關的文檔,然后根據問題和之前選擇的文檔來選擇另一個。圖1展示了我們在回答多跳問題時這種兩階段文檔選擇過程的一個例子,這表明我們的兩階段選擇器與人類的推理過程表現出極大的一致性。具體來說,我們首先根據問題到達文檔D10,這表明 "物理學的七堂簡明課是由Carlo Rovelli寫的"。接下來,我們利用問題和D10號文件來識別包含 "Carlo Rovelli自2000年以來一直在法國工作 "的文件。我們的實驗證明,在由易到難的兩階段方式的幫助下,即使是簡單地在PLM上增加一個二進制分類層,也可以達到很強的性能。
?圖 1:HotpotQA 基準測試中的多跳 QA 示例。圖示的推理過程與我們從易到難的兩階段文檔選擇相呼應。
在文檔選擇之后,過濾后的上下文被傳遞給問題回答模塊,即讀者。許多現有的工作側重于引導讀者通過精心設計的管道來模仿人類的推理過程,這些工作可以大致分為兩類。一類是基于圖的方法,包括將句子視為圖節點的SAE(Tu等人,2020)和用不同顆粒度的節點建立分層圖的HGN(Fang等人,2020)。然而,這些方法需要額外的技術,包括命名實體識別和圖形建模,這不可避免地導致復雜性的增加和錯誤的積累。由于這些缺點,已經有作品證明,圖建模可能不是必不可少的(Shao等人,2020)。因此,為了簡單起見,我們也沒有利用任何基于圖的推理方法。另一類是問題分解方法,如DECOMPRC(Min等人,2019)和ONUS(Perez等人,2020),它們將一個多跳的困難問題映射為許多單跳的簡單子問題。雖然我們很欣賞將困難的任務分解成容易的任務的想法,但子問題的生成帶來的難度和復雜性是不容忽視的。
受基于問題分解的方法和兒童通常從非常簡單的問題中學習的經驗的啟發,我們提出了這樣一個問題:讓模型直接從頭開始學習回答多跳問題是否太難和太混亂。因此,我們的讀者首先在較簡單的單跳數據集SQuAD(Rajpurkar等人,2016b)上進行訓練,然后再進行較難的多跳QA任務。我們假設在單跳數據集上的訓練可以用更好的參數初始化模型,使模型更容易回答多跳問題。此外,從易到難的學習過程與廣泛接受的概念是一致的,即技能的獲得應該有一個漸進的過程(Liu等人,2017;Roads等人,2018;Song等人,2019)。我們的實驗說明,兩階段的讀者有效地提高了性能,這驗證了我們的假設。
我們工作的主要貢獻總結如下:
- 我們提出了一個簡單而有效的多跳QA框架,稱為FE2H,其中文檔選擇器和閱讀器都按照從易到難的方式分為兩個階段。
- 我們引入了一個新穎的文檔選擇模塊,該模塊通過簡單地在PLM上添加一個預測層,迭代地執行二進制分類任務來選擇相關的文檔。
- 所提出的閱讀器首先在單跳QA數據集上進行訓練,然后轉入多跳QA任務,其靈感來自于人類的漸進學習過程。
- 我們在流行的多跳QA基準測試HotpotQA上全面評估了我們的模型。實驗結果表明,所提出的FE2H在所有指標上都能以很大的幅度超過以前的先進技術。
2 Related Work
QA的選擇器 ?句子或文檔選擇器旨在最大限度地減少噪聲信息,這已被證明對提高QA系統的性能和效率很有效。研究中提出了SQuAD的句子選擇器(Rajpurkar等人,2016b),因為問題可以在一個句子中回答。至于多跳QA,(Wang等人,2019)和(Groeneveld等人,2020)只是將文檔和句子分開處理,忽略了它們之間的互動。因此,SAE(Tu等人,2020)和S2G(Wu等人,2021)附加了一個MHSA層以鼓勵文檔互動。為了獲得更精細的結果,S2G(Wu et al., 2021)進一步采用了另一個級聯段落檢索模塊,該模塊將所選文件的文本作為輸入,隨后探索它們之間更深層次的關系。由于SAE和S2試圖同時定位所有的相關文檔,所以天真的二元分類器不能很好地表現。因此,SAE(Tu等人,2020)和S2G(Wu等人,2021)分別將分類目標重新表述為排名和打分目標,以符合選擇器的排名性質。與上述選擇器不同的是,我們提出了一個新穎的兩階段選擇器,它既不獨立也不同時選擇文檔。
多跳QA的閱讀器 現有的多跳QA閱讀器可以大致分為兩類:基于中間結果的推理和基于圖形的推理。第一類可以進一步按中間結果是以隱藏狀態還是自由形式的文本表示來分組。對于前一組,QFE(Nishida等人,2019)通過在每一步更新RNN隱藏狀態向量來識別相關句子,其他的則迭代更新查詢和上下文的表示向量來獲得最終答案(Das等人,2018;Feldman和El-Y aniv,2019)。后一類的代表作品主要通過首先分解原始問題或生成子問題,然后采用現成的閱讀器來獲得中間文本結果(Qi等人,2019;Min等人,2019;Perez等人,2020)。第二類是利用圖神經網絡對構建的圖進行推理。DFGN(Qiu等人,2019)和CogQA(Ding等人,2019)專注于實體圖,而SAE(Tu等人,2020)將句子作為圖節點來識別支持句子。此外,(Tu等人,2019)、HGN(Fang等人,2020)和AMGN(Li等人,2021)對具有不同類型的節點和邊的異質圖進行推理。然而,最近有一些工作質疑圖結構是否有必要。QUARK(Groeneveld等人,2020)、C2F閱讀器(Shao等人,2020)和S2G(Wu等人,2021)證明了簡單無圖閱讀器的性能與基于圖的推理方法相當。C2F閱讀器(Shao等人,2020)進一步聲稱,圖的注意力可以被視為自我注意力的一個特例。在本文中,我們提出了一個簡單的遵循兩階段流水線的閱讀器,并且不需要任何反復的狀態更新和圖形建模。
3 Proposed Framework
我們選擇HotpotQA(Y ang等人,2018)的干擾因素設置作為我們的測試平臺,其中每個問題配備了2個相關文件和8個干擾因素。我們還提供了一個支持性的句子列表和一個可以是準確的文本跨度或 "Y es/No "的答案,以供評估。我們提出的框架概述見圖2。按照傳統的多跳質量保證系統的管道,我們首先利用文檔選擇模塊來構建幾乎無噪音的上下文,然后將它們傳遞給下游的問題回答模塊,以同時提取支持事實和答案跨度。
?圖 2:我們提出的框架 FE2H 的概述。左邊部分展示了我們的整個管道,包括一個第一階段選擇器,用于查找與問題最相關的文檔,第二階段選擇器根據問題和先前選擇的文檔查找其他相關文檔,以及一個問答模塊,用于提取基于所選文件和問題的答案和支持事實。右側部分說明了我們的交叉注意力增強閱讀理解模型的詳細計算過程。
3.1 Document Selection Module
在這個階段,我們的目標是過濾干擾信息,為下面的問題回答模塊生成高質量的上下文,即幾乎沒有噪音的上下文。需要注意的是,雖然有很多作品在提取支持性句子和答案時使用圖建模和問題分解進行了循環推理,但現有的選擇器仍然是獨立或同時提取相關文檔,這在第一節和第二節已經討論過。因此,我們假設遞歸推理方式也應該應用于更大的顆粒度,即文檔級別。回顧一下,當我們回答一個多跳問題時,在大多數情況下,我們首先選擇與問題最相關的文檔,并使用這個文檔與問題一起尋找另一個文檔。受此啟發,我們將文件選擇分為兩步,一步一個文件,這與現有的方法不同。
第一階段?在這個階段,我們的目標是選擇與問題最相關的文檔。我們將序列“[CLS] + question + [SEP] + document + [SEP]”提供給 PLM ELECTRA(Clark 等人,2020),并投影令牌“[CLS]”的輸出以計算相關分數 P (d|q) 對于每個候選文檔 d 和問題 q。我們將所有包含支持事實的文檔標記為相關的,并將二元交叉熵損失為:
其中qi是數據集中的第i個問題,dij是qi的第j個候選文檔,tij是問題-文檔對(qi,dij)的標簽,N是問題的數量,M是每個候選文檔的大小設置,HotpotQA 為 10。我們選擇具有最高相關性分數的文檔并將所選文檔表示為 p1。也就是說,給定問題 qi,pi1 = arg max j P (dij|qi)。
第二階段?此階段的目的是根據先前的結果找到其他相關文檔。因此,我們生成輸入為“[CLS] + question + [SEP] + document1 + [SEP] + document2 + [SEP]”,其中 document1 是第一步選擇的文檔,document2 是另一個候選文檔。我們像上一步一樣計算候選文檔的相關性分數,記為 P(d|q, p)。二元交叉熵損失計算為:
?其中 是指標函數。同樣,我們選擇此步驟中相關性得分最高的文檔并將其表示為 p2。
在兩階段檢索之后,將每個問題的選定文檔連接起來并傳遞給下面的問答模塊,作為高質量的上下文。
3.2 Question Answering Module
多任務模型 在這個階段,我們實現了一個多任務模型來提取多跳問題的答案和支持事實,如圖 2 所示。首先,我們將上下文和問題連接為一個序列,然后使用名為 ELECTRA (Clark et al., 2020) 的 PLM 來獲取輸入文本的上下文表示。隨后,我們利用交叉注意力來增強上下文和問題之間的交互,以獲得更好的上下文嵌入。最后,采用多任務學習方法,通過簡單地添加線性預測層,共同提取答案和支持句子。
首先,我們應該構建輸入序列作為 ELECTRA 的輸入(Clark et al., 2020)。考慮到“是/否”答案案例,“是”和“否”標記被添加到序列的開頭。此外,我們在上下文中的每個句子之前添加一個“[UNK]”,其上下文表示用于支持句子分類。因此,我們的輸入序列可以表述為“[CLS] + yes + no + context + [SEP] + question + [SEP]”。我們將輸入的 ELECTRA 輸出表示為 H = [h1, · · · , hL] ∈ RL×d,上下文輸出表示為 Hc = [h1, · · · , hS] ∈ RS×d,問題輸出表示為 Hq = [hS+1, · · · , hL] ∈ RT ×d ,其中 L 是輸入序列的長度,S 是上下文的長度,T = L - S 是查詢的長度,d 是ELECTRA 的隱藏向量維度。
為了提高 QA 性能,我們進一步添加了交叉注意力交互模塊,以增強上下文和查詢表示之間的交互。同時,為了在訓練過程中獲得更好的結果并使收斂更快,我們使用了兩個交叉注意力塊,一個帶有層歸一化,一個沒有層歸一化。交叉注意力計算為:
為了提取答案跨度,我們利用上下文表示上的線性預測層來識別答案的開始和結束位置。相應的損失項分別表示為 Lstart 和 Lend。至于支持事實預測,我們在每個句子之前添加的“[UNK]”的輸出上使用線性二元分類器來確定句子是否相關。支持事實的分類目標表示為 Lsf 。最后,我們共同優化上述目標為:
?兩階段閱讀器 如第 1 節所述,我們假設在多跳 QA 任務上直接微調 PLM 可能對模型來說過于困難和混亂。因此,該模型可以用單跳快捷方式回答多跳問題,即將問題與單個句子進行單詞匹配(Jiang and Bansal,2019)。因此,我們首先在單跳 QA 數據集 SQuAD(Rajpurkar 等人,2016b)上訓練我們的模型,然后將模型轉移到多跳 QA 任務。我們假設單跳 QA 任務優化的參數比隨機初始化的參數要好得多。因此,在學習單跳 QA 任務后,模型趨向于更快地收斂并獲得更高的性能。請注意,單跳和多跳階段的模型結構是相同的。
4 Experiments
4.1 Dataset
我們在 HotpotQA 的干擾器設置上評估我們的模型(Yang 等人,2018 年)。 HotpotQA 由 113k 基于維基百科和眾包的問答對組成,包括 90K 訓練示例、7.4K 開發示例和 7.4K 測試示例。
在干擾器設置中,數據集中的每個問題都提供一小組文檔,其中包含兩個支持文檔和八個不相關文檔。 HotpotQA (Yang et al., 2018) 還為每個問題提供了一個支持句子的列表,鼓勵模型解釋預測。精確匹配 (EM) 和 F1 分數用于評估兩個任務的模型,聯合 EM 和 F1 分數用于評估整體性能。我們的模型在測試集上的表現是通過在開發集上提交我們最好的模型來獲得的。由于測試集不可用,我們報告了我們在開發集上的綜合實驗的性能。
4.2 Implementation Details
我們的模型是基于 Hugging Face (Wolf et al., 2020) 的轉換器實現的,我們采用 ELECTRA 和 ALBERT 作為我們的 PLM 來獲得問題和上下文的上下文嵌入。我們的實驗都是在 2 或 3 個 NVIDIA A100 GPU 上進行的。下面列出了我們的兩階段選擇器和讀取器的實現細節。?
兩階段選擇器?我們分別用一個基本版本和一個大版本的 ELECTRA 訓練兩個文檔選擇器。由于資源限制,文檔選擇的消融僅在 ELECTRA-base 上進行。 epoch 數設置為 3,batch size 設置為 12。我們使用 BERT-Adam 進行優化,學習率為 2e-5。我們兩個不同階段的選擇器的超參數是相同的,而模型參數是不同的并且是按順序訓練的。
兩階段閱讀器 至于問答階段,我們在 ELECTRA 模型上訓練 FE2H,批量大小為 16,帶有 2 個 NVIDIA A100 GPU,學習率為 1.5e-5,預熱率為 0.1,L2 權重衰減為 0.01。此外,我們使用 ELECTRAlarge 作為這一階段的 PLM。訓練一個單一階段的閱讀器大約需要每個 epoch 2 小時,總共需要 6.5 小時。我們在 ALBERT 模型上訓練 FE2H,批量大小為 12,使用 3 個 NVIDIA A100 GPU,學習率為 1.0e-5,預熱率為 0.1,L2 權重衰減為 0.01。此外,我們使用 Albert-xxlarge-v2 作為這一階段的 PLM。訓練一個階段的閱讀器總共需要大約25個小時。
4.3 Experimental Results
HotpotQA 的結果 表 1 顯示了已發布的高級方法在干擾設置中的 HotpotQA 測試集上的性能。盡管我們的模型很簡單,但我們在 ALBERT 上的 FE2H 是排行榜上最先進的模型1。我們的模型在所有指標上都取得了最好的結果,展示了我們模型強大的多跳推理能力。在所有已發表的方法中,聯合 EM 改進為 1.28%,聯合 F1 改進為 1.07%。在包括 SAE+1 在內的所有提交的方法中,聯合 F1 改進為 0.82%。
文檔選擇 我們將我們的選擇器與三個已發表的高級作品中的一個進行比較,即 HGN、SAE 和 S2G,它們也應用精心設計的選擇器為下游讀者檢索相關文檔。我們使用 EM 和 F1 來評估文檔選擇器的性能。如表 2 所示,我們的選擇器優于這三個強基線。與之前的最佳選擇器相比,即使是我們的選擇器的基本版本也實現了具有競爭力的性能。
4.4 Ablation
兩階段選擇器消融 兩階段選擇器消融的結果如表 3 所示。為了證明兩階段選擇器的有效性,我們移除了第二階段并評估結果。結果說明,給定的輸出第一階段,無論我們選擇前 2 個文檔,還是選擇得分高于某個閾值的文檔,EM 和 F1 得分都顯著下降。請注意,SAE 和 S2G 都認為包含答案跨度的文檔(即黃金文檔)對于下游任務更重要,因此為這些文檔分配更高的分數。但是,我們假設相關文檔具有同等重要性,尤其是對于我們文檔選擇的第一階段。由于我們沒有將二元分類目標重新表述為 SAE 和 S2G 等與排名相關的目標,因此我們為黃金文檔分配更大的權重以驗證這一假設。結果表明,在第一階段重新分配相關文檔的權重后,性能顯著下降。值得指出的是,與兩階段設置相比,單階段設置的性能下降更多,表明直接引導選擇器識別黃金文檔是不可行的,因此兩個相關文檔同等重要。
QA 模型消融?由于計算資源的限制,我們只使用單階段閱讀器,即沒有在單跳 QA 數據集上訓練的閱讀器,來執行 QA 模型結構的消融,如表 4 所示。具體而言,我們研究問題和上下文之間的不同交互層對提取支持事實和答案的性能的影響。
除了交叉注意力層之外,我們還嘗試探索其他層對增強問題和上下文之間交互的影響,包括自注意力層、涂層注意力層、雙向注意力層和前饋層。這些層在實驗期間直接添加到 PLM。請注意,我們沒有交叉注意塊的 QA 模型相當于直接根據 PLM 的輸出預測結果,即基線 QA 模型,而我們的實驗表明,與基線相比,添加這些層都會導致性能下降。對于這些退化,我們的直觀解釋如下。由于前饋網絡僅將上下文嵌入作為輸入,因此禁止了問題與上下文之間的交互,這可能導致性能下降。至于 self-attention,回想一下 PLM 已經包含許多 self-attention 層,因此從頭開始學習額外的 self-attention 層可能無濟于事。此外,由于雙向注意 (Seo et al., 2017) 和共同注意 (Xiong et al., 2017) 建模的交互比自我注意和交叉注意的交互更復雜,我們認為它很難訓練具有許多預訓練自注意力層和隨機初始化的雙向注意力或共同注意力層的模型。
然而,總而言之,我們得出的結論是,盡管我們的交叉注意力塊提高了性能,但改進并不顯著,許多其他交互機制甚至會對性能產生負面影響。也就是說,無需任何額外的計算,直接微調的 PLM 就可以在下游任務上獲得有競爭力的性能。
兩階段閱讀器消融?為了證明閱讀器兩階段方式的有效性,我們使用較小的 PLM BERT 基礎(Devlin 等人,2019)和較大的 PLM ELECTRA-large(Clark 等人)進行消融研究., 2020)。結果如表 5 所示,表明兩階段方式在 BERT(Devlin 等人,2019)上比 ELECTRA 帶來了更顯著的性能提升。具體來說,僅在多跳 QA 數據集上進行訓練時,聯合 F1 下降 1.45%,聯合 EM 下降 2.04%。我們假設這是因為像 ELECTRA 這樣的大型 PLM 學習了更多的常識并獲得了更強的自然語言理解能力,因此在單跳 QA 等簡單任務上進一步微調可能幫助有限。而對于像 BERT(Devlin 等人,2019)這樣的小型 PLM,單跳 QA 數據集可以為 PLM 提供更多特定于任務的知識,并有效地彌合 PLM 和多跳 QA 任務之間的差距。因此,我們推薦使用兩階段閱讀器,尤其是在資源有限且只允許使用小型 PLM 的情況下。
隨后,我們使用單跳和多跳 QA 數據集進行實驗,但使用不同的訓練策略。如表 5 所示,當我們同時執行單跳和多跳 QA 任務時性能下降,這表明我們的兩階段閱讀器的性能提升不僅是通過使用更多標記的 QA 對帶來的,而且還帶來了由易到難的兩階段方式。請注意,僅在第一階段使用單跳數據集并在第二階段使用兩個數據集也會導致性能下降。我們假設這是因為一旦模型學會了簡單的任務,在下一步中將這兩個任務的數據集提供給它幾乎沒有用,甚至可能對訓練結果產生負面影響。
5 Conclusion
我們提出了 FE2H,這是一個簡單而有效的多跳 QA 框架,它將文檔選擇和問答分為兩個階段,遵循一種易到難的方式。實驗結果表明,由于輸入長度的限制,我們不能一次將所有候選文檔都提供給 PLM,因此在文檔選擇階段考慮多跳推理性質可以顯著提高整體性能。至于隨后的 QA 階段,由于 PLM 的強大自然語言理解能力,我們簡單的兩階段閱讀器的性能優于沒有任何圖結構和顯式推理鏈的最先進方法。我們希望這項工作可以在高級 PLM 的幫助下促進更簡單但功能強大的多跳 QA 方法。
總結
以上是生活随笔為你收集整理的论文阅读笔记----《From Easy to Hard: Two-stage Selector and Readerfor Multi-hop Question Answering》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频营销自动赚钱秘诀
- 下一篇: 小智慧81:你和谁睡在一起