《中国人工智能学会通讯》——2.28 端到端神经机器翻译

简介: 本节书摘来自CCAI《中国人工智能学会通讯》一书中的第2章,第2.28节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。

2.28 端到端神经机器翻译

端 到 端 神 经 机 器 翻 译(End-to-End NeuralMachine Translation)是从 2013 年兴起的一种全新机器翻译方法,其基本思想是使用神经网络直接将源语言文本映射成目标语言文本。与统计机器翻译不同,不再有人工设计的词语对齐、短语切分、句法树等隐结构(latent structure),不再需要人工设计特征,端到端神经机器翻译仅使用一个非线性的神经网络便能直接实现自然语言文本的转换。

英 国 牛 津 大 学 的 Nal Kalchbrenner 和 PhilBlunsom 于 2013 年首先提出了端到端神经机器翻译[10] 。他们为机器翻译提出一个“编码 - 解码”的新框架:给定一个源语言句子,首先使用一个编码器将其映射为一个连续、稠密的向量,然后再使用一个解码器将该向量转化为一个目标语言句子。Kalchbrenner 和 Blunsom 在论文中所使用的编码器是卷积神经网络(Convolutional NeuralNetwork),解码器是递归神经网络(RecurrentNeural Network)。使用递归神经网络具有能够捕获全部历史信息和处理变长字符串的优点。这是一个非常大胆的新架构,用非线性模型取代统计机器翻译的线性模型;用单个复杂的神经网络取代隐结构流水线;用连接编码器和解码器的向量来描述语义等价性;用递归神经网络捕获无限长的历史信息。然而,端到端神经机器翻译最初并没有获得理想的翻译性能,一个重要原因是训练递归神经网络时面临着“梯度消失”和“梯度爆炸”问题。因此,虽然递归神经网络理论上能捕获无限长的历史信息,但实际上难以真正处理长距离的依赖关系。

为此,美国 Google 公司的 Ilya Sutskever 等人 于 2014 年 将 长 短 期 记 忆(Long Short-TermMemory) [11] 引入端到端神经机器翻译[12] 。长短期记忆通过采用设置门开关(gate)的方法解决了训练递归神经网络时的“梯度消失”和“梯度爆炸”问题,能够较好地捕获长距离依赖。图 2 给出了Sutskever 等人提出的架构。与 Kalchbrenner 和Blunsom 的工作不同,无论是编码器还是解码器,Sutskever 等人都采用了递归神经网络。给定一个源语言句子“A B C”,该模型在尾部增加了一个表示句子结束的符号“〈EOS〉”。当编码器为整个句子生成向量表示后,解码器便开始生成目标语言句子,整个解码过程直到生成“〈EOS〉”时结束。需要注意的是,当生成目标语言词“X”时,解码器不但考虑整个源语言句子的信息,还考虑已经生成的部分译文(即“W”)。由于引入了长短期记忆,端到端神经机器翻译的性能获得了大幅度提升,取得了与传统统计机器翻译相当甚至更好的准确率。然而,这种新的框架仍面临一个重要的挑战,即不管是较长的源语言句子,还是较短的源语言句子,编码器都需将其映射成一个维度固定的向量,这对实现准确的编码提出了极大的挑战。
image

针对编码器生成定长向量的问题,YoshuaBengio 研究组提出了基于注意力(attention)的端到端神经网络翻译[13] 。所谓注意力,是指当解码器在生成单个目标语言词时,仅有小部分的源语言词是相关的,绝大多数源语言词都是无关的。例如,在图 2 中,当生成目标语言词“money”时,实际上只有“钱”是与之密切相关的,其余的源语言词都不相关。因此,Bengio 研究组主张为每个目标语言词动态生成源语言端的上下文向量,而不是采用表示整个源语言句子的定长向量。为此,他们提出了一套基于内容(content-based)的注意力计算方法。实验表明,注意力的引入能够更好地处理长距离依赖,显著提升端到端神经机器翻译的性能[14] 。

虽然端到端神经机器翻译近年来获得了迅速的发展,但仍存在许多重要问题有待解决。

● 可解释性差:传统的统计机器翻译在设计模型时,往往会依据语言学理论设计隐结构和特征。端到端神经网络翻译重在设计神经网络架构。但是由于神经网络内部全部是向量,从语言学的角度来看可解释性很差,如何根据语言学知识设计新架构成为挑战,系统调试也困难重重。

● 训练复杂度高:端到端神经机器翻译的训练复杂度与传统统计机器翻译相比具有数量级上的提升,必须使用较大规模的 GPU 集群才能获得较理想的实验周期。因此,计算资源成为开展端到端神经机器翻译研究的最大门槛。

相关文章
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能机器翻译
人工智能机器翻译
53 2
|
6月前
|
机器学习/深度学习 人工智能 算法
“探秘神经算法:如何用人工智能模拟大脑处理信息“
“探秘神经算法:如何用人工智能模拟大脑处理信息“
37 0
|
1月前
|
机器学习/深度学习 自然语言处理 网络架构
神经机器翻译(NMT)
神经机器翻译(NMT)
18 2
|
12月前
|
人工智能 自然语言处理
阿里云产品体系分为6大分类——人工智能——分为10种模块——机器翻译
阿里云产品体系分为6大分类——人工智能——分为10种模块——机器翻译自制脑图
71 1
|
机器学习/深度学习 人工智能 自然语言处理
阳过→阳康,数据里的时代侧影;谷歌慌了!看各公司如何应对ChatGPT;两份优质AI年报;本周技术高光时刻 | ShowMeAI每周通讯 #003-12.24
这是ShowMeAI每周通讯的第3期。本期内容关键词:新冠、ChatGPT、2022 AI 报告、腾讯·绝悟、阿里·AliceMind、小红书·全站智投、OpenAI·Point-E、Google·CALM、Wayve·MILE、AI2·MemPrompt、Stanford x MosaicML·PubMed GPT、腾讯全员大会、特斯拉裁员、图森未来裁员、AI 应用与工具大全。
462 0
阳过→阳康,数据里的时代侧影;谷歌慌了!看各公司如何应对ChatGPT;两份优质AI年报;本周技术高光时刻 | ShowMeAI每周通讯 #003-12.24
|
机器学习/深度学习 自然语言处理 算法
神经机器翻译的Subword技术
神经机器翻译的Subword技术
130 0
神经机器翻译的Subword技术
|
机器学习/深度学习 自然语言处理 PyTorch
在PyTorch中使用Seq2Seq构建的神经机器翻译模型(三)
在PyTorch中使用Seq2Seq构建的神经机器翻译模型
117 0
在PyTorch中使用Seq2Seq构建的神经机器翻译模型(三)
|
机器学习/深度学习 自然语言处理 数据可视化
在PyTorch中使用Seq2Seq构建的神经机器翻译模型(二)
在PyTorch中使用Seq2Seq构建的神经机器翻译模型
163 0
在PyTorch中使用Seq2Seq构建的神经机器翻译模型(二)
|
机器学习/深度学习 存储 JSON
在PyTorch中使用Seq2Seq构建的神经机器翻译模型
在PyTorch中使用Seq2Seq构建的神经机器翻译模型
252 1
在PyTorch中使用Seq2Seq构建的神经机器翻译模型
|
机器学习/深度学习 存储 人工智能
NLP教程(6) - 神经机器翻译、seq2seq与注意力机制
本文介绍了序列到序列模型(seq2seq)及其在翻译系统中的应用,以及注意力机制、序列解码器、神经翻译系统、基于字符级别的翻译模型等。
1126 1
NLP教程(6) - 神经机器翻译、seq2seq与注意力机制