2018年3月1日
Literature Survey: Study of Neural Machine Translation
摘要
训练基于注意力机制的端到端的翻译模型,使用词和用byte Pair Encoding 分词处理后得到的子词作为训练数据,通过案例研究BPE的效果。
MTL方法 是在平行语料中 学习印度语言对的翻译,我们基于MLT方法解释了基于多方法多语料模型,与此同时,通过与单对伸进机器翻译相比,我们还涵盖了多方法多语言神经网络机器翻译所获得的性能。
介绍
基于统计机器翻译词组通过类似于语言模型和翻译模型单独作用的子组件 解决机器翻译的问题。但是神经机器翻译是建立从end-end 到一个大的神经网络模型来实现同样的目标。
机器翻译系统背后的基础理论是编码变长的词序列成为定长的向量,定长的向量可以总结整个句子。然后在目标语言中解码这个编码后的向量,得到源语言的翻译。整个编码-解码模型联合被训练使得给定条件概率p(y|x)最大化。
2神经网络机器翻译
2.1 基础编码-解码模型
这个模型被分为编码和解码两个部分,两者都是使用RNN。编码端编码变长的句子成为固定长度的向量,称为概要向量或者是文本向量。解码器使用这个句子的矢量表示并生成目标语言的翻译。
编码器:编码器是一个RNN,它每次看到一个在句子中的词就更新,他最后的状态归纳了整个句子,成为归纳向量hT
第一步:编码句子时,在任何时间点输入的词,是输入到编码器中作为one-hot向量wi。
第二步:现在,输入的向量wi被转换为低维连续空间矢量表示si。为了得到低维连续空间矢量,我们可以使用之前学过的词嵌入向量E或者联合训练它们。词嵌入矩阵包含了和词汇表中单词一样数目的列。词嵌入矩阵中第i列代表的是连续向量空间代表的词汇表中第i个词。因此当作为词嵌入矩阵和one-hot向量的乘积时,如等式1所示,选择对应词的连续空间向量。
第三步:在这个步骤中,RNN隐藏层更新,并且在句子中参与新的si的计算。 其中f是非线性的RNN函数,取决于RNN的使用的变量(Vanilla、LSTM 和GRU)
在这句话的最后一个词处理以后,隐藏层hT是编码器获得的这句话的归纳向量。它是一个固定维度的向量,代表整句话。
解码器:解码器也是一个RNN,采用输入作为归纳向量,之前产生的为目标词和它的最后一个隐藏层。在处理输入后,得到每一个词在目标语言中的概率分布。目标词此时通过简单的从概率分布中取样。处理解码过程描述如下:
第一步:首先,解码器的状态计算方法如下:
其中zi和zi-1表示当前和前一个解码器的状态。hT是归纳的向量,ui-1是前一个状态产生的目标词,f’是RNN非线性转换函数
第二步:基于当前的解码器的转台,我们计算每一个在词典中的词的得分,最后将分数转化为概率
这里的ek,wk是得分和第k个词在词汇表中的表征向量。如果它与解码器能很好的匹配,那么它的得分很高,否则很低。是第k个词的概率,对于所有的k属于1到V
第三步:从第二步中得到的概率分布,我们取样目标词。解码器这个时候重复步骤一到三。直到所有的句子执行完。这样就产生了对应于输入的源语句的目标语句。
这样边看边翻译阅读文献速度太慢,是否继续更新看心情,如有心得体会与我交流可留言
网友评论