Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V. Le, Mohammad Norouzi ArXiv.org Google`s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V. Le, Mohammad Norouzi yonghui,schuster,zhifengc,qvl,mnorouzi@google.com 十年前,我们发布了Google Translate(谷歌翻译),这项服务背后的核心算法是基于短语的机器翻译(PBMT:Phrase-Based Machine Translation)。自那时起,机器智能的快速发展已经给我们的语音识别和图像识别能力带来了巨大的提升,但改进机器翻译仍然是一个高难度的目标。 Kai Chen 2016/10/18
Outline SMT: Statistical Machine Translation NMT: Neural Machine Translation GNMT:Google Neural Machine Translation
SMT(统计机器翻译) 思想:机器自动从大规模的语料中学习得到转化规则n-gram 方法:将输入句子分解成词和短语,然后很大程度上对它们 进行独立地翻译 缺点:SMT需要人为设计许多特征,无法覆盖所有的语言规 则;难以利用全局的特征;过于依赖词语对齐、分词、规则 抽取等预处理工作; Ok, here is a question, As we all know that Go is a very famous game to human, but how does computer play this game, especially against human ? Here, I will introduce the main idea ,in other words, the traditional Algorithm to you to show the details.
SMT(统计机器翻译) D=(x1,y1) ,(x2,y2), ... , (xn,yn) 代表一个包含N个平行句对 p(y|x) 对数似然函数 宗成庆、张霄军《统计机器翻译》
NMT(神经机器翻译) s -> s
NMT 用原有SMT系统得到候选译文后,再用神经网络对候选译文进行重排序(re-rank)
NMT 语言模型 基于神经网络的语言模型最早由Bengio于2003年提出,通过将每个词映射成为一个固定长度的实数向量有效缓解了数据稀疏性问题 Mikolov等人提出基于RNN的语言模型
NMT 前面所谈到的语言模型都在翻译第n个词时,只考虑目标语言端的前n-1个词,Devlin 认为源语言端的信息也非常重要,由此提出神经网络联合模型(NNJM),使翻译效果有了很大提升。
NMT 改变:将整个输入句子视作翻译的基本单元 方法:两个 Recurrent Neural Networks (RNNs) 递归神经网络。一个用来处理输入的文本 (encoder network),一个用来生成翻译后的文本 (decoder network)。 Here, we have to main steps. Firstly, we need a cost function to decide whether the path we choose is the optimal path. Then, computer need to search all the possible cells it can drop the chessman by minimizing cost function V(S). But In Go, b=two hundred and fifty ,d=one hundred and fifty. What a huge number !!! We cannot search the optimal path by force!
RNN (循环神经网络) 用于输入维度不固定的情景,如机器翻译、手写字体识别、语音识别 Here, we have to main steps. Firstly, we need a cost function to decide whether the path we choose is the optimal path. Then, computer need to search all the possible cells it can drop the chessman by minimizing cost function V(S). But In Go, b=two hundred and fifty ,d=one hundred and fifty. What a huge number !!! We cannot search the optimal path by force!
RNN (循环神经网络) 梯度爆炸(blow up)梯度消失(vanish) 反向传播得到的梯度结果展开后大致长成 Here, we have to main steps. Firstly, we need a cost function to decide whether the path we choose is the optimal path. Then, computer need to search all the possible cells it can drop the chessman by minimizing cost function V(S). But In Go, b=two hundred and fifty ,d=one hundred and fifty. What a huge number !!! We cannot search the optimal path by force!
LSTM(Long short-term memory) input gate: 表示是否允许当前的输入信息加入到隐层状态中 output gate: 表示是否允许当前的隐藏层节点的输出值传递到下一层 forget gate: 表示是否保留当前节点的历史状态 Here, we have to main steps. Firstly, we need a cost function to decide whether the path we choose is the optimal path. Then, computer need to search all the possible cells it can drop the chessman by minimizing cost function V(S). But In Go, b=two hundred and fifty ,d=one hundred and fifty. What a huge number !!! We cannot search the optimal path by force!
Encoder-Decoder Architecture for MT 从机器学习的角度看,机器翻译其实就是一个有监督学习的过程,学习一个任意长度的序列到另一个任意长度的序列的过程
Encoder-Decoder Architecture for MT 将源语言单词映射到一个固定维度的稠密向量(Word Embedding) 使用LSTM讲源语言句子压缩成一个向量hT Decoder 使用LSTM逆向将hT分解成目标语言的词语序列
NMT的优劣 优点: 相比于SMT,这种方法所需的工程设计更少。 缺点: 1.速度慢:对大规模的数据集,训练的速度慢;推断 (即最后翻译) 的速度也慢,因为涉及到大量的参数; 2.准确率低,不稳健(lack robustness):处理罕见词时比较低效; 3.有时候并不翻译所有输入的内容,即,没有完全覆盖 (cover)所有的输入文本。
NMT的一些改进 模拟外部对准模型(external alignment model)来处理罕见词 使用注意(attention)来对准输入词和输出词 将词分解成更小的单元以应对罕见词 尽管有这些进步,但 NMT 的速度和准确度还没能达到成为 Google Translate 这样的生产系统的要求
Attention
GNMT 我们的模型由带有 8 个编码器和 8 个解码器的深度 LSTM 网络组成,其使用了注意(attention)和残差连接(residual connections)。 为了提升并行性从而降低训练时间,我们的注意机制将解码器的底层连接到了编码器的顶层。 为了加速最终的翻译速度,我们在推理计算过程中使用了低精度运算。 为了改善对罕见词的处理,我们将词分成常见子词(sub-word)单元(词的组件)的一个有限集合,该集合既是输入也是输出。这种方法能自然地处理罕见词的翻译、并能最终提升系统的整体准确度。 我们的波束搜索技术(beam search technique)使用了一个长度规范化(length-normalization)过程,并使用了一个覆盖度惩罚(coverage penalty),其可以激励很可能能覆盖源句子中所有的词的输出句子的生成。 Traditionally, BaseLine method called MCST, which means the Monte Carlo Search Tree is used in reduce the huge search space. Here is the overview of MCST, I won’t tell the details about the method, but There are many problems: Time consuming, Low accuracy ! That is why AlphaGo proposed.
GNMT
GNMT
Q&A
韩春雨事件 5月《自然·生物技术》 新的基因编辑技术NgAgo-gDNA 多国学者表示无法重复试验 《自然》要求韩提供实验细节 8月韩提供新版本的实验要求 10月10日 国内13名科学家实名声称新版本实验无法重复,要求第三方机构介入调查