机器翻译的前世今生

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器翻译的前世今生相关的知识,希望对你有一定的参考价值。

简 介: 本文从机器翻译领域的历史入手,介绍了机器翻译提出以来的发展历史,包括早期的基于规则的翻译、后来的基于统计语言模型的机器翻译,尤其是当代的神经网络机器翻译。神经网络机器翻译早期的人工神经网络 RNN、LSTM出发,到如今发展到 Transformer模型,本文综合叙述了这部分的发展历程以及发展趋势,并对未来进行了展望。

关键词 经网络机器翻译编码器-解码器注意力机制Transformer

  • 作者:赵俞廷
引 言 目 录
Contents
机器翻译 机器翻译早期 统计机器翻译时期 神经网络机
器翻译时期
RNN网络翻译 RNN和LSTM Seq2Seq Attention机制 TransformerMNT Transformer Bert模型 Transformer发展 结论与展望 参考文献

 

§01   言


  器翻译一直与计算机科学、电子科学、语言学等学科的发展息息相关。机器翻译的定义是将从一种语言的序列自动地翻译成另一种语言序列。计算机科学发展早期,由于计算机的计算能力不强,语料库不足,机器翻译没有得到很好的发展。

  但今天,机器翻译已经非常成熟,百度翻译和谷歌翻译支持的语种越来越多,翻译结果越来越接近目标语言的表达方式。为了了解这方面的发展过程,本文将对机器翻译进行综述。内容介绍机器翻译技术的发展,包含机器翻译的演进历史与基本思想、端到端的神经翻译网络内部细节、技术落地过程中的部分实践经验,以及对翻译技术未来发展方向的一些思考。同时,考虑到与人工神经网络的结合,本文将着重介绍利用人工神经网络来进行机器翻译,利用人工神经网络进行的翻译也就是神经网络机器翻译( NMT,Neural Machine ranlation)。

 

§02 器翻译


  部分将介绍机器翻译领域的发展历史。从历史来看,由于其本身的战略价值,机器翻译的发展经历了早期的繁荣,但很快消失。随着计算机硬件的发展,统计机器翻译在上世纪 90年代开始复苏。近些年由于人工神经网络技术的发展,利用神经网络进行机器翻译开始出现,而且基于神经网络的机器翻译效果更好。所以总体来看,可以把机器翻译分为早期、统计机器翻译时期、神经网络机器翻译时期。本部分主要介绍机器翻译发展历史以及关键的时间节点。

2.1 机器翻译早期

  在计算机发明后不久的 20世纪 40年代,人类对就开始进行机器翻译相关的研究了,最早主要是为了其战略意义而研究。 1949年, W.Weaver发表了一份题为“翻译”的备忘录,正式提出了机器翻译问题。 1954年,美国乔治敦大学在 IBM公司的协同下首次完成了英俄机器翻译实验,但这次实验是包装好的,机器只能对有限的特定几句话进行翻译。从 20世纪 50年代开始到 20世纪 60年代前半期,机器翻译研究呈不断上升的趋势。美国和前苏联两个超级大国出于军事、政治、经济目的,均对机器翻译项目提供了大量的资金支持,机器翻译一时出现热潮。这个时期机器翻译虽然刚刚处于开创阶段,但已经进入了乐观的繁荣期。由于硬件的限制,当时的人们无法看到机器翻译的未来,所以在 1954年,美国 ALPACAutomaticLanguage Processing Advisory Committee)全盘否定了机器翻译的可行性,使得投入到机器翻译的资金断崖式下跌,发展进入了寒冬期。

2.2 统计机器翻译时期

  随着计算机硬件以及自然语言处理技术的发展,机器翻译又重新回到了我们的视野中。统计自然语言处理技术开始出现。统计自然语言处理是语言的一个分支,主要通过词频技术、 n-gram模型、隐马尔科夫链等对语言进行统计。 1980年代末期, IBM公司开展了这方面的研究。 IBM公司的 Brown D P[1]等人在 1993 年提出了统计机器翻译模型,并介绍了翻译序列前后对其的概念,比历史上之前出现过的机器翻译方法都更有效。人们在此基础上,使用 n-gram的方法,再一次提高了统计机器翻译的精度, 2006Google基于这种方法,提出了首个在线机器翻译系统。

2.3 神经网络机器翻译时期

  2015年,百度率先发布了全球首个神经网络机器翻译系统,获得北京市科技进步一等奖。 2016年, Google公布了其神经网络机器翻译系统 GNMT,其翻译的水平已经接近常人,这意味着机器翻译领域已经进入 NMT时期。 GNMT的背后,有着 RNNLSTMSeq2SeqAttention机制、 Beam SearchEncoder-Decoder架构等模型。神经网络发展非常迅速, 2017年出现了 Transofmer,后续出现了大型预训练模型如 BertGPTElmo,这些预训练模型效果强大,在某些领域上已经超过了人类水平。以上人工神经网络技术正是本文所要介绍的重点。

 

§03 RNN网络翻译


