施峰 周坤曉
(1. 東莞理工學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,廣東東莞 523808;2. 東莞理工學(xué)院 網(wǎng)絡(luò)空間安全學(xué)院,廣東東莞 523808)
隨著社會(huì)的發(fā)展,越來越龐大的文本數(shù)據(jù),人們?yōu)榱双@取需要的知識(shí)需要查閱大量資料,并需對(duì)資料進(jìn)行閱讀與思考理解后才能獲得自己想要的答案。閱讀與檢索信息人們需要花費(fèi)大量時(shí)間,以獲得自己需要的關(guān)鍵信息解決自己的疑問。隨著人工智能技術(shù)的發(fā)展,使用人工智能的技術(shù)手段來解決問題的領(lǐng)域越來越多。若一種高效的機(jī)器閱讀理解模型,則可以代替人工對(duì)檢索到的文本進(jìn)行閱讀理解,以回答針對(duì)文本信息的疑問,該模型與檢索算法結(jié)合后即可完成對(duì)開放領(lǐng)域自由句式問題的回答的實(shí)現(xiàn)對(duì)現(xiàn)實(shí)生活有著重要意義。
20世紀(jì)中期,人們就嘗試讓機(jī)器可以像人類一樣回答他人給出的各種問題,典型的代表系統(tǒng)有BASEBALL、LUNAR和ELIZA[1]。但當(dāng)時(shí)機(jī)器可以回答的問題十分有限,只能回答一些固定領(lǐng)域的固定問題。為提升機(jī)器的問題回答能力,越來越多的研究者們開始考慮提升機(jī)器的閱讀理解能力,讓機(jī)器像人類一樣擁有學(xué)習(xí)能力,通過大量閱讀與學(xué)習(xí)知識(shí)后應(yīng)對(duì)開放領(lǐng)域的各種問題。如果實(shí)現(xiàn)機(jī)器閱讀理解模型,將其與檢索算法相結(jié)合便可應(yīng)對(duì)開放領(lǐng)域的各種自由句式問題。
為研究與實(shí)現(xiàn)機(jī)器閱讀理解模型,誕生了許多經(jīng)典的數(shù)據(jù)集,這些數(shù)據(jù)集催生了許多優(yōu)秀閱讀理解模型。2013年MCTest[2]數(shù)據(jù)集的誕生,使研究者們開始嘗試實(shí)現(xiàn)高水平機(jī)器閱讀理解,該數(shù)據(jù)集包含500篇虛構(gòu)的故事以及相關(guān)的2 000個(gè)問題,機(jī)器可以依據(jù)故事來回答問題,并從多個(gè)選項(xiàng)中選擇正確的答案,但此時(shí)大量的方法均為對(duì)數(shù)據(jù)進(jìn)行滑動(dòng)匹配,如滑動(dòng)窗口的方法僅適用于一些簡(jiǎn)單的問答,即便是更為優(yōu)秀的Parallel-Hierarchical模型[3],對(duì)于復(fù)雜的問答也效果欠佳。
2015年,Hermann等在發(fā)布了CNN/Dailymail數(shù)據(jù)集[4],該數(shù)據(jù)集的數(shù)據(jù)包含近一百萬條的新聞數(shù)據(jù),答案為文中的某個(gè)詞,需要機(jī)器對(duì)文本進(jìn)行閱讀理解后完成完形填空。此后,越來越多的研究者開始使用神經(jīng)網(wǎng)絡(luò)的方法來實(shí)現(xiàn)機(jī)器閱讀理解,搭建的神經(jīng)網(wǎng)絡(luò)模型逐漸顯露出優(yōu)勢(shì)。
SQuAD數(shù)據(jù)集發(fā)布后,吸引了大量學(xué)者展開研究,此數(shù)據(jù)集有著龐大的數(shù)據(jù)量,共計(jì)有500多篇文章中的十萬多個(gè)問答配對(duì)數(shù)據(jù),同時(shí)Rajpurkar等人也為它提出了一種基于logistic回歸的基線方法[5]。該數(shù)據(jù)集適合使用端到端的深度學(xué)習(xí)模型來訓(xùn)練,近幾年的研究多是基于該方法,同時(shí)也產(chǎn)生了許多優(yōu)秀模型,較為著名的模型有:R-net[6]、Match-LSTM[7]、BiDAF[8]、DrQA[9]。
Chen[9]所提出的DrQA模型是以循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)和其變體為基礎(chǔ),與注意力機(jī)制結(jié)合后對(duì)網(wǎng)絡(luò)進(jìn)行合理設(shè)計(jì),實(shí)現(xiàn)高效的機(jī)器閱讀理解模型。但該模型的RNN版本存在有梯度消失與梯度爆炸的問題,致使準(zhǔn)確度較低。筆者將對(duì)RNN版本模型進(jìn)行優(yōu)化,嘗試采用Siren函數(shù)優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),以比RNN相關(guān)變體網(wǎng)絡(luò)更簡(jiǎn)單的結(jié)構(gòu)來緩解RNN模型梯度消失與梯度爆炸問題,以期提升模型回答問題的準(zhǔn)確度。
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)即前饋神經(jīng)網(wǎng)絡(luò),在處理數(shù)據(jù)時(shí)會(huì)經(jīng)過一層層神經(jīng)元,最后得到輸出。此網(wǎng)絡(luò)中,同層的各個(gè)神經(jīng)元間相互獨(dú)立,沒有關(guān)聯(lián),因此對(duì)任務(wù)中的數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)會(huì)相互獨(dú)立地進(jìn)行處理。而對(duì)一些如文本信息的序列性數(shù)據(jù),上下文間的關(guān)系有助于機(jī)器的閱讀理解。如果僅單純獨(dú)立處理各數(shù)據(jù),而不考慮數(shù)據(jù)間的關(guān)聯(lián)及數(shù)據(jù)的整體性,將會(huì)大大削弱機(jī)器對(duì)文本的處理能力和理解能力。而對(duì)學(xué)習(xí)序列的非線性特征有著獨(dú)特優(yōu)勢(shì)的循環(huán)神經(jīng)網(wǎng)絡(luò)的出現(xiàn)解決此問題。
1986年和 1990年,Jordan和Elman分別提出了循環(huán)神經(jīng)網(wǎng)絡(luò)框架,稱為簡(jiǎn)單循環(huán)網(wǎng)絡(luò),被認(rèn)為是目前廣泛流行的RNN的基礎(chǔ)版本[10]。他們的大致結(jié)構(gòu)如圖1,可以按照時(shí)間線來展開。RNN也被稱為遞歸神經(jīng)網(wǎng)絡(luò),是依據(jù)時(shí)間序列進(jìn)行自我調(diào)用的特殊神經(jīng)網(wǎng)絡(luò)[11]。在RNN網(wǎng)絡(luò)中,當(dāng)前時(shí)刻的輸出可以作為下一時(shí)刻的輸入,因此當(dāng)前時(shí)刻的輸出受到了前面多個(gè)時(shí)刻的輸出影響,甚至有些情況下還會(huì)受到后面輸出的影響。這就使神經(jīng)網(wǎng)絡(luò)可以充分地考慮數(shù)據(jù)的整體性和全局性,將它應(yīng)用于文字處理中則表現(xiàn)為神經(jīng)網(wǎng)絡(luò)會(huì)充分考慮上下文信息,這有助于機(jī)器更好地進(jìn)行閱讀理解。
圖1 RNN網(wǎng)絡(luò)
基于此,Mikolov等[12-13]將其應(yīng)用在語(yǔ)言模型的訓(xùn)練上,可以通過隱含層的循環(huán)獲得更多的上下文信息,降低模型的參數(shù)個(gè)數(shù)[14]。
RNN網(wǎng)絡(luò)具有很多優(yōu)點(diǎn),但在訓(xùn)練過程中也會(huì)遇到各種問題。如它可以使用的歷史信息很有限,新輸入的信息會(huì)覆蓋隱藏層的輸入,使距離當(dāng)前時(shí)間較早的輸入信息隨篇幅的擴(kuò)展而對(duì)權(quán)重的影響減小[15]。特別是在網(wǎng)絡(luò)深度不斷加深后,使RNN不能很好地處理長(zhǎng)距離的依賴[16],產(chǎn)生梯度消失與梯度爆炸問題,梯度在長(zhǎng)距離傳遞中會(huì)快速增大或是快速減小,使得梯度的傳遞效果很差,網(wǎng)絡(luò)的穩(wěn)定性也大打折扣。這反映了在文本信息處理中,模型對(duì)早期接收到的文本,經(jīng)過一段時(shí)間的處理后,對(duì)它是否是答案的判斷將會(huì)偏向兩個(gè)極端,要么一定考慮它,要么完全不考慮,又或是在與其他詞的競(jìng)爭(zhēng)中完全獲勝或完全失敗。該問題大大影響了模型的閱讀理解與問題回答能力。
考慮到早期RNN會(huì)產(chǎn)生梯度消失與梯度爆炸問題,Hochreiter等對(duì)RNN進(jìn)行改進(jìn)后提出了長(zhǎng)短期記憶(Long Short Time Memory, LSTM)神經(jīng)網(wǎng)絡(luò)[17],該網(wǎng)絡(luò)通過輸入門、輸出門、遺忘門,可以很好地控制序列中的信息,補(bǔ)足了RNN所存在的一些短板,但結(jié)構(gòu)較為復(fù)雜。類似的變體還有門控循環(huán)單元(Gated Recurrent Unit, GRU)網(wǎng)絡(luò),該網(wǎng)絡(luò)也是采用門控機(jī)制解決相關(guān)問題,簡(jiǎn)化了LSTM網(wǎng)絡(luò)的復(fù)雜結(jié)構(gòu),將原有的三個(gè)門結(jié)構(gòu)簡(jiǎn)化為兩個(gè)門:重置門與更新門。但在實(shí)際搭建模型時(shí),選取哪個(gè)模型更優(yōu)尚無定論,二者均無絕對(duì)的優(yōu)勢(shì),且這兩種網(wǎng)絡(luò)的結(jié)構(gòu)依然復(fù)雜,在模型的訓(xùn)練上也無優(yōu)勢(shì)。
基于文獻(xiàn)[18],筆者成功地將Siren激活函數(shù)與注意力機(jī)制結(jié)合,采用更簡(jiǎn)單的結(jié)構(gòu)緩解RNN模型的梯度消失或梯度爆炸問題,提升模型的精度。Siren函數(shù)最早由Vincent Sitzmann提出并應(yīng)用在圖像處理領(lǐng)域[18],隨后被應(yīng)用于其他領(lǐng)域,如在文獻(xiàn)[19]中的音頻處理領(lǐng)域,也顯現(xiàn)出了獨(dú)特的優(yōu)勢(shì)。考慮到該函數(shù)可以快速地將神經(jīng)網(wǎng)絡(luò)的初步輸出收斂至區(qū)間[-1,1],計(jì)算簡(jiǎn)便快速,且擁有可導(dǎo)不變性,筆者嘗試將該函數(shù)初次用于文本信息的處理。
采用的方法是對(duì)于RNN網(wǎng)絡(luò)的輸出,將其通過Siren函數(shù)層進(jìn)行處理后,再通過Softmax分類器與全連接層,輸出問題所需答案。Siren函數(shù)在經(jīng)過合理的初始化后,能夠很好地處理RNN網(wǎng)絡(luò)的輸出,平衡各元素之間的權(quán)重。經(jīng)過多組對(duì)比實(shí)驗(yàn),結(jié)果充分證明了方法的有效性和函數(shù)的優(yōu)越性。
現(xiàn)有的機(jī)器閱讀理解模型在回答問題時(shí)與人類進(jìn)行閱讀理解類似,而機(jī)器無法模仿人類在學(xué)習(xí)和成長(zhǎng)過程中積累更多的外部知識(shí)。人類在閱讀理解的同時(shí),可以運(yùn)用這些積累的外部知識(shí)來幫助自己理解與回答問題,但機(jī)器無法做到,為了降低難度,機(jī)器所使用的數(shù)據(jù)集是排除了外部知識(shí)的,即需要回答的問題答案均在原文中。因此,模型對(duì)于問題的回答是采用文中的幾個(gè)單詞或一句話來回答,具體做法是返回每個(gè)單詞作為答案的開頭和結(jié)尾的概率,選取概率最高的單詞作為答案的開頭和結(jié)尾。此后,輸出開頭與結(jié)尾之間的所有單詞即為模型所認(rèn)為的答案。
使用的模型是對(duì)RNN版本改進(jìn)的DrQA模型,該模型由Chen[9]所提出,其結(jié)構(gòu)如圖2。模型與大多數(shù)同類模型有著相似的結(jié)構(gòu),主要分四層:Embed層、Encode層、Interaction層和Answer層。
Embed層:先采用Spacy工具包對(duì)源數(shù)據(jù)進(jìn)行預(yù)處理,將數(shù)據(jù)處理成相應(yīng)格式,做好分詞加上標(biāo)簽,提取出一些簡(jiǎn)單特征,等等。再使用預(yù)訓(xùn)練好的詞向量(如Glove與Word2vec)來表示文章與問題中的單詞,即Embedding過程。同時(shí)也增加一些初步特征,如詞性、命名體識(shí)別等。文章與問題處理后的數(shù)據(jù)均為矩陣,大小是Batchsize×Textsize×300,其中300取決于使用的詞向量。
Encode層:文件與問題進(jìn)行Embedding后,再對(duì)問題采用注意力機(jī)制進(jìn)行初步特征提取,其特征主要為初步計(jì)算文章中詞句與問題的相關(guān)性,它與文件數(shù)據(jù)、提取的初步特征一起進(jìn)入循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行進(jìn)一步的特征提取。與此同時(shí),問題數(shù)據(jù)在Embedding后也進(jìn)入循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取。由于循環(huán)神經(jīng)網(wǎng)絡(luò)的特性,在獲取當(dāng)前時(shí)刻向量時(shí)充分考慮到了上下文信息。在該層中,循環(huán)神經(jīng)網(wǎng)絡(luò)層數(shù)設(shè)定為3層,每層神經(jīng)元數(shù)量為128,經(jīng)過神經(jīng)網(wǎng)絡(luò)后的輸出大小為Batchsize×Textsize×762。
Interaction層:該層主要任務(wù)是嘗試挖掘更深層次的信息。經(jīng)循環(huán)神經(jīng)網(wǎng)絡(luò)的處理后,給問題提取的特征中加入自注意力機(jī)制,目的是從問題自身的角度來提取問題中的重點(diǎn)信息并重新分配權(quán)重。該特征是一個(gè)Batchsize×Textsize大小的二維矩陣,與原來表示問題的矩陣進(jìn)入池化層合并后大小為Batchsize×762。合并后的新問題矩陣將與表示文章信息的矩陣同時(shí)進(jìn)入一個(gè)雙向注意力層,以此來探究文章與問題間的深層次信息。此時(shí)文章矩陣與問題矩陣將會(huì)變?yōu)閮蓚€(gè)矩陣,一個(gè)是文章中所有詞作為答案開頭的可能性,一個(gè)是所有詞作為答案結(jié)尾的可能性,它們均為Batchsize×252大小的二維矩陣。
圖2 模型結(jié)構(gòu)
Answer層:該層將綜合前面的輸出,給出模型所認(rèn)為的答案。該層主要由Softmax層構(gòu)成,Softmax層即Softmax分類器,常用于多分類任務(wù),原理較為簡(jiǎn)單,是一個(gè)概率計(jì)算的過程[20]。Softmax函數(shù)定義如下(其中為第i個(gè)節(jié)點(diǎn)的輸出值,C為輸出節(jié)點(diǎn)的個(gè)數(shù)):
(1)
該函數(shù)可以將多分類的輸出值轉(zhuǎn)換為范圍在[0, 1]和為1的概率分布,具有分類種類多、應(yīng)用簡(jiǎn)單、準(zhǔn)確率高、好訓(xùn)練等優(yōu)點(diǎn)[21]。因此只需要輸出概率最高的開頭單詞與概率最高的結(jié)尾單詞之間的所有單詞,即為模型所認(rèn)為的問題答案。
由于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)存在的梯度消失與梯度爆炸問題,過長(zhǎng)的序列往往會(huì)影響模型的判斷。模型常常會(huì)在一開始給比較重要的詞過高的權(quán)重,而忽視了其他詞的可能性,起初可能性較低的詞隨著訓(xùn)練時(shí)間的增加而降低。這會(huì)導(dǎo)致一些詞被模型過早地視為正確答案,而另外一些詞隨著時(shí)間的累積,難以被模型考慮到,或被考慮到的可能性極低。因此筆者對(duì)于該模型的改進(jìn)是在雙向注意力層之前再加一個(gè)Siren函數(shù)層,即在Interaction層中做了改進(jìn),以嘗試解決相關(guān)問題,結(jié)構(gòu)如圖3。
圖3 改進(jìn)后的框架圖
該方法目的是用Siren函數(shù)對(duì)RNN網(wǎng)絡(luò)的輸出進(jìn)行進(jìn)一步處理,平衡各個(gè)詞之間的權(quán)重后再交給模型判斷,即縮小高概率詞與低概率詞之間的差異。采用此方法可以讓模型考慮更多的詞后再做決定,即使是權(quán)重很低的詞也會(huì)被考慮到,由此增加模型的準(zhǔn)確度。
Siren函數(shù)是一種正弦激活函數(shù),具有周期性和可導(dǎo)不變性,可以快速地將神經(jīng)網(wǎng)絡(luò)的初步輸出收斂至區(qū)間[-1,1]。利用此類特性,可以快速平衡RNN網(wǎng)絡(luò)輸出的各詞權(quán)重。該激活函數(shù)的參數(shù)為ω,在對(duì)比實(shí)驗(yàn)中采用多個(gè)ω值進(jìn)行實(shí)驗(yàn),以求最佳效果。激活函數(shù)公式如式(2):
vi=sin(ωxi+b),
(2)
前提是要對(duì)Siren函數(shù)進(jìn)行合適的初始化,選取合適的ω,否則該函數(shù)將無法起到正面效果,甚至可能會(huì)產(chǎn)生負(fù)面影響。在進(jìn)行合適的初始化后,函數(shù)可以將較高的權(quán)重進(jìn)行一定程度的縮小,而較低的權(quán)重進(jìn)行小幅度縮小,以此達(dá)到平衡各個(gè)詞之間差異的效果。
由于Siren函數(shù)里參數(shù)ω的初始化對(duì)于數(shù)據(jù)的處理效果有著很大的影響,所以對(duì)于不同的數(shù)據(jù),需要選取合適的參數(shù)ω,否則Siren函數(shù)將起不到該有的作用??紤]其他常用的激活函數(shù)后,理論上Tanh激活函數(shù)也可以將數(shù)據(jù)收斂至固定區(qū)間,但經(jīng)過對(duì)比實(shí)驗(yàn)發(fā)現(xiàn),其收斂效果與速度均不如Siren函數(shù)。Tanh激活函數(shù)公式如式(3):
.
(3)
Relu函數(shù)作為神經(jīng)網(wǎng)絡(luò)中常用的激活函數(shù),可以直接過濾掉所有負(fù)值,實(shí)驗(yàn)中表現(xiàn)為可以小幅提升模型準(zhǔn)確度,但依然效果不佳。Relu激活函數(shù)公式如式(4):
relu (x)=max(0,x)
.
(4)
本文數(shù)據(jù)集采用SQuAD英文問答數(shù)據(jù)集,該數(shù)據(jù)集是一組閱讀數(shù)據(jù)集,基于英文維基百科中網(wǎng)絡(luò)群眾提出的各種問題,每個(gè)問題均可在文中找到答案。它具有龐大的數(shù)據(jù)量,共計(jì)有500多篇文章中的十萬多個(gè)問答配對(duì)數(shù)據(jù),該數(shù)據(jù)集的貢獻(xiàn)者為斯坦福Percy Liang等人[4]。
使用Pytorch框架,編程環(huán)境為Python3.6,Spacy版本為1.9,硬件環(huán)境為英偉達(dá)(NVIDA)1080Ti顯卡,CPU為Intel E5-2603 v4。模型訓(xùn)練中,隱藏層中神經(jīng)元數(shù)量設(shè)置為128,優(yōu)化器采用Adamax,BatchSize大小設(shè)置為32,學(xué)習(xí)率設(shè)置為0.1,Dropout設(shè)置為0.4,Epoch設(shè)置為40。
在對(duì)比實(shí)驗(yàn)中,訓(xùn)練數(shù)據(jù)集采用SQuAD,實(shí)驗(yàn)結(jié)果主要關(guān)注三個(gè)指標(biāo):EM指數(shù)、F1指數(shù)和訓(xùn)練時(shí)間。對(duì)每個(gè)模型進(jìn)行40個(gè)批次訓(xùn)練,最終取所有批次中最好的一個(gè)批次作為最終結(jié)果。以實(shí)驗(yàn)結(jié)果中兩個(gè)指數(shù)的數(shù)值來判斷模型與模型的優(yōu)劣。
EM(Exact Match)指數(shù)衡量的是模型精確匹配情況,它是模型預(yù)測(cè)的答案與問題正確答案相比,完全一致部分所占的百分比。F1指數(shù)常作為二分類模型的評(píng)價(jià)指標(biāo),值介于0與1之間,由計(jì)算模型精確率與召回率的調(diào)和平均值得來,精確率即預(yù)測(cè)的答案中,預(yù)測(cè)正確的比例,召回率是問題的正確答案中,被模型成功預(yù)測(cè)出來的比例。
對(duì)Siren函數(shù)來說,參數(shù)ω的選取至關(guān)重要。為尋找一個(gè)較為合適的參數(shù)ω值參與后續(xù)的對(duì)比實(shí)驗(yàn),選取了多個(gè)值ω進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1。
表1 選取不同ω值的效果
由表1可知,Siren函數(shù)在參數(shù)ω取0.05時(shí)效果最好,所以,在后續(xù)的實(shí)驗(yàn)中選取ω=0.05進(jìn)行對(duì)比實(shí)驗(yàn)。
所選取的對(duì)照模型(原模型)是DrQA模型的RNN版本,對(duì)模型利用本文所述的方法改進(jìn)后,與原模型進(jìn)行對(duì)比實(shí)驗(yàn),同時(shí)我嘗試使用其他激活函數(shù),包括雨Tanh函數(shù)、Siren函數(shù)進(jìn)行的對(duì)比,實(shí)驗(yàn)結(jié)果如表2。
表2 Siren函數(shù)對(duì)比實(shí)驗(yàn)
在對(duì)比實(shí)驗(yàn)中,原模型經(jīng)過本文所提出的方法修改后,精確度有了明顯的提升,EM指數(shù)提升了6.58,F(xiàn)1指數(shù)提升了5.97。Siren函數(shù)在與其他函數(shù)的對(duì)比實(shí)驗(yàn)中也展現(xiàn)出了它獨(dú)特的優(yōu)勢(shì)。
前文對(duì)比實(shí)驗(yàn)中模型采用的分詞方法,均為依據(jù)英文空格來分詞,而現(xiàn)有一些模型也會(huì)使用一些更為合理高效的分詞工具包,文獻(xiàn)[22]中采用了ansj分詞器,會(huì)在分詞后文章中詞的數(shù)量變少,提升問題回答的準(zhǔn)確,如單詞natural language按空格分詞會(huì)成為兩個(gè)詞,即表面上的natural與language,若采用一些工具包來分詞,這兩個(gè)單詞可能會(huì)被視為一個(gè)整體(某種意義上的一個(gè)詞),即一個(gè)意為“自然語(yǔ)言”的名詞,可能會(huì)作為一句話中的賓語(yǔ)或主語(yǔ)。
在此情形下,模型所要考慮的單詞數(shù)就會(huì)變少,因此,要驗(yàn)證在該情況下本文所述方法的效果,為此進(jìn)行了一組對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)所用模型均采用了Spacy工具包中的英文分詞功能,其他條件與上一個(gè)實(shí)驗(yàn)相似,實(shí)驗(yàn)結(jié)果如表3。
表3 Siren函數(shù)對(duì)比實(shí)驗(yàn)(采用分詞工具)
由表3的結(jié)果可知,在分詞工具的協(xié)助下,模型的精度可以得到大幅提升,縮短了訓(xùn)練時(shí)間,相比較僅使用空格作為分詞標(biāo)準(zhǔn)的模型具有更加優(yōu)秀的問題回答能力。但在此條件下,本文所述方法依舊奏效,對(duì)比原模型,EM指數(shù)高出6.1,F(xiàn)1指數(shù)高出5.9,同時(shí)Siren函數(shù)在與其他激活函數(shù)的對(duì)比實(shí)驗(yàn)中也依舊保持優(yōu)勢(shì)。
綜上多個(gè)實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果驗(yàn)證了將Siren函數(shù)與注意力機(jī)制結(jié)合的方法是成功的,使用該方法對(duì)以RNN網(wǎng)絡(luò)為基礎(chǔ)的模型進(jìn)行優(yōu)化,能夠在一定程度上提升模型的回答準(zhǔn)確度。
在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)模型上,引入一種新型激活函數(shù)(Siren激活函數(shù)),并將它與注意力機(jī)制結(jié)合,提出一種更簡(jiǎn)單的結(jié)構(gòu)來緩解RNN網(wǎng)絡(luò)的梯度消失與梯度爆炸問題。筆者將該結(jié)構(gòu)應(yīng)用于機(jī)器閱讀理解模型之上,對(duì)RNN版本的DrQA模型進(jìn)行改進(jìn),經(jīng)過對(duì)比實(shí)驗(yàn)后發(fā)現(xiàn)該結(jié)構(gòu)可以起到一定的優(yōu)化作用,雖然效果不及LSTM等更復(fù)雜的變體,但其結(jié)構(gòu)更為簡(jiǎn)單,便于實(shí)施與實(shí)現(xiàn),在一些傳統(tǒng)模型的改進(jìn)優(yōu)化上有一定價(jià)值。后續(xù)的研究將會(huì)繼續(xù)改進(jìn)該模型,并探究Siren函數(shù)更廣泛的應(yīng)用。