[神经机器翻译理论与实作] Google Translate的神奇武器- Seq2Seq (I)

前言

Google 在2016年公开宣布翻译系统的全面改革,一改沿用多年的 Phrase-Based Statistical Machine Translation ,转而采用了当时最新颖技术的 sequence-to-sequence model (简写为 Seq2Seq)来提升翻译品质。今天就让我们深入来探讨这个模型背後的架构!

Google Translate采用 Seq2Seq 模型之後大幅提升翻译品质:

图片来源:Google AI Blog

Seq2Seq模型概述

Seq2seq是一类将序列转化为序列技术的统称,最初即是由 Google Translate 研究团队所开发( 首次公布於 2014年的论文 Sequence to Sequence Learning with Neural Networks ),并最终在2016年之後 GNMT 系统全面取代了既有的统计翻译方法。目前 seq2seq 除了用来翻译之外,还被使用来自动整理文件摘要、建立聊天机器人等任务。
Seq2seq 的基本架构由一个编码器( encoder )和一个解码器( decoder )所组成,因此又被称为 encoder-decoder network 。 当某一串序列(字符排列、句子或其他时间序列)输入encoder 後会被转为 context vector (也被称为 sentence embedding ),其将当下的输入字词以及上下文保留起来,并传入 decoder ,最後得到另一串序列。 Encoder 本身是一个由诸多递回小单元(或称记忆细胞)所串联而成,可以是 RNNLSTM 或是 GRU 等具有循环性值的神经网络。 decoder 的组成与 encoder 极为相近,差别在於当下输出的 https://chart.googleapis.com/chart?cht=tx&chl=y_t 会当作下一个时刻 t+1 的输入。

以RNN作为循环小单元的seq2seq架构:
https://ithelp.ithome.com.tw/upload/images/20210927/20140744eIkNpLKXiw.jpg

在上一篇关於文本生成的介绍中我们提到字符级的生成器,其输入序列可以是字符序列(例如{'A', 'B', 'C', '<EOS>'})也可以为单词序列(例如{"I", "would", "like", "to", "say", "<EOS>"}),而输出则是字符序列;单词级的生成任务则是预测单词序列。而以机器翻译而言,输入序列则是 word embedding 向量序列, 输出序列亦然。

Google NMT的encoder-decoder神经网络,以LSTM作为编码器及解码器的设计:
https://ithelp.ithome.com.tw/upload/images/20210927/201407446CQ4DxCzBQ.jpg

图片来源:Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation (2016)

结语

今天先介绍 seq2seq 模型的架构,明天我们会从最简单的 RNN 架构的编码器讲起,再提到 LSTM 架构,藉此补足先前未细谈的模型数学式,并且以深度学习框架 Tensorflow 撰写 encoder LSTMdecoder LSTMPython 程序码。今天是假期过後的第一天,各位也和我一样经历了 Monday blue 吗?废话不多说,我们明天见!

阅读更多

  1. A Neural Network for Machine Translation, at Production Scale

<<:  Day26 我有权保持沉默?

>>:  [Day 12]我也好想成为时间管理大师(後端篇)

[Day2]什麽是区块链?

Hi~今天要介绍什麽是区块链!会分成五个部分,分别是定义、起源、特性、优点、缺点! 定义 当你听到...

[Day13] Android - Kotlin笔记:Parcelable & Serializable 与 SafeArgs的传递

这边简单介绍两者差异和选择: Parcelable: 效能比Serializable好,在记忆体开销...

用 Python 畅玩 Line bot - 25:权限分享

有时候一个 line bot 不会只有一个人去做管理,但是总有不方便共用 line 帐号的时候,这时...

[ Day10] Web 小复习

哈罗各位安安 今天是连续发文的第10天 我没囤文,每天当下产文完成1/3了 洒花~ ㄟ我会不会太早庆...

[ Day8 ] Web 小回归

昨天我们解完 General Skills 感觉还不错 我下周预计会往 Crypto . Rever...