3.1 RNN和LSTM

  关于 RNN(循环神经网络),最早可以追溯到 1982Hopfield [2]提出的单层反馈神经网络,用来解决组合优化问题。 1990年, Elman J L [3]总结前人的成功,定义了循环神经网络的现代形式。 RNN模型最早用于解决序列预测问题,它的模型定义了隐藏状态,后一个时刻的输出由前一个时刻以及当前的隐状态共同决定。为了解决 RNN的短期记忆问题, 1997S Hochreite [4]提出了长短期记忆网络 LSTM,利用网络自动学习所需要的序列内容,自动地进行“记忆”有价值的内容。 LSTM在后期影响深远,引用量高达 26000,成为目前深度学习领域引用量最高的论文。在 Transformer出现之前,人们在 NLP领域长期依赖 LSTM网络系列的模型。

  对于神经网络机器翻译问题,损失函数通常取 BLEU [5],它由 IBM research division2002年提出其数学表达式为:

log ⁡ B L U E = min ⁡ ( 1 − r c , 0 ) + ∑ n = 1 N w n log ⁡ p n \\log BLUE = \\min \\left( 1 - r \\over c,0 \\right) + \\sum\\limits_n = 1^N w_n \\log p_n logBLUE=min(1cr,0)+n=1Nwnlogpn

  BLEU指标在机器翻译是非常经典的,从 2002年提出以来一直沿用至今。 R,c分别表示序列标签的词元数以及预测序列的词元数, pnn元语法的精确度,当 n固定时, wn会根据序列长度给予惩罚。 BLEU指标可以评估机器翻译与人工翻译的接近程度,具有计算速度快且效果贴近人工翻译的特点。

3.2 Seq2Seq

  神经网络机器翻译是端对端的输入和输出,这符合 Encoder-Decoder架构。在介绍 Seq2seq之前,需要先介绍 Encoder-Decoder架构。 Encoder-Decoder是一类模型,即通过编码器把输入的序列数据(可以是文本、语音或图像)转化为一定维度的向量,再通过解码器将编码后的数据解码为序列。 Seq2seq就是一个典型的使用编码器 -解码器架构的模型,由 Ilya2014年提出 [6],模型结构如图所示:

▲ 图3.2.1 Seq2Seq网络模型

  这个模型使用 5层深的单向 LSTM,通过 beam search的方法构成解码器。 Beam SearchFreitag M[7]2017年提出,在预测时通过剪枝,可以克服指数级的时间复杂度,同时比贪心策略效果更好。最终,这种方法在 WMT英语 -法语的翻译数据集中的 Bleu值达到了 36.5,论文引入的 Seq2seq模型为机器翻译后续的发展奠定了基础。

3.3 Attention机制

  注意力机制是深度学习领域内一个非常重要的创新。 2014年, Bahdanau [8]首次在 Seq2seq模型中引入了注意力机制,引入注意力机制后的 Seq2seq模型如下:

▲ 图3.3.1 引入Attension机制的Seq2Seq模型

  循环神经网络编码器将长度可变的序列转换为固定形状的上下文变量,然后循环神经网络解码器根据生成的词元和上下文变量按词元生成目标序列词元。然而,即使并非所有输入词元都对解码某个词元都有用,在每个解码步骤中仍使用编码相同的上下文变量。 Bahdanau注意力机制的思想是在解码器中,对上一个时刻的隐状态进行注意力加权,这里加的权重就是注意力权重。注意力机制对机器翻译后续发展产生了深远的影响。

  加了注意力机制后的 Seq2seq会使得神经网络在翻译的时候优先考虑原句子中对应的部分,这也是原作者把注意力机制应用在神经网络机器翻译的动机。具体实现方式为:编码器把每次词的输出作为 key-value对,把解码器中 LSTM对上一个词的隐藏状态作为 query,注意力的输出和下一个词的词嵌入合并进入 LSTM输出。

 

§04 TransformerMNT


4.1 Transformer

  Transformer出自 2017Google的论文 [9],它只依赖自注意力来做 encoder(原始输入变成机器学习可以理解的向量) -decoder(利用编码输出 m长度的序列) ,解码的时候输出又是下一个的输入,自回归。由于完全没有使用 CNNRNN,它也被称为新一代的神经网络模型。其模型结构为:

▲ 图4.1.1 Transformer 网络模型

  它也是使用了前人的 Encoder-Decoder的架构,在 Encoder中,将词向量 Embedding再加入表征位置信息的位置编码,输出 512维度到 Transformer块中。每个 Transformer块包括多头自注意力层,残差连接、层标准化。下面对它们进行简介:

4.1.1 Masked多头自注意力

Transformer中使用的注意力机制函数是 Scaled点积注意力:将一个 query和一些 K-V,使用内积注意力 :

A t t e n s i o n ( Q , K , V ) = s o f t max ⁡ ( Q K T ) V d k Attension\\left( Q,K,V \\right) = soft\\max \\left( QK^T \\right)V \\over \\sqrt d_k Attension(Q,K,V)=dk softmax(QKT)V

  这里的 d k \\sqrt d_k 以上是关于机器翻译的前世今生的主要内容,如果未能解决你的问题,请参考以下文章

Word2Vec-语言模型的前世今生

机器学习Logistic Regression 的前世今生(理论篇)

深度学习框架的前世今生

深度学习机器学习与NLP的前世今生

ARMv8-A 地址翻译技术之MMU的前世今生

哈希算法的前世,今生和未来