另一個讓人驚喜的
RNN 應用是機器翻譯。這種方法很有趣,因為它需要同時訓練兩個
RNN。在這些網絡中,輸入的是成對的不同語言的句子。例如,你能給這個網絡輸入意思相同的一對英法兩種語言的句子,其中英語是源語言,法語作為翻譯語言。有了足夠的訓練后,你給這個網絡一個英語句子,它就能把它翻譯成法語!這個模型被稱為序列到序列模型(Sequence
to Sequences model )或者編碼-解碼模型(Encoder- Decoder model)。
英法翻譯的例子
這張圖表展示了信息流是如何通過編碼-解碼模型的,它用了一個詞嵌入層(
word embedding layer )來獲取更好的詞表征。一個詞嵌入層通常是 GloVe 或者 Word 2 Vec
算法,能批量采納詞,并創建一個權重矩陣,讓相似的詞相互連接起來。用一個嵌入層通常會讓你的 RNN
更加精確,因為它能更好的表征相似的詞是什么樣的,以便減少網絡的推斷。