赞
踩
简 介: 本文从机器翻译领域的历史入手,介绍了机器翻译提出以来的发展历史,包括早期的基于规则的翻译、后来的基于统计语言模型的机器翻译,尤其是当代的神经网络机器翻译。神经网络机器翻译早期的人工神经网络 RNN、LSTM出发,到如今发展到 Transformer模型,本文综合叙述了这部分的发展历程以及发展趋势,并对未来进行了展望。
关键词
: 经网络机器翻译,编码器,-解码器,注意力机制,Transformer
机器翻译一直与计算机科学、电子科学、语言学等学科的发展息息相关。机器翻译的定义是将从一种语言的序列自动地翻译成另一种语言序列。计算机科学发展早期,由于计算机的计算能力不强,语料库不足,机器翻译没有得到很好的发展。
但今天,机器翻译已经非常成熟,百度翻译和谷歌翻译支持的语种越来越多,翻译结果越来越接近目标语言的表达方式。为了了解这方面的发展过程,本文将对机器翻译进行综述。内容介绍机器翻译技术的发展,包含机器翻译的演进历史与基本思想、端到端的神经翻译网络内部细节、技术落地过程中的部分实践经验,以及对翻译技术未来发展方向的一些思考。同时,考虑到与人工神经网络的结合,本文将着重介绍利用人工神经网络来进行机器翻译,利用人工神经网络进行的翻译也就是神经网络机器翻译( NMT,Neural Machine ranlation
)。
本部分将介绍机器翻译领域的发展历史。从历史来看,由于其本身的战略价值,机器翻译的发展经历了早期的繁荣,但很快消失。随着计算机硬件的发展,统计机器翻译在上世纪 90
年代开始复苏。近些年由于人工神经网络技术的发展,利用神经网络进行机器翻译开始出现,而且基于神经网络的机器翻译效果更好。所以总体来看,可以把机器翻译分为早期、统计机器翻译时期、神经网络机器翻译时期。本部分主要介绍机器翻译发展历史以及关键的时间节点。
在计算机发明后不久的 20
世纪 40
年代,人类对就开始进行机器翻译相关的研究了,最早主要是为了其战略意义而研究。 1949
年, W.Weaver
发表了一份题为“翻译”的备忘录,正式提出了机器翻译问题。 1954
年,美国乔治敦大学在 IBM
公司的协同下首次完成了英俄机器翻译实验,但这次实验是包装好的,机器只能对有限的特定几句话进行翻译。从 20
世纪 50
年代开始到 20
世纪 60
年代前半期,机器翻译研究呈不断上升的趋势。美国和前苏联两个超级大国出于军事、政治、经济目的,均对机器翻译项目提供了大量的资金支持,机器翻译一时出现热潮。这个时期机器翻译虽然刚刚处于开创阶段,但已经进入了乐观的繁荣期。由于硬件的限制,当时的人们无法看到机器翻译的未来,所以在 1954
年,美国 ALPAC
(AutomaticLanguage Processing Advisory Committee
)全盘否定了机器翻译的可行性,使得投入到机器翻译的资金断崖式下跌,发展进入了寒冬期。
随着计算机硬件以及自然语言处理技术的发展,机器翻译又重新回到了我们的视野中。统计自然语言处理技术开始出现。统计自然语言处理是语言的一个分支,主要通过词频技术、 n-gram
模型、隐马尔科夫链等对语言进行统计。 1980
年代末期, IBM
公司开展了这方面的研究。 IBM
公司的 Brown D P[1]
等人在 1993
年提出了统计机器翻译模型,并介绍了翻译序列前后对其的概念,比历史上之前出现过的机器翻译方法都更有效。人们在此基础上,使用 n-gram
的方法,再一次提高了统计机器翻译的精度, 2006
年 Google
基于这种方法,提出了首个在线机器翻译系统。
2015
年,百度率先发布了全球首个神经网络机器翻译系统,获得北京市科技进步一等奖。 2016
年, Google
公布了其神经网络机器翻译系统 GNMT
,其翻译的水平已经接近常人,这意味着机器翻译领域已经进入 NMT
时期。 GNMT
的背后,有着 RNN
、LSTM
、Seq2Seq
、Attention
机制、 Beam Search
、Encoder-Decoder
架构等模型。神经网络发展非常迅速, 2017
年出现了 Transofmer
,后续出现了大型预训练模型如 Bert
、GPT
、Elmo,
这些预训练模型效果强大,在某些领域上已经超过了人类水平。以上人工神经网络技术正是本文所要介绍的重点。
关于 RNN
(循环神经网络),最早可以追溯到 1982
年 Hopfield [2]
提出的单层反馈神经网络,用来解决组合优化问题。 1990
年, Elman J L [3]
总结前人的成功,定义了循环神经网络的现代形式。 RNN
模型最早用于解决序列预测问题,它的模型定义了隐藏状态,后一个时刻的输出由前一个时刻以及当前的隐状态共同决定。为了解决 RNN
的短期记忆问题, 1997
年 S Hochreite [4]
提出了长短期记忆网络 LSTM,
利用网络自动学习所需要的序列内容,自动地进行“记忆”有价值的内容。 LSTM
在后期影响深远,引用量高达 26000
,成为目前深度学习领域引用量最高的论文。在 Transformer
出现之前,人们在 NLP
领域长期依赖 LSTM
网络系列的模型。
对于神经网络机器翻译问题,损失函数通常取 BLEU [5]
,它由 IBM research division
在 2002
年提出其数学表达式为:
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(1−cr,0)+n=1∑Nwnlogpn
BLEU
指标在机器翻译是非常经典的,从 2002
年提出以来一直沿用至今。 R,c
分别表示序列标签的词元数以及预测序列的词元数, pn
是 n
元语法的精确度,当 n
固定时, wn
会根据序列长度给予惩罚。 BLEU
指标可以评估机器翻译与人工翻译的接近程度,具有计算速度快且效果贴近人工翻译的特点。
神经网络机器翻译是端对端的输入和输出,这符合 Encoder-Decoder
架构。在介绍 Seq2seq
之前,需要先介绍 Encoder-Decoder
架构。 Encoder-Decoder
是一类模型,即通过编码器把输入的序列数据(可以是文本、语音或图像)转化为一定维度的向量,再通过解码器将编码后的数据解码为序列。 Seq2seq
就是一个典型的使用编码器 -解码器架构的模型,由 Ilya
在 2014
年提出 [6]
,模型结构如图所示:
▲ 图3.2.1 Seq2Seq网络模型
这个模型使用 5
层深的单向 LSTM
,通过 beam search
的方法构成解码器。 Beam Search
由 Freitag M[7]
在 2017
年提出,在预测时通过剪枝,可以克服指数级的时间复杂度,同时比贪心策略效果更好。最终,这种方法在 WMT
英语 -法语的翻译数据集中的 Bleu
值达到了 36.5
,论文引入的 Seq2seq
模型为机器翻译后续的发展奠定了基础。
注意力机制是深度学习领域内一个非常重要的创新。 2014年, Bahdanau [8]首次在 Seq2seq模型中引入了注意力机制,引入注意力机制后的 Seq2seq模型如下:
▲ 图3.3.1 引入Attension机制的Seq2Seq模型
循环神经网络编码器将长度可变的序列转换为固定形状的上下文变量,然后循环神经网络解码器根据生成的词元和上下文变量按词元生成目标序列词元。然而,即使并非所有输入词元都对解码某个词元都有用,在每个解码步骤中仍使用编码相同的上下文变量。 Bahdanau
注意力机制的思想是在解码器中,对上一个时刻的隐状态进行注意力加权,这里加的权重就是注意力权重。注意力机制对机器翻译后续发展产生了深远的影响。
加了注意力机制后的 Seq2seq
会使得神经网络在翻译的时候优先考虑原句子中对应的部分,这也是原作者把注意力机制应用在神经网络机器翻译的动机。具体实现方式为:编码器把每次词的输出作为 key-value
对,把解码器中 LSTM
对上一个词的隐藏状态作为 query,
注意力的输出和下一个词的词嵌入合并进入 LSTM
输出。
Transformer
出自 2017
年 Google
的论文 [9]
,它只依赖自注意力来做 encoder
(原始输入变成机器学习可以理解的向量) -decoder(利用编码输出 m
长度的序列) ,
解码的时候输出又是下一个的输入,自回归。由于完全没有使用 CNN
和 RNN
,它也被称为新一代的神经网络模型。其模型结构为:
▲ 图4.1.1 Transformer 网络模型
它也是使用了前人的 Encoder-Decoder
的架构,在 Encoder
中,将词向量 Embedding
再加入表征位置信息的位置编码,输出 512
维度到 Transformer
块中。每个 Transformer
块包括多头自注意力层,残差连接、层标准化。下面对它们进行简介:
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 }
dk
是因为,当序列长度很大的时候,点积结果的数值之间相对差距
就会很大,导致 softmax
出来的结果两极分化,这样梯度会比较小,模型难以训练。自注意力的本质是对相似的 k-v
给更大的权重。挑选有意义的信息,编码器和解码器之间的传递信息。
▲ 图4.1.2 Masked多头自注意力
对所有待翻译的序列,先投影到低维度,再进行自注意力。为了识别不一样的模式,采用 h
个像 CNN
的多通道一样的通道,以获取更丰富的特征。
不同于 CNN中常用的 BatchNorm,LN层对每个样本做 Norm,相当于转置 ->BN->转置。
▲ 图4.1.3 LayerNorm示意图
Transformer
中使用 LayerNorm
原因是,每个句子的长度是不一样的,是每个样本自己归一化。
在 Transformer中的 FFN层本质上就是全连接,其特殊的地方在于,对于同一个 MLP,对每个词作用一次:
F F N ( x ) = max ( 0 , x W 1 + b 1 ) + b 2 FFN\left( x \right) = \max \left( {0,xW_1 + b_1 } \right) + b_2 FFN(x)=max(0,xW1+b1)+b2
在 Attention
机制中,抓取全局序列信息,然后进行注意力汇聚。输出的时候已经有了需要的序列信息,然后 MLP
转到别的语义空间。相比于 CNN
,自注意力的视野可以直接看到整个序列。相比于 RNN,RNN
把上一时刻输出和当前时刻输入并到一块,输入到下一个时刻,缺点在于 RNN
无法并行,而自注意力高度并行化,方便使用 GPU
计算。
在英法语翻译中, Transformer
表现出了优异的成绩,在 WMT
英法翻译中, BLEU
值达到了 43.0
,英德翻译数据集中 BLEU
达到了 29.2
,达到了当时的 SOTA
水平,比之前效果最好的 Google
神经网络机器翻译模型( GNMT
,基于 Attention
机制和 LSTM
的模型)有了较大提升。除了在机器翻译领域取得了巨大的效果之外, Transformer
在深度学习的几乎所有领域(如文本、计算机视觉、语音处理)等都展现了优势,成为目前深度学习领域的焦点。
Transformer
模型的一个显著特点是,模型太大,训练相对困难,且后续出现的 Transformer
类的模型将模型做的越来越大。为了方便下游任务的需要, Peters M[10]
借鉴计算机视觉中常用的预训练 +
微调的思路,提出了 Elmo
模型。 Elom
模型主要使用的是双向 LSTM
。此外, OpenAI
也沿用此思路 ,
提出了基于单向 Transformer
的 GPT
模型 [11]
,在 2018
年, Jacob[12]
提出了 Bert,
它是用于预训练的深度双向的 Transformer
,刷新了当时许多 NLP
任务的榜单,引领了 NLP
领域的预训练 +
微调的新范式。三个模型的架构如下图所示:
▲ 图4.2.1 三个模型架构
在预训练模型训练好之后,所有的权重在下游任务上微调。 ELMO
和 GPT
都是使用的单向的语言模型(即给定一句话去预测下一个词), BERT
使用的是带掩码的语言模型,每次选一定的词元,把他盖住,去预测盖住的词(完形填空)。虽然 Bert
在许多 NLP
的任务中表现都非常优秀,但是 Bert
更常用于用作微调,而不是上下文的嵌入理解,因而在机器翻译领域效果不佳。 2020
年, Zhu[13]
提出了 Bert
融合模型,使用 Bert
进行输入序列的表示,然后通过注意力机制将表示与 Transformer
中的 Encoder
和 Decoder
的每一层进行融合的架构:
▲ 图4.2.2 融合架构
最终在 WMT14
的英语法语数据集上达到了 43.78
的 BLEU,
在英语德语翻译中达到了 30.75
的 BLEU
值。
在 NMT
任务中, Transformer
类模型至今处于各种数据集的前列。目前排名靠前的模型都是 Transformer
的变种。 X Liang[14]
等提出 R-Drop,
改进了 Dropout
层,可以使 Drop
生成的不同子模型的输出分布一致,提升了预测的精度。 2020
年, Lin Z[15]
等提出了一种多语种的神经网络机器翻译模型,且效果比单语种的预测更好。在数据增强方面, S Edunov[16]
等提出了回译的方法,显著增加了预测精度。在模型方面,本来已经很庞大的 Transformer
模型还在不断加深, 2020
年 X Liu[17]
提出了非常深的 Transformer
模型用来神经网络机器翻译任务,该模型使用了多达 60
个 Encoder,
和 12
个 Decoder
的 Transformer
模型,这些深层的模型性能比初始的 Transformer
在 WMT14
英法语翻译中上升了 2.5
个 BLEU
。
本文重点介绍的是神经网络机器翻译,从发展的历史出发,介绍了其各个时间的发展。通过以上介绍我们可以发现,随着计算机计算能力的发展,模型可以做的更大更深,发展迅速。神经网络机器翻译的水平已经接近可用,大部分时候接近人类水平。但是,神经网络机器翻译仍然面临着明显的缺点,尤其是对 Transformer
类模型,当数据量不足时,模型的效果会急剧下降。此外,神经网络机器翻译常常遇到漏译等问题,这些都是 NMT
所面临的挑战。
随着算力的增加,未来模型的趋势必然会更大、更深,如 OpenAI
的 GPT3
模型,高达千亿级参数,完全训练需要上亿美元,一般的研究者或企业完全无法承受,所以这也造成了一定程度的上的垄断。但不得不承认的是, GPT3
在某些领域上已经达到了超越人类的水平,比如 GPT3
生成的假新闻无法被人类分辨出来。关于 NMT
的未来,我们仍要有乐观的态度,相信未来会出现更小数据下可以达到更高精度的模型,或新的应用范式。
自然语言处理作为人工智能皇冠上的明珠,在近些年取得了突破性进展,其中最重要的是 Transformer
类模型的发展以及编码器 -解码器的架构,为计算机视觉等领域也带来了深深的启发。 Transformer
模型所用到的自注意力机制正式从人类心理学研究的注意力得到启发, CNN
是从猫的视觉系统得到的启发,这启示我们人工智能的研究要从人类或动物认知的过程看齐,研究者会从人或动物的认真得到启发。
[1] Brown D P , Pietra D . The mathematics of machine translation: parameter estimation. 1993.
[2]Hopfield, J. J . Neural networks and physical systems with emergent collective computational abilities[M]. National Academy of Sciences of the United States of America, 1982.
[3]Elman J L . Finding Structure in Time[J]. Cognitive Science, 1990, 14(2):179-211.
[4] Hochreiter S , Schmidhuber J . Long Short-Term Memory[J]. Neural Computation, 1997, 9(8):1735-1780.
[5] Papineni S . Blue ; A method for Automatic Evaluation of Machine Translation[C]// Meeting of the Association for Computational Linguistics. Association for Computational Linguistics, 2002. [6]Ilya Sutskever and Oriol Vinyals and Quoc V. Le. Sequence to Sequence Learning with Neural Networks.[J]. CoRR, 2014, abs/1409.3215
[7]Freitag M , Al-Onaizan Y . Beam Search Strategies for Neural Machine Translation[C]// Proceedings of the First Workshop on Neural Machine Translation. 2017.
[8]Bahdanau D , Cho K , Bengio Y . Neural Machine Translation by Jointly Learning to Align and Translate[J]. Computer Science, 2014.
[9] Vaswani A , Shazeer N , Parmar N , et al. Attention Is All You Need[J]. arXiv, 2017.
[10]Peters M , Neumann M , Iyyer M , et al. Deep Contextualized Word Representations[C]// Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). 2018.
[11] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. 2018. Improving Language Understanding by Generative Pre-Training.
[12] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.
[13] Zhu J , Xia Y , Wu L , et al. Incorporating BERT into Neural Machine Translation[J]. 2020. [14]Liang X , Wu L , Li J , et al. R-Drop: Regularized Dropout for Neural Networks[J]. 2021. [15]Lin Z , Pan X , Wang M , et al. Pre-training Multilingual Neural Machine Translation by Leveraging Alignment Information[C]// Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP). 2020.
[16] Edunov S , Ott M , Auli M , et al. Understanding Back-Translation at Scale[C]// Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. 2018. [17]X Liu, Duh K , Liu L , et al. Very Deep Transformers for Neural Machine Translation[J]. 2020.
● 相关图表链接:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。