云南民族大學 黃鈺凝
針對傳統循環神經網絡RNN在機器翻譯中效率不高以及計算量過大的問題,提出一種基于GRU神經網絡和Attention機制的機器翻譯模型。首先,使用注意力模塊保證堆疊多層結構的可復用性,提高運行效率。其次,模型融合了注意力機制的編碼-解碼器和循環神經網絡模塊提取被翻譯的句子語義信息,并采用Adam優化器進行梯度下降,對模型優化,實現中英文間的互譯。最后使用BLEU值對結果進行檢驗和評價。
機器翻譯由于不同語言之間的差異和翻譯中對“信、達、雅”的要求,成為了最困難的自然語言處理任務之一。神經機器翻譯將復雜的翻譯任務看作是序列到序列的轉化任務:摒棄了大量的人工干涉和對語言學專家的需要,Attention機制相比于傳統的編碼-解碼器模型,最大的區別是不要求所有輸入信息都用編碼器編碼進一個固定長度的向量中,而是編碼器將輸入編碼成一個向量的序列。在解碼時,每一步都會選擇性的從向量序列中挑選一個子集進行進一步處理。這樣可以做到在產生每一個輸出的時候都能夠做到充分利用輸入序列攜帶的信息。
傳統的循環神經網絡(RNN)會出現梯度消失現象。長期段記憶網絡(LSTM)通過選通機制緩解了梯度消失問題,但模型復雜且難以收斂。GRU改善了LSTM,優化了選通機制,參數比LSTM少,也可以產生與LSTM相同的效果,使運營成本降低,速度大大提高。
注意力機制通過借鑒人腦的注意力,增強對關鍵信息的注意程度以提高關鍵信息對結果的貢獻,在神經網絡中引入注意力機制可以提高神經網絡的訓練效率。原理圖如圖1所示。

圖1 Attention機制
Attention機制函數可以描述為一個Query到一個Key-Value的映射。通過在輸入序列上保留LSTM編碼器的中間輸出結果,然后訓練模型有選擇地學習這些輸入,并在模型輸出時將輸出序列與其關聯。雖然此機制將增加計算量,但性能水平可以提高。此外,Attention機制用于了解輸入序列中的信息如何影響模型輸出過程中最終生成的序列。這有助于我們更好地理解模型的內部運行機制,并對一些具體的投入產出進行分析。當它用于輸出輸出序列中的每個單詞時,它將關注輸入序列中被認為更重要的一些單詞。
在自然語言任務中,Key和Value通常是相同的。需要注意的是,計算出的Attention value是表示序列元素xj的編碼向量的向量,包括元素xj的上下文,即全局聯系和局部聯系。全局連接很容易理解,因為計算中考慮了該元素與所有其他元素之間的相似性計算,而局部連接是因為在對xj進行編碼時主要考慮了具有高相似性的局部元素。
大量實驗表明,與傳統的RNN模型相比,GRU的訓練效果相似,但參數少,收斂速度快,訓練相對容易,在過擬合方面體現較優良的優越性,只存在較少的過擬合現象。
GRU模型改進了RNN和LSTM兩個神經網絡模型。輸入輸出結構與RNN相似,其內部思想與LSTM相似,內部設置兩個門:一個更新門z,一個重置門r。更新門用于控制上一次的狀態信息進入當前狀態的程度,值越大,引入的上一次的狀態信息就越多;重置門用于控制忽略上一次狀態信息的程度,值越小,被忽略的就越多。
原理圖如圖2所示。

圖2 GRU結構圖
其中,xt為當前輸入,ht-1為上一個節點傳輸下來包括目前為止節點的隱藏信息,yt為當前隱藏信息的輸出值。門控信號z的取值范圍在0~1之間,信號值越趨近于1,意味著被記憶下來的數據信息越多;而越趨近于0則意味著被遺忘的越多。
此模型由四層構成,分別為:輸入層、Attention層、GRU層以及輸出層。
輸入層:以預處理后的中英文語數據為輸入,輸出結果為一組向量,將這組向量封裝為一個矩陣并將其轉置作為最終的結果輸出。
Attention層:將輸入層的輸出作為輸入,通過迭代計算權重,輸出結果為一組權重向量,計算公式如下所示:

GRU層:將Attention層的輸出作為輸入,通過正向輸入和反向輸出以及激活函數的作用輸出結果,輸出結果的計算公式如下所示:

其中,W為權重矩陣,b為偏置向量矩陣,因為ReLU函數在學習效果中較為突出,所以選取ReLU函數為激活函數。
輸出層:將GRU層的輸出作為輸入,經過深度神經網絡的運算得出結果。最終輸出結果為翻譯好的中文或英文句子。
當利用機器學習進行文本分類時為了提取文本特征,需要創建復雜的特征工程,而通過深度學習,獲得了自動特征表達,解決了人工特征工問題。由于工藝簡單、操作簡單、對人工的依賴性低,因此得到了廣泛的應用。
Adam 優化器可以根據歷史梯度的震蕩情況和過濾震蕩后的真實歷史梯度對變量進行更新。Adam優化器在自適應學習上體現了優越性,速度快,準確率高,并有以下顯著優點:
(1)更新步長在可控范圍內;(2)占用內存小;(3)梯度的伸縮不影響參數更新;(4)超參數只需要進行微調;(5)對于不穩定的目標函數同樣適合;(6)對大量數據和參數體現優越性;(7)可以在噪聲很大的數據下使用;(8)能自動調整學習率。
使用Adam優化器對模型進行優化后,損失值由0此迭代的4.0降到1000此迭代的趨近于0。
BLEU是將候選翻譯與一個或多個其他參考翻譯進行比較的評估分數。它經常被用來衡量一組機器生成的翻譯句子和一組人工翻譯句子之間的相似性,采用N-gram的匹配規則。值是一個處于0~1之間的數值,數值越接近1,結果越好。
BLEU 編程實現的主要任務是對候選翻譯和參考翻譯的 n 元組進行比較, 并計算相匹配的個數匹配個數與單詞的位置無關匹配個數越多, 表明候選翻譯的質量就越好。
雖然此指標的完美性有所欠缺,但它的優點更吸引在機器翻譯任務研究中的學者。例如:計算量小、不限于語種、與人工翻譯的評價結果相關性強。缺點如:語法性較弱、短句的測評精度較高、未考慮到近義翻譯等。
在此次實驗中,將采用的雙語料數據導入到所建立的模型中進行訓練并優化,對參數學習并修改,得到參數結果如表1所示:

表1 模型參數表
翻譯示例句如下:
輸入中文:我想見你的姐姐。
實際英文: I’d like to see your sister.
預測英文:I want to see your old sister.
預測結果與實際結果很相似,模型效果得到一定的體現。
結語:通過此次實驗的結果可以看出翻譯效果不錯,但并非優秀。BLEU值未達到預期,部分翻譯結果也未如愿,但總體上來看由于模型搭建合理,呈現一個較良好的翻譯效果。
本文提出一種基于Attention機制和GRU神經網絡的機器翻譯模型,實現了無監督的機器翻譯,在提高準確性的同時降低了運算成本,提高了運算速度。理論上此模型在本數據上效果由于普通循環神經網絡所得出的結果。在未來將繼續探索優化模型,探索更多其他的優秀模型。
可以考慮在以下方面進行改進:
(1)進行預訓練和微調;(2)多任務學習;(3)使用不同的編碼解碼器;(4)引入足夠強大的語料庫。