論文翻譯-通過對齊與翻譯聯合學習實現機器翻譯

1、摘要

基於神經網絡的機器學習是目前最爲流行的一種機器翻譯的方法。與傳統的統計學翻譯不同,這種翻譯方式是通過構建一個神經網絡來最大限度提升翻譯的性能。該模型是encoder–decoders模型家族中的一種。他使用編碼器(encoder)將原始句子編碼成一個定長向量,然後使用解碼器(decoder)來實現翻譯。在本文中,我們推測,在encoder–decoder模型架構下,使用定長向量將是提升翻譯性能的瓶頸。爲了解決這個瓶頸,我們從原始的句子當中檢索最爲重要的子句來實施編碼解碼,而不是通過現在這種硬性分割的方式。通過這種新的方法,在英語到法語的翻譯任務中,我們將模型性能提升與state-of-the-artphrase-based 系統相同的水平。此外,性能分析系統還顯示,這種軟對齊的方式與我們的直觀感受非常的契合。

2、神經網絡機器翻譯的背景知識

從概率學的角度來講,翻譯要做的事情就是在給定原句子 X的情況下,找到能使條件概率P(Y|X)達到最大值的目標句子y。在神經網絡翻譯中,我們是通過訓練一個參數化模型來完成相同的工作。一旦這種條件概率分佈被翻譯模型學習到,那麼我們就可以通過模型對給定的語句進行翻譯。

目前,有很多專關於神經網絡直接通過訓練學習條件概率分佈的論文發表。比如(Kalchbrenner and Blunsom, 2013; Cho et al., 2014a; Sutskever et al.,2014; Cho et al., 2014b)神經網絡翻譯模型有兩個最爲主要的組件:編碼器(encoder)與解碼器(decoder),分別負責對原始句子的編碼以及對目標句子的解碼。有一種典型應用就是將變長的句子首先編碼成定長的向量然後在解碼成變長的目標語句。

儘管這是一種新的方案,但模型的整體表現還是很優秀的。Sutskever et al. (2014)的這篇論文顯示,在英語到法語的翻譯工作中。使用lstm單元的rnn翻譯模型已經達到了傳統的state-of-the-art翻譯系統的水平。

2.1 RNN encoder-decoder

首先需要介紹一下模型的基本框架: rnn encoder-decoder,我們在這個框架的基礎上來創新性的構建我們的對齊以及翻譯模型。在該模型中編碼器讀取要翻譯的句子,該句子是由一組向量序列組成的,可以將其表示爲將其編碼成一個向量c,這個工作一般是由RNN模型來完成的。我們可以將編碼過程表示如下

其中,ht是在時間t的隱藏狀態,c是有ht生成的一個定長向量,f,q是非線性函數。

訓練解碼器的過程主要是在給定表示上下文的向量C以及之前已經預測的所有單詞的情況下,預測下一個時間單詞 ,可以用下面公式來表示這個過程:

其中 在RNN模型中,該公式還可以表示如下:

在上面的公示的 g是RNN模型訓練出來的非線性,多層的模型函數,st是RNN的隱藏狀態。

3、訓練對齊與翻譯

在本章節,我們編寫了一種新的模型結構包含給予RNN的編碼器與解碼器。

3.1 解碼器

在這種新的模型結構中,我們將解碼器的概率函數做如下定義:

其中si是RNN的隱藏狀態可以有下面公式計算得到

需要注意的是,不同於傳統編碼解碼方法,對於目標單詞yi是建立在唯一的向量ci基礎上的,而每一個ci對於yi不是固定的。

ci表示上下文向量,是由將輸入句子映射到隱藏狀態然後計算得到。輸入句子的每一個單詞對於翻譯結果的影響程度都涵蓋在隱藏狀態hi中。在下一節中我們將詳細討論hi的相關計算方法。

ci是有hi與一個權重矩陣點積得到,運算公式如下:

其中可以表示如下:

其中,

eij表示一個對齊模型,該模型表示了,輸入句子的第 j 個位置的單詞與輸出的第 i 個單詞的匹配程度。

我們將整個對齊模型參數化成一個前饋的神經網絡,這個模型是由其他關鍵元素聯合訓練而成。這不同於傳統的機器學習翻譯系統,將對齊函數作爲一個潛在的變量。相反的,對齊模型通過反向傳播的梯度下降函數來優化整個模型,而達到一種軟對齊的效果。

我們可以這樣理解,將所有的標註權重參數求和以獲取我們期望的權重參數。而這個權重參數是在整體考慮所有對齊的情況下而得到的一種規律分析結果。假定 爲原單詞xi到目標單詞yi需要對齊的概率,那麼第i個上下文向量ci就是這個概率在整個模型中所佔的比重。

概率值aij與參數eij相關,而eij是反映隱藏變量hj的重要程度。而hj所反映的情況則是通過上一個隱藏狀態並生成預測值yi。直觀上來講,這實現瞭解碼器(decoder)的注意力機制,注意力機制通過學習將指導句子的哪一個部分更重要。通過這種注意力機制我們緩解了編碼器編碼壓力,編碼器不再需要將整個句子統一編碼成一個定長向量。

 

3.2 編碼器

編碼器就是一個傳統RNN模型,該模型首先讀入要翻譯的句子序列。但是,我們認爲當前的單詞不光與他之前的單詞相關,也與他之後的單詞相關,所以這裏我們採用了一種雙向的RNN的機制。(BiRNN, Schuster and Paliwal, 1997),雙向的RNN模型在語音識別(see, e.g., Graves et al., 2013)的領域已經非常成熟。

雙向RNN,包含前向RNN與後向RNN兩個基本結構。前向RNN通過句子的原順序學習前向的隱藏狀態序列,二反向的RNN則倒敘學習另一組狀態序列

而最終的隱藏狀態變量是由前向與後向兩種隱藏狀態組合而成,可表示如下:

使用這種及考慮前向又考慮後向的方式,可以通過hj變量充分反應單詞以及其周圍的詞對整體翻譯結果的影響。而hj是模型用於計算上下文向量ci的關鍵因素。

3.3 架構選擇

之前的論述是我們對模型的一種理論設計。比如我們用f表示模式的激活函數,用a表示對齊模型。在本節當中,我們將詳細討論在實驗中實現該模型的所有細節。

3.3.1 RNN

我們使用隱藏門來作爲模型的激活函數,這種門函數在下面論文中有提及Choet al. (2014a)。我們用這種隱藏門來替代簡單的雙曲正切函數(tanh)。這種門單元的機制與lstm類似,擁有相關的記憶機制。所以在模型中也可以採用lstm單元來替代這種隱藏門。

rnn的一個新的隱藏狀態可以通過如下計算獲得:

運算符代表矩陣的元素乘積,zi是更新門的輸出,這個會在後面消息討論。計劃更新狀態可以參考如下公式

e(yi-1)是一個第i-1個單詞的m維詞向量表示,ri是重置門的輸出,當yi是一個1*k的向量表示時,e(yi)是一個m*K矩陣的E中的一列。更新們決定之前狀態的多少信息被保留,而充值門則決定之前有多少信息被遺忘或者去除。我們可以使用下面公式計算他們。

是一個傳統的sogmoid激活函數

3.3.2 對齊模型

假如輸入句子的序列長度爲Tx,輸出序列的句子長度爲Tx,而對齊模型需要進行Tx*Ty次評估並自我更新。爲了減少運算量,我們可以採用如下計算方式。

其中,Wa,Ua,Va都是模型參數矩陣。由於與i無關,所以可以提前計算獲得

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章