薛匯泉,方建安
(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海 201620)
機(jī)器閱讀理解[1]是自然語(yǔ)言處理領(lǐng)域中一項(xiàng)重要任務(wù),在搜索引擎、智能問(wèn)答和對(duì)話系統(tǒng)等領(lǐng)域具有廣泛的應(yīng)用場(chǎng)景,是一項(xiàng)評(píng)估計(jì)算機(jī)是否真正理解自然語(yǔ)言并具備一定的邏輯推理能力的任務(wù)。按照答案形式的不同,Chen 等[2]將機(jī)器閱讀理解分為完型填空式、多項(xiàng)選擇式、跨度抽取式和自由答案形式四種任務(wù)。本文關(guān)注多項(xiàng)選擇式機(jī)器閱讀理解[3],該任務(wù)需要在給定上下文、問(wèn)題和候選答案集下,輸出正確的答案,通常需要更高級(jí)的閱讀理解技能,如邏輯推理、歸納演繹等,常用的評(píng)估指標(biāo)是準(zhǔn)確度。
目前,機(jī)器閱讀理解領(lǐng)域中主流的研究方法是預(yù)訓(xùn)練語(yǔ)言模型技術(shù)[5],如BERT[6]、Ro-BERTa[7]等預(yù)訓(xùn)練語(yǔ)言模型,其中,RoBERTa 相比于BERT,在模型參數(shù)量、訓(xùn)練資源上都有一定的增強(qiáng),更具魯棒性和高效性。然而,受限于數(shù)據(jù)樣本的不足,強(qiáng)大的預(yù)訓(xùn)練語(yǔ)言模型在需要邏輯推理能力的多項(xiàng)選擇閱讀理解數(shù)據(jù)集上的表現(xiàn)較差。因此,考慮通過(guò)豐富預(yù)訓(xùn)練語(yǔ)言模型能學(xué)習(xí)到的邏輯推理知識(shí)來(lái)增強(qiáng)模型的推理能力。選擇LogiQA[8]數(shù)據(jù)集作為目標(biāo)數(shù)據(jù)集,該數(shù)據(jù)集收集自中國(guó)國(guó)家公務(wù)員考試。相較于其他閱讀理解數(shù)據(jù)集,LogiQA 不依賴于外部知識(shí),文本短小精悍,更專注于邏輯推理。表1 是來(lái)自LogiQA 數(shù)據(jù)集的兩個(gè)典型例子,一個(gè)完整的樣本由上下文、問(wèn)題、候選答案集和正確答案組成。首先,復(fù)現(xiàn)了LogiQA 的原始論文中發(fā)布的最佳基準(zhǔn)模型,并在開(kāi)發(fā)集中進(jìn)行了細(xì)致的參數(shù)調(diào)優(yōu),也同樣實(shí)驗(yàn)了不同輸入組合下,模型在開(kāi)發(fā)集中的表現(xiàn)。接著,提出的模型經(jīng)過(guò)一個(gè)答案選擇器在多個(gè)不同粒度的域外數(shù)據(jù)集上進(jìn)行微調(diào),使用滑動(dòng)窗口方法可以解決緩解過(guò)長(zhǎng)文本輸入情況下導(dǎo)致計(jì)算機(jī)的顯存不足問(wèn)題,模型在不同窗口大小和步長(zhǎng)值的實(shí)驗(yàn)表明多次閱讀部分重疊的同一上下文的不同片段能增強(qiáng)模型的邏輯能力。最后,使用數(shù)據(jù)擴(kuò)充技術(shù),將經(jīng)過(guò)遷移學(xué)習(xí)方法微調(diào)得到的模型在目標(biāo)數(shù)據(jù)集與擴(kuò)充的數(shù)據(jù)集上進(jìn)行多任務(wù)學(xué)習(xí),最終在目標(biāo)數(shù)據(jù)集的開(kāi)發(fā)集上取得了最佳表現(xiàn)。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息
表1 LogiQA數(shù)據(jù)集中的典型例子
預(yù)訓(xùn)練技術(shù)的出現(xiàn)使得自然語(yǔ)言處理進(jìn)入了一個(gè)新的時(shí)代,語(yǔ)言模型先在大規(guī)模無(wú)監(jiān)督文本語(yǔ)料庫(kù)上進(jìn)行預(yù)訓(xùn)練再在目標(biāo)任務(wù)上微調(diào)的方法已成為自然語(yǔ)言處理領(lǐng)域中的主流方法。Dai等[9]使用預(yù)訓(xùn)練技術(shù)改進(jìn)了循環(huán)神經(jīng)網(wǎng)絡(luò)中序列學(xué)習(xí)方法,在多項(xiàng)文本分類任務(wù)中取得了不錯(cuò)的效果;Devlin 等[6]提出的BERT 模型開(kāi)創(chuàng)了預(yù)訓(xùn)練+微調(diào)方法的先河;Khashabi 等[10]構(gòu)建了一個(gè)統(tǒng)一的預(yù)訓(xùn)練自動(dòng)問(wèn)答任務(wù)框架,在四種不同格式的問(wèn)答任務(wù)下多個(gè)數(shù)據(jù)集上表現(xiàn)良好?;陬A(yù)訓(xùn)練語(yǔ)言模型BERT[6]和RoBERTa[7]重新實(shí)現(xiàn)了LogiQA[8]原論文中發(fā)布的基準(zhǔn)模型以及最佳表現(xiàn),并進(jìn)行細(xì)致的超參數(shù)調(diào)優(yōu);提出了一個(gè)基于Ro-BERTa 語(yǔ)言模型的推理閱讀理解模型,該模型能在一定精度下自動(dòng)輸出一批給定的邏輯推理問(wèn)題的答案。
遷移學(xué)習(xí)是指將一個(gè)或多個(gè)任務(wù)上學(xué)習(xí)到的知識(shí)或模式應(yīng)用到某個(gè)與之相關(guān)的領(lǐng)域中,從而加快模型的訓(xùn)練效率。關(guān)于遷移學(xué)習(xí)方法的研究最早可追溯到2014 年,Yosinski 等[11]研究了神經(jīng)網(wǎng)絡(luò)中的各層特征與權(quán)重參數(shù)的可遷移性。Min等[12]通過(guò)實(shí)驗(yàn)證明了遷移學(xué)習(xí)方法有助于提升語(yǔ)言模型在問(wèn)答數(shù)據(jù)集上的表現(xiàn)。多任務(wù)學(xué)習(xí)則是要求模型將相互關(guān)聯(lián)的多個(gè)任務(wù)同時(shí)學(xué)好,達(dá)到舉一反三的效果。Argyriou 等[13]發(fā)布的跨多任務(wù)共享學(xué)習(xí)方法上的實(shí)驗(yàn)結(jié)果表明當(dāng)任務(wù)相關(guān)時(shí),多任務(wù)學(xué)習(xí)相較于單任務(wù)學(xué)習(xí)能顯著提升模型的表現(xiàn)。復(fù)現(xiàn)了LogiQA 原始數(shù)據(jù)集中提出的遷移學(xué)習(xí)方法,通過(guò)設(shè)置不同的隨機(jī)種子,提出的模型在四個(gè)具有代表性的多項(xiàng)選擇式閱讀理解數(shù)據(jù)集上進(jìn)行充分的預(yù)訓(xùn)練,收斂后的遷移學(xué)習(xí)模型再在源數(shù)據(jù)集和目標(biāo)數(shù)據(jù)集上進(jìn)行多任務(wù)學(xué)習(xí)。
大規(guī)模閱讀理解數(shù)據(jù)集的發(fā)布在極大程度上推動(dòng)了機(jī)器閱讀理解模型的不斷建立,促進(jìn)了機(jī)器閱讀理解領(lǐng)域的進(jìn)步。多項(xiàng)選擇式閱讀理解任務(wù)受到人類語(yǔ)言能力考試的啟發(fā)而發(fā)布。MCTest數(shù)據(jù)集[14]和MCScript 數(shù)據(jù)集[15]以兒童故事書為藍(lán)本,包含了大量需要使用常識(shí)知識(shí)進(jìn)行推理的問(wèn)題;OpenBookQA 數(shù)據(jù)集[16]探索了計(jì)算機(jī)對(duì)某一主題的深入理解;Race[17]數(shù)據(jù)收集了中國(guó)中學(xué)生英語(yǔ)考試的相關(guān)內(nèi)容。然而,上述數(shù)據(jù)集都或多或少地依賴于外部知識(shí)和簡(jiǎn)單的詞匯匹配。Reclor[18]數(shù)據(jù)集的來(lái)源是研究生入學(xué)考試,且專注于邏輯推理問(wèn)題,在許多方面都與LogiQA 很相似。選擇MCTest、MCScript、OpenBookQA、Race作為域外數(shù)據(jù)集參與到模型第一階段的訓(xùn)練過(guò)程,在此過(guò)程中,模型習(xí)得的知識(shí)能在一定程度上能提升模型的泛化能力。將LogiQA 數(shù)據(jù)集作為目標(biāo)數(shù)據(jù)集,Reclor 數(shù)據(jù)集作為源數(shù)據(jù)集,與LogiQA 數(shù)據(jù)集共同參與到模型第二階段的多任務(wù)學(xué)習(xí)過(guò)程,以豐富模型所能獲取到的邏輯推理知識(shí)和經(jīng)驗(yàn)。
給定上下文C、問(wèn)題Q以及候選答案集A={A1,A2,…,An},n為候選答案的個(gè)數(shù),Ai∈A,表示第i個(gè)候選答案項(xiàng),多項(xiàng)選擇式閱讀理解的任務(wù)旨在從候選答案集A中選擇出正確選項(xiàng)Ai。該任務(wù)要學(xué)習(xí)的函數(shù)或模型為F,見(jiàn)公式(1)。
基于RoBERTa 預(yù)訓(xùn)練語(yǔ)言模型,提出的推理閱讀理解模型架構(gòu)如圖1 所示,主要由輸入層、嵌入層、編碼層、分類層以及答案選擇層組成。模型將給定一組樣本輸入下編碼層得到的高維特征向量與分類層輸出的答案向量進(jìn)行殘差連接[19]以解決訓(xùn)練過(guò)程中出現(xiàn)的梯度消失和梯度爆炸問(wèn)題;模擬人類在做邏輯推理類題目時(shí)會(huì)在做出初步推理判斷后再次比對(duì)候選答案,以給出最終的答案選擇的過(guò)程,模型在答案選擇層中融合了候選答案輸入下的編碼信息與經(jīng)過(guò)分類層輸出的答案信息;使用滑動(dòng)窗口方法,設(shè)置不同的窗口大小和步長(zhǎng)值,將目標(biāo)數(shù)據(jù)集中所有樣本的上下文切分成部分重疊的長(zhǎng)度相同的不同段,與問(wèn)題和候選答案一起送入到模型的輸入層當(dāng)中,以解決模型不能吸收完整的樣本內(nèi)容導(dǎo)致答案預(yù)測(cè)效果不佳的問(wèn)題。
(1)輸入層。模型的輸入層通過(guò)組織樣本的表達(dá)形式以滿足模型的輸入要求。記給定上下文分詞后的單詞序列為C(c1,c2,…,cn),n為上下文長(zhǎng)度; 給定問(wèn)題分詞后的單詞序列為Q(q1,q2,…,qm),m為問(wèn)題長(zhǎng)度;給定候選答案集A(Ai∈A)中第i個(gè)答案項(xiàng)分詞后的單詞序列為Ai=(ai1,ai2,…,aik),長(zhǎng)度為k。分別使用和 作為輸入的起始標(biāo)志和分割標(biāo)志或結(jié)束標(biāo)志。給定數(shù)據(jù)集中的任一樣本,模型的輸入層包含兩個(gè)獨(dú)立的模塊。如式(2)所示,模塊一將樣本中的部分上下文、問(wèn)題和一個(gè)候選答案連接成一個(gè)長(zhǎng)句子T1,通過(guò)和標(biāo)志分隔開(kāi)來(lái),其中,部分上下文取自樣本中上下文經(jīng)過(guò)滑動(dòng)窗口方法得到的不同塊。模塊二的輸入則僅包含候選答案信息,兩端添加起始標(biāo)志和結(jié)束標(biāo)志,見(jiàn)式(3)。
(2)嵌入層。嵌入層的作用是將自然語(yǔ)言轉(zhuǎn)換為模型可以理解的詞嵌入向量以便進(jìn)行后續(xù)的編碼,使用RoBERTa 語(yǔ)言模型中的分詞器將輸入層中的每一個(gè)單詞都映射到一個(gè)高維空間當(dāng)中,以獲得該單詞唯一的向量表示。圖2 展示了輸入層文本T1經(jīng)由嵌入層得到的最終特征向量EA={E1,E2,…,EL}。其中,EA∈RL×d,L表示向量的長(zhǎng)度,該向量由對(duì)應(yīng)的詞嵌入向量、句子嵌入向量以及位置嵌入向量的級(jí)聯(lián)組成。同理可得輸入層文本T2經(jīng)由嵌入層得到的最終特征向量EB。
圖2 T1輸入下嵌入層的最終向量表示
(3)編碼層。編碼層利用RoBERTa-large 模型中的Transformer 結(jié)構(gòu)[20],對(duì)經(jīng)嵌入層得到的嵌入向量E={}E1,E2,…,EL進(jìn)行深層次編碼,且只使用該Transformer 結(jié)構(gòu)的編碼器模塊。該編碼器模塊由N個(gè)相同的編碼器組成,每個(gè)編碼器都由一個(gè)多頭自注意力機(jī)制和一個(gè)全連接前向反饋神經(jīng)網(wǎng)絡(luò)組成,除最后一個(gè)編碼器外,每個(gè)編碼器的輸出作為下一個(gè)編碼器的輸入。RoBERTalarge模型共有24層Transformer編碼器,每個(gè)編碼器輸出對(duì)應(yīng)著嵌入層輸入向量的不同特征表達(dá),且各個(gè)編碼器的周圍都有一個(gè)“殘差連接”[19]以及一個(gè)“層歸一化”機(jī)制[21]。如式(4)和式(5),將各個(gè)編碼器輸出向量的加權(quán)求和作為編碼層的輸出。其中,En∈Rd為編碼層的最終輸出,El∈Rd(l= 2,3,…,N)為每個(gè)編碼器的輸出向量,E1為第一個(gè)編碼器的初始輸入向量,該輸入向量來(lái)自于嵌入層的輸出。d表示向量的維度大小,l為當(dāng)前編碼器的序號(hào),N為編碼器的數(shù)量,Wl∈Rd為當(dāng)前編碼器的權(quán)重參數(shù)。RELU 表示激活函數(shù),計(jì)算公式見(jiàn)式(6)。LayerNorm[21]和Multihead[5]分別表示“層歸一化”和“多頭自注意力機(jī)制”。
(5)答案選擇層。如公式(8),答案選擇層將分類層輸出的答案概率向量與編碼層的輸出向量進(jìn)行殘差連接,再經(jīng)過(guò)Softmax“歸一化”函數(shù)后輸出給定樣本的正確答案Answer。W1和W2是權(quán)重參數(shù),W1,W2∈Rd+1,d表示向量的維度,“⊕”表示殘差連接。模型訓(xùn)練時(shí)的損失函數(shù)如式(9),N表示候選答案集的大小,模型的訓(xùn)練目標(biāo)就是最小化損失函數(shù)Loss的值。
提出的模型首先在MCTest、MCScript、Open-BookQA 和Race 上進(jìn)行充分的微調(diào),再在目標(biāo)數(shù)據(jù)集LogiQA 和源數(shù)據(jù)集Reclor 上進(jìn)行多任務(wù)學(xué)習(xí)。數(shù)據(jù)集的統(tǒng)計(jì)信息見(jiàn)表2,由于OpenBookQA數(shù)據(jù)集只有問(wèn)題和候選答案項(xiàng),故該數(shù)據(jù)集下的平均上下文長(zhǎng)度置空。LogiQA 數(shù)據(jù)集共包含8678個(gè)問(wèn)題。
模型的表現(xiàn)使用準(zhǔn)確度作為評(píng)估指標(biāo),計(jì)算公式見(jiàn)公式(9),N+和N分別表示模型預(yù)測(cè)正確的題目數(shù)量和總的題目數(shù)量。
模型訓(xùn)練時(shí),先固定好一個(gè)隨機(jī)種子,再對(duì)多種不同的超參數(shù)組合進(jìn)行了多次實(shí)驗(yàn),并記錄下在目標(biāo)數(shù)據(jù)集的開(kāi)發(fā)集上的表現(xiàn),最佳表現(xiàn)對(duì)應(yīng)的超參數(shù)組合見(jiàn)表3,其中,max_grad_norm 用來(lái)約束參數(shù)的梯度值,防止訓(xùn)練過(guò)程中出現(xiàn)梯度爆炸問(wèn)題。max_input_size 規(guī)定了模型所能接收的最大輸入文本長(zhǎng)度,超過(guò)該長(zhǎng)度的文本內(nèi)容會(huì)被截?cái)唷J褂玫膶?shí)驗(yàn)平臺(tái)是Windows 10 家庭中文版,處理器型號(hào)為Intel(R)Core(TM)i7-9700K CPU @ 3.60 GHz 3.60 GHz,顯卡為NVIDIA Ge-Force RTX 3060,顯存容量為12 GB,深度學(xué)習(xí)框架選擇Pytorch 1.8。
表3 超參數(shù)設(shè)置
基于BERT 和RoBERTa 預(yù)訓(xùn)練語(yǔ)言模型重新實(shí)現(xiàn)了LogiQA 數(shù)據(jù)集原始論文中使用的預(yù)訓(xùn)練方法。實(shí)驗(yàn)結(jié)果如表4 所示,表頭中的開(kāi)發(fā)集上的準(zhǔn)確度選項(xiàng)計(jì)算公式見(jiàn)公式(9)。經(jīng)過(guò)細(xì)致的參數(shù)調(diào)優(yōu),重新實(shí)現(xiàn)的方法相比于原論文發(fā)布的基于預(yù)訓(xùn)練技術(shù)的最佳表現(xiàn),在目標(biāo)數(shù)據(jù)集LogiQA的開(kāi)發(fā)集上的準(zhǔn)確度分別提高了約4%和5%,且RoBERTa 模型相比于BERT 模型在開(kāi)發(fā)集上的推理效果更佳,準(zhǔn)確度達(dá)到了40%,后續(xù)的實(shí)驗(yàn)均基于RoBERTa模型。
表4 LogiQA原論文發(fā)布的最佳表現(xiàn)與本文復(fù)現(xiàn)后的表現(xiàn)
受限于機(jī)器顯存容量的不足,模型可接受最大輸入文本長(zhǎng)度是288,考慮使用滑動(dòng)窗口方法,通過(guò)選取不同的窗口大小值和步長(zhǎng)值,對(duì)所有樣本中的上下文切分成同一長(zhǎng)度的不同文本段,以提升模型在目標(biāo)任務(wù)上的推理效果?;赗o-BERTa 模型實(shí)驗(yàn)了不同輸入組合下,模型在目標(biāo)數(shù)據(jù)集的開(kāi)發(fā)集中的表現(xiàn),并單獨(dú)實(shí)驗(yàn)了在給定上下文、問(wèn)題以及候選答案集下,不同窗口大小和步長(zhǎng)值對(duì)模型表現(xiàn)的提升效果,實(shí)驗(yàn)結(jié)果見(jiàn)表5。結(jié)果表明目標(biāo)數(shù)據(jù)集中上下文、問(wèn)題以及候選答案項(xiàng)三者之間的邏輯交互與內(nèi)在聯(lián)系是真實(shí)存在且至關(guān)重要的。后續(xù)的實(shí)驗(yàn)將固定滑動(dòng)窗口大小和步長(zhǎng)值為288和50。
表5 不同輸入組合和窗口大小下,RoBERTa模型的表現(xiàn)
在復(fù)現(xiàn)了目標(biāo)數(shù)據(jù)集原論文中使用的預(yù)訓(xùn)練方法的基礎(chǔ)上,提出的模型在目標(biāo)任務(wù)上的分解消融實(shí)驗(yàn)見(jiàn)表6。
表6 模型的在目標(biāo)數(shù)據(jù)集上的最終表現(xiàn)與分解消融實(shí)驗(yàn)
表格的最后兩行取自原論文中發(fā)布的遷移學(xué)習(xí)方法的結(jié)果,RoBERTaRACE——>LogiQA和Ro-BERTaCOSMOS——>LogiQA分別表示將模型先在Race 數(shù)據(jù)集或者COSMOS 數(shù)據(jù)集[22]上進(jìn)行訓(xùn)練,再在目標(biāo)數(shù)據(jù)集上微調(diào),而COSMOS 是基于常識(shí)推理的多項(xiàng)選擇式閱讀理解數(shù)據(jù)集。段落選擇層對(duì)于模型的最終表現(xiàn)提升最大,提高了約7%左右,這說(shuō)明引入的問(wèn)題編碼信息有利于模型的最終推理;使用Reclor 作為源數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集LogiQA 進(jìn)行多任務(wù)學(xué)習(xí)的方法的效果略高于遷移學(xué)習(xí)方法,達(dá)到了44.74%的準(zhǔn)確度。最終模型在目標(biāo)數(shù)據(jù)集的開(kāi)發(fā)集上的最佳表現(xiàn)達(dá)到了56.38%的準(zhǔn)確度,相比于原論文中發(fā)布的最佳表現(xiàn)提升了約54.72%,證明了方法的有效性。
針對(duì)當(dāng)前最新的機(jī)器閱讀理解模型在推理閱讀理解數(shù)據(jù)集上普遍表現(xiàn)不佳的問(wèn)題,在預(yù)訓(xùn)練語(yǔ)言模型的基礎(chǔ)上,提出了基于遷移學(xué)習(xí)和預(yù)訓(xùn)練技術(shù)的推理閱讀理解模型,使用滑動(dòng)窗口方法解決了模型無(wú)法一次性吸收過(guò)長(zhǎng)的輸入文本的問(wèn)題,段落選擇器可以幫助模型在進(jìn)行答案選擇時(shí)做出正確的邏輯判斷。模型在需要邏輯推理能力的閱讀理解數(shù)據(jù)集LogiQA 上取得了當(dāng)前的最佳效果,這表明模型具備了一定的邏輯推理能力。未來(lái)的研究工作將進(jìn)一步考慮在模型內(nèi)部研究上下文、問(wèn)題與答案項(xiàng)之間的邏輯交互,并將交互信息編碼進(jìn)模型的段落選擇層中,進(jìn)一步提升模型的邏輯推理能力。