張 文,馮 洋,劉 群
(1. 中國科學院 計算技術研究所 智能信息處理重點實驗室,北京 100190;2. 中國科學院大學,北京 100049; 3. 都柏林城市大學 ADAPT中心 計算學院,都柏林)
近十年來,隨著深度學習技術的發(fā)展,許多研究人員逐漸把機器翻譯當作是序列到序列的任務,并使用編碼器—解碼器的神經(jīng)網(wǎng)絡框架對其進行建模,給機器翻譯質(zhì)量帶來了很大的飛躍,大幅超過了傳統(tǒng)方法[1-2]?;诰幋a器—解碼器的神經(jīng)機器翻譯模型憑借其簡單有效的優(yōu)勢脫穎而出,已成為當今主流的翻譯模型之一。隨后,注意力機制[3]的引入又給基于編碼器—解碼器的神經(jīng)翻譯模型帶來了另一次飛躍。近幾年,許多研究人員在基于注意力機制的神經(jīng)機器翻譯模型基礎之上,從不同角度進行了后續(xù)的研究工作,使神經(jīng)翻譯模型得到了許多方面的優(yōu)化[4-7]。
目前,主流的基于注意力機制的神經(jīng)翻譯模型的編碼器和解碼器多數(shù)使用門控循環(huán)單元或長短期記憶網(wǎng)絡(long short-term memory, LSTM[8])。GRU和LSTM類似,均是順序地以詞為單位對序列進行循環(huán)展開,然后通過內(nèi)部精心設計的門控機制來控制每一個循環(huán)步驟中輸入和輸出的信息量。這一機制促使模型可以存取序列中更遠的上下文信息,同時也緩解了普通循環(huán)神經(jīng)網(wǎng)絡在過長序列上存在的梯度消失問題。GRU單元或LSTM解決了普通循環(huán)神經(jīng)網(wǎng)絡的諸多問題,但即便如此,在基于GRU單元的神經(jīng)網(wǎng)絡機器翻譯模型中仍然存在著一些顯而易見和令人棘手的問題。對于卷積神經(jīng)網(wǎng)絡來說,增加神經(jīng)網(wǎng)絡的層數(shù)會使模型的能力增強[9-11],這也是符合人們直觀想法的。然而,當我們試圖增加基于GRU單元的神經(jīng)網(wǎng)絡翻譯模型中編碼器和解碼器的深度,來優(yōu)化翻譯模型的性能時發(fā)現(xiàn),翻譯的質(zhì)量并沒有隨之增加,有時反而有所下降。我們猜想這是由于增加模型深度所導致梯度消失問題使得模型難以收斂,進而影響最終譯文的質(zhì)量。另外,層數(shù)的疊加會嚴重地影響訓練速度。
本文中,我們在基于注意力機制的神經(jīng)網(wǎng)絡翻譯模型中引入簡單循環(huán)單元(simple recurrent unit, SRU[12])并替換編碼器和解碼器中門控循環(huán)單元。在小規(guī)模德語到英語和大規(guī)模維語到漢語翻譯任務上的實驗表明,通過堆疊編碼器和解碼器的層數(shù),我們獲得了相比基線系統(tǒng)有顯著提升的翻譯性能,甚至優(yōu)于融合殘差連接的基線系統(tǒng)。而且在1~10層之內(nèi),翻譯質(zhì)量與層數(shù)是成正比的。同時不像GRU單元那樣,編碼器和解碼器中SRU層數(shù)的增加對訓練速度的影響并不大。
本文組織結(jié)構(gòu)為: 第1節(jié)對相關工作做一個簡要的介紹;第2節(jié)對基于注意力機制的神經(jīng)網(wǎng)絡翻譯模型以及簡單循環(huán)單元進行數(shù)學形式化;第3節(jié)重點描述網(wǎng)絡層堆疊方式以及如何替換基于注意力機制的神經(jīng)網(wǎng)絡翻譯模型中的GRU單元;第4節(jié)我們在三個數(shù)據(jù)集上設計了六組實驗驗證所提出方法的有效性;最后把所得出的結(jié)論以及對未來工作方向的闡述放到第5節(jié)里。
國內(nèi)外有許多學者試圖探索一些有效的方法來增加模型的深度,以改進模型的性能。由于比較深層的神經(jīng)網(wǎng)絡模型往往難以訓練,不容易收斂,Kaiming He等[10]提出殘差連接,把前一層的輸入信息通過直連邊與當前層的輸出相連,疏通梯度傳播,減輕網(wǎng)絡的訓練難度,他們在圖像識別的任務上證明了殘差網(wǎng)絡使模型更加容易優(yōu)化,通過加深模型獲得非常好的效果;Alexis Conneau等[11]提出了一種新的網(wǎng)絡架構(gòu),該架構(gòu)僅使用卷積和池化操作,使得模型的能力會隨著模型深度的增加而增強,他們將模型的卷積層增加到29,在一些公共文本分類任務上取得最好的效果。
另外,也有一些研究人員嘗試改進卷積神經(jīng)網(wǎng)絡中的殘差連接。趙朋成等[13]對傳統(tǒng)殘差網(wǎng)絡進行改進,通過在池化層使用重疊池化方案有效地保留上一層的有用信息,從而有效地提高手寫體識別率,而且訓練時間大幅度降低。王一寧等[14]使用一種多階段級聯(lián)殘差卷積神經(jīng)網(wǎng)絡模型,能更好地重建出圖像的細節(jié)和紋理,避免了經(jīng)過迭代之后造成的圖像過度平滑,獲得更高的峰值信噪比和平均結(jié)構(gòu)相似度。
學者們也在嘗試使用神經(jīng)翻譯模型改進少數(shù)民族語言的翻譯。哈里旦木等[15]從詞語切分粒度的角度,分析并對比了多個翻譯模型在維漢翻譯任務上的性能,證明維語采用恰當?shù)淖釉~切分且中文端基于字符能夠使模型獲得最佳性能。Lei等[12]提出了簡單循環(huán)單元,并將其引入到多個任務上的神經(jīng)網(wǎng)絡模型中,通過增加模型深度提升了模型性能,同時保證了訓練速度。
我們借鑒前人的相關工作,使用SRU單元替換基于注意力機制的神經(jīng)網(wǎng)絡翻譯模型中的GRU單元,解決加深模型所導致的梯度消失問題。然后通過加深模型中編碼器和解碼器的層數(shù),穩(wěn)定地提升模型的性能,產(chǎn)生比基線模型更加準確的譯文。基于簡單循環(huán)單元的深度模型性能還要優(yōu)于同層數(shù)的引入殘差網(wǎng)絡的基線模型。
(1)
解碼器通過最大化目標待預測詞匯的似然來優(yōu)化整個翻譯模型,如式(2)所示。
(2)
,sj-1,αj)
(3)
其中αj是每個解碼步都動態(tài)更新的源端上下文表示,即每個源端詞語狀態(tài)的加權和,如式(4)所示。
(4)
αi,j可被看作是源端第i個詞語與目標端第j個詞語之間的對齊概率,如式(5)所示。
f(·)是一個前饋神經(jīng)網(wǎng)絡,圖1展示了基于注意力機制的神經(jīng)網(wǎng)絡翻譯模型。其中Dj表示模型在第j步所預測詞語的概率分布,極大似然估計表示計算損失的方法。
圖1 基于注意力機制的神經(jīng)翻譯模型
簡單循環(huán)單元的主要思想是避免GRU中狀態(tài)計算和門控機制的復雜程度,消除門狀態(tài)對前一步隱狀態(tài)的依賴性,從而提高門計算單元的可并行性以加快訓練速度。同時引入高速網(wǎng)絡(highway network)使得模型能自主控制從前一層的輸入中選擇多少信息量不經(jīng)過任何非線性變換,直接輸入到下一層。這樣做確保在加深模型深度時,盡量避免梯度消失的問題。
主流循環(huán)神經(jīng)單元(比如GRU或LSTM)利用門機制來控制同一層不同時序狀態(tài)中信息流的輸入和輸出量,從而有效地避免了序列過長時所產(chǎn)生的梯度消失問題。第t步循環(huán)計算單元的內(nèi)部存儲單元ct是通過式(7)計算得到:
ct=ft*ct-1+it*gt
(7)
其中,“*”表示按元素相乘。在循環(huán)計算單元的原生定義中,忘記門ft、輸入門it以及候選隱狀態(tài)gt的計算均需要依賴于當前步的輸入xt和前一步的輸出隱狀態(tài)ht-1,分別是xt和ht-1加權和的非線性變換。這里對原生計算進行簡化操作,gt是對當前輸入xt的一個線性變換:gt=Wxt。輸入門it使用一個耦合版本,如式(8)所示。
it=1-ft
(8)
下一步內(nèi)部存儲單元ct的計算改變,如式(9)所示。
ct=ft*ct-1+(1-ft)*(Wxt)
(9)
(10)
其中,zt是當前步的重置門。另外,所有門狀態(tài)的計算僅僅依賴于當前步驟的輸入xt,取消對前一個輸出狀態(tài)ht-1的依賴,所以對一個第t步輸出,SRU的整個計算過程如式(11)~式(14)所示。
其中W、Wf、Wz為SRU中的參數(shù)矩陣,bf和bz為偏置單元向量。從上述公式可以看出,對于一個輸入序列x={x1,x2,…,xls},忘記門和重置門單元的計算僅依賴于輸入序列,所以它們可以在序列長度的維度上實現(xiàn)并行計算。但是,GRU中的門控狀態(tài)的計算必須依賴于前一步的隱狀態(tài),所以在前一步隱狀態(tài)沒有計算完成的情況下,當前步的門控狀態(tài)向量是無法獲得的。這一局限性使GRU的中間門控狀態(tài)計算的可并行性受到約束。
圖2 基于GRU的深層循環(huán)單元示意圖
圖3 基于SRU的深層循環(huán)單元示意圖
圖4 多層雙向循環(huán)神經(jīng)網(wǎng)絡計算單元堆疊示意圖
我們在三個翻譯任務上進行實驗,分別是小規(guī)模的德語到英語翻譯任務、大規(guī)模的維語到漢語翻譯任務和大規(guī)模的漢語到英語翻譯任務。
德英數(shù)據(jù)來自于2014年IWSLT評測競賽中德英翻譯任務,該語料主要是由TED演講中雙語對齊的字幕所組成。我們使用摩西的工具包[16]對德語源端和英語目標端進行標記化,標記化之后源端或目標端句子長度大于50的平行句對被過濾掉。開發(fā)集是從訓練集中抽取的6 969個平行句對,訓練集除去開發(fā)集部分一共是153 326個平行句對,測試集是dev2010,dev2012,tst2010,tst2011和tst2012的合并,一共包含6 750句[注]IWSLT2014德英翻譯方向數(shù)據(jù)集的下載鏈接: http://wit3.fbk.eu/archive/2014-01/texts/de/en/de-en.tgz。
對于維漢翻譯方向,我們使用新疆大學收集的新聞領域語料,訓練語料包含289萬左右的平行句對。新聞領域的開發(fā)集和測試集采用2017年CWMT上新疆大學所提供的數(shù)據(jù),其中開發(fā)集包含900個維語句子,每句對應4個漢語參考譯文,測試集包含861句,每句同樣也有4個漢語參考譯文。維語端做32 000次操作的字節(jié)對編碼(Byte Pair Encoding, BPE[17]),中文端以字為單位解碼。語料前處理后,源端或目標端句子長度大于80的平行句對被過濾掉。
漢英訓練語料是從LDC語料抽取出來的1.25MB的雙語平行句對,我們使用NIST 2002(MT02)數(shù)據(jù)集作為開發(fā)集選取模型,使用NIST 2003(MT03)、NIST 2004(MT04)、NIST 2005(MT05)和NIST 2006(MT06)作為測試集。源端或目標端句子長度大于50的平行句對被過濾掉。
三個翻譯任務中語料規(guī)模的統(tǒng)計結(jié)果和詞表大小見表1。由于漢英任務包括四個測試集,所以我們沒有在表1中列出。
表1 語料數(shù)量和詞典大小統(tǒng)計
對于德英翻譯方向,我們使用大小寫敏感的4元BLEU[18]值作為評價指標(摩西開源的multi-bleu.perl腳本)。而對于維漢翻譯任務,我們使用基于字的大小寫不敏感的4元BLEU值作為評價指標(摩西開源的mteval-v11b.pl腳本)。漢英翻譯任務使用基于詞的大小寫不敏感的4元BLEU值。
RNNsearch*模型的訓練參數(shù)和細節(jié)如下所述。所有的參數(shù)矩陣和向量都使用[-0.1,0.1]上的均勻分布進行初始化,所有的模型參數(shù)都使用批隨機梯度下降算法進行優(yōu)化,批大小設定為80,學習率使用Adadelta[19]算法進行自動調(diào)節(jié),算法的衰減常數(shù)ρ=0.95,分母常數(shù)ε=1E-6。源端和目標端的詞向量維度都設為512,所有隱狀態(tài)和輸出狀態(tài)神經(jīng)元的大小也均設定為512。為了避免梯度爆炸,如果所有梯度的L2范數(shù)大于預先設定的閾值1.0,則每個梯度都除以L2范數(shù)以限定在閾值內(nèi)。我們僅在模型最終輸出層使用dropout策略,dropout率為0.5。測試時我們使用柱搜索算法進行解碼,柱大小設置為10,在進行柱搜索時,句子級別的負對數(shù)似然除以句長進行歸一化。
另外,為了保證對比的公平性,對于GRU和SRU的隱狀態(tài),我們使用相同大小的神經(jīng)元。所有實驗在GeForce GTX TITAN X單塊GPU上運行。我們使用Collins等人[20]提出的方法做顯著性差異的檢驗。
4.4.1 GRU深層翻譯模型
在基線系統(tǒng)中,RNNsearch*模型的編碼器中使用兩個方向的GRU,而解碼器中使用了兩層單向的GRU。我們嘗試增加基線系統(tǒng)的編碼器和解碼器中GRU的層數(shù),然后觀察隨著GRU層數(shù)的增加,翻譯性能和訓練速度的變化情況。表2給出了德英任務上的實驗結(jié)果,其中“訓練速度”的單位是小時/輪。
表2 深度GRU模型在德英翻譯任務上的實驗結(jié)果
我們將編碼器和解碼器層數(shù)從1增加至10,開發(fā)集和測試集上的翻譯性能并沒有提升。相反,層數(shù)從1增加到4的過程中,RNNsearch*的翻譯質(zhì)量迅速地下降,從第6層開始,其性能開始急劇退化。經(jīng)過分析,原因是RNNsearch*的解碼器中使用兩個門控循環(huán)單元,層數(shù)的增多使模型在訓練過程中反向求導時更加容易產(chǎn)生梯度消失而無法更新參數(shù)的現(xiàn)象。此外,實驗表明,模型的深度越大,越難以收斂。如表2所示,當模型深度到達10層時,RNNsearch*幾乎已經(jīng)無法收斂,翻譯性能也急劇下降。另外,層數(shù)堆疊也使模型的參數(shù)隨之增多,系統(tǒng)的訓練速度變得越來越慢。
4.4.2 SRU深層翻譯模型
從4.4.1節(jié)的實驗結(jié)果可以看出,對于基線系統(tǒng),堆疊編碼器和解碼器中的GRU計算單元,會使模型的性能退化,特別是層數(shù)增加到6層之后。我們使用SRU替換第二個基線系統(tǒng)RNNsearch*中的GRU,然后以同樣的堆疊方式嘗試增加模型的深度,觀察模型性能和訓練速度的變化情況,表3顯示了基于SRU的深層模型在德英翻譯任務上的BLEU結(jié)果。其中“訓練速度”的單位是小時/輪,“參數(shù)量”的單位是兆,粗體表示最好模型,“”表示在99%的置信區(qū)間顯著優(yōu)于基線模型。為了保證實驗對比的公平性,深層GRU模型和深層SRU模型的堆疊均不使用殘差連接。
表3 德英任務翻譯結(jié)果
對比表2右邊部分RNNsearch*與表3的實驗結(jié)果可以發(fā)現(xiàn),我們基于SRU的模型在增加層數(shù)之后表現(xiàn)出了明顯的優(yōu)勢。只有在層數(shù)為1的情況下,基于SRU的系統(tǒng)性能不如基于GRU的系統(tǒng);隨著層數(shù)的增加,不管是在開發(fā)集還是在測試集上,SRU系統(tǒng)的翻譯質(zhì)量均不斷提升,而且在對應層數(shù)上都要優(yōu)于基于GRU的系統(tǒng)?;贕RU的系統(tǒng)在層數(shù)超過6之后就會由于梯度消失導致翻譯質(zhì)量急劇退化,而我們的系統(tǒng)依然保持很好的性能并不斷提升。在訓練速度方面,隨著層數(shù)的增加,SRU模型的參數(shù)量也會有所增加,但是對訓練速度的影響并不大,不像GRU系統(tǒng)的訓練速度受到層數(shù)的很大影響。在IWSLT德英翻譯任務上,基于SRU的深度模型比基線系統(tǒng)提升0.94個BLEU值,表現(xiàn)出顯著優(yōu)勢。
我們嘗試繼續(xù)加深基于SRU的深度模型,翻譯性能的變化基本保持一個平穩(wěn)的趨勢,但由于參數(shù)量的增加,訓練速度會有所下降。
我們又嘗試在維漢翻譯任務上驗證SRU模型的性能。表4給出了基于SRU的深層模型在維漢翻譯任務上與基線模型的BLEU對比結(jié)果。其中粗體表示最好模型,“*”表示在95%的置信區(qū)間內(nèi)比基線模型有顯著性提高。從表4可以看出,深度模型隨著層數(shù)的增加,翻譯的質(zhì)量在整體上呈現(xiàn)上升趨勢,最好的單模型比基線模型要高3.31個BLEU值。由此可見,基于SRU的深度模型不僅可以有效地解決梯度消失的問題,而且增加編碼器和解碼器的層數(shù)穩(wěn)定地提升了翻譯性能,比基線系統(tǒng)有非常顯著的提升。
表4 維漢任務翻譯結(jié)果
4.4.3 對比深層SRU模型與融合殘差網(wǎng)絡的深層GRU模型
從表2的實驗結(jié)果可以看出,隨著模型深度的增加,基于GRU的模型RNNsearch*會出現(xiàn)梯度消失而退化的問題。為了解決這一問題,殘差網(wǎng)絡連接被提出,通過在一個淺層網(wǎng)絡基礎上疊加恒等映射層,將前一層的輸出信息直接與當前層的輸出信息相加作為下一層的輸入,使得低層的信息有效地與高層建立直連,可以讓模型性能隨深度的增加而不退化。而基于SRU的深度模型是從另外一個角度去解決梯度消失的問題。我們在德英翻譯任務上分別訓練4層和8層的不引入和引入殘差連接的深層GRU模型以及深度SRU模型,對比它們之間的性能。如表5所示,其中粗體表示SRU模型優(yōu)于GRU+Res,“”表示在99%的置信區(qū)間上比GRU+Res有顯著性提升。
表5 深度模型在德英翻譯任務上的對比實驗
表5中的實驗結(jié)果表明,加入殘差接連后,基于GRU的模型RNNsearch*的翻譯性能相比于不加入殘差連接有明顯的優(yōu)勢,而且在使用超過6層的編碼器和解碼器時并沒有出現(xiàn)梯度消失而導致模型退化;在使用8層的編碼器和解碼器時,性能大幅度超過不引入殘差連接的模型。然而,在使用相同層數(shù)的編碼器和解碼器的情況下,基于SRU的深度模型的性能要明顯優(yōu)于融合殘差連接的GRU深度模型,并有非常顯著的提升。
4.4.4 對比深層SRU模型與深層LAU模型
非線性循環(huán)激活函數(shù)使基于GRU的神經(jīng)網(wǎng)絡翻譯模型的編碼器和解碼器在訓練過程中遇到梯度消失的問題,進而促使優(yōu)化過程難以收斂。為了緩解這一問題,Wang等[7]從減少循環(huán)單元內(nèi)部梯度傳播長度的角度,提出了線性聯(lián)合單元(LAU)。LAU將每一個循環(huán)單元的輸入和輸出進行線性關聯(lián),允許信息在空間和時間方向上無障礙流通。而SRU引入高速網(wǎng)絡使模型自主控制從前一層輸入的信息中選擇多少不經(jīng)過非線性變換直接輸入到下一層,在加深模型深度時,能夠緩解梯度消失的問題。另外,不像GRU和LAU,SRU中忘記門和重置門單元的計算僅依賴于輸入序列,不需要前一步的隱狀態(tài),所以可有效地實現(xiàn)時間方向上的并行計算。
深層SRU和LAU在NIST漢英測試集上的對比實驗結(jié)果如表6所示,表中第一列括號中的內(nèi)容分別表示編碼器和解碼器的層數(shù)。Wang等人沒有列出LAU(8,6)在各個測試集上的結(jié)果[7]。從表中可以看出,2層的SRU模型并沒有超過4層的LAU模型,但是當SRU模型的層數(shù)增加到與LAU模型相同時,在平均水平上超過了4層LAU 0.48個BLEU值。當SRU模型的編碼器和解碼器層數(shù)分別增加至10時,達到了最好效果,超過8層編碼器和6層解碼器的深層LAU模型0.71個BLEU值。由此可見,不論是在緩解梯度消失,還是提升翻譯性能方面,深層SRU模型均占有明顯優(yōu)勢。
表6 NIST測試集上深度SRU與LAU的對比實驗
4.4.5 在不同句子長度上對比SRU和GRU
為了驗證SRU在提升長距離依賴的處理能力方面是否有所幫助,我們將德英翻譯任務的測試集源端按照句子長度劃分為8份,使用7個模型分別對每一份特定句長范圍內(nèi)的測試集進行解碼,然后計算每一個解碼結(jié)果的BLEU分數(shù)。圖5展示了不同句長范圍內(nèi)的測試集分別使用7個模型翻譯所得譯文的BLEU曲線。其中L4表示4層編碼器和4層解碼器,res表示層與層之間有殘差連接。從圖中可以看出,在不加殘差連接的情況下,增加層數(shù)使GRU模型在所有句長范圍上的翻譯性能均明顯下降。GRU模型的性能在引入殘差連接后有所提升。深層SRU模型在所有句長范圍內(nèi)均超過了淺層GRU模型和引入殘差連接的深層GRU模型,而且在超長句子上尤為明顯。長度在70和80之間的句子上,12層SRU模型比淺層GRU模型高5.46個BLEU點,超過帶殘差連接的8層GRU模型2.88個BLEU值。
圖5 德英任務不同句長上SRU和GRU的對比
實驗部分的結(jié)果表明,對于使用GRU單元的翻譯模型來講,當編碼器和解碼器的深度增加得少于6層時,基線系統(tǒng)RNNsearch*的性能會有所下降,使翻譯質(zhì)量微弱地變差。但是,當編碼器和解碼器超過6層之后,就會導致模型無法收斂。原因在于RNNsearch*模型的解碼器使用了兩層的GRU,深度過大導致反向求導過程失敗而無法更新參數(shù)。兩個翻譯方向上的實驗結(jié)果均表明,基于SRU的深度模型有效地解決了這一問題,并且隨著深度增加,模型性能也穩(wěn)定地得以提升,顯著地超過了基線模型。與GRU相比,SRU保留門控機制特性的同時,計算上避免了對前一步隱狀態(tài)的依賴,能夠在一定程度上實現(xiàn)并行,所以深度的增加并沒有對訓練速度產(chǎn)生很大影響。而基于GRU的基線模型隨著層數(shù)增加,訓練速度變得非常慢。在不使用殘差連接的情況下,我們模型的性能顯著地超過了引入殘差連接的基線模型。
另外,在NIST漢英翻譯任務上,與同樣解決梯度消失問題的深度LAU模型相比,我們同深度的深層SRU模型具有明顯優(yōu)勢,持續(xù)加深SRU模型,優(yōu)勢更加明顯。在不同句長上的各模型對比實驗結(jié)果表明,深層SRU模型在超長句子翻譯上的性能提升非常顯著。
對于基于門控循環(huán)單元的神經(jīng)網(wǎng)絡機器翻譯模型而言,編碼器和解碼器的堆疊達到一定深度時,會出現(xiàn)梯度消失和模型無法收斂的問題,使得模型性能急劇惡化,譯文質(zhì)量大幅下降。為解決該問題,在本文中,我們將簡單循環(huán)單元引入到基于注意力機制的神經(jīng)網(wǎng)絡翻譯模型當中,通過堆疊的方式加深了編碼器和解碼器的結(jié)構(gòu)。我們在2014年IWSLT德英和2017年CWMT維漢兩個翻譯任務上進行了實驗。實驗結(jié)果表明,基于SRU的深度模型有效地解決了層數(shù)增加到一定程度所導致的梯度消失問題,其性能不僅隨著深度的增加而得到逐步地強化,而且比基線模型有非常顯著的提升。另外,當基于GRU的深度模型使用殘差連接時,梯度消失的問題也可以在一定程度上得以緩解;在層數(shù)相同的情況下,基于SRU的深度模型比使用殘差連接的GRU深度模型還要有非常顯著的優(yōu)勢。在NIST漢英翻譯任務上的對比實驗說明,深層SRU模型要優(yōu)于同樣解決梯度消失問題的深度LAU模型。最后,針對不同句長范圍內(nèi)的測試集,我們對比深度SRU和GRU模型后發(fā)現(xiàn),深度SRU模型在翻譯超長句子時有明顯優(yōu)勢,可見,SRU有利于提升模型長距離依賴的處理能力。
我們將在下一步的工作中,探索如何更好地堆疊簡單循環(huán)單元,以進一步改進模型性能。另外,維語端詞語的切分粒度,對翻譯性能的影響比較大,我們考慮在維語端基于字符進行操作。