专栏名称: 极客公园
科技创新者的大本营。汇聚优秀的产品报道、评测视频和高质量的线下活动。
目录
相关文章推荐
新浪科技  ·  【#雷军也没抢到SU7Ultra车模#】10 ... ·  2 天前  
新浪科技  ·  #荣耀Magic7评测#【#荣耀Magic7 ... ·  3 天前  
新浪科技  ·  【#苹果VisionPro将停产# ... ·  5 天前  
51好读  ›  专栏  ›  极客公园

10 分钟告诉你「谷歌神经网络翻译」到底是什么黑科技

极客公园  · 公众号  · 科技媒体  · 2016-09-30 18:46

正文


 极客公园微信号:geekpark

机器翻译 

Google 翻译毫无疑问是目前最好的机器翻译工具没有之一,如果还有什么能够超越 Google Translation 那也一定是它自己。

当两天前 Google 推出了全新的整合神经网络的翻译工具——GNMT(Google Neural Machine Translation)谷歌神经机器翻译系统,并且这一系统将最先投入到最困难的汉英互译领域时,科技圈炸了锅。

在 Google Neural Machine Translation 推出的第二天,极客公园受邀来到 Google 中国和来自 Google Brain 团队的软件工程师陈智峰聊了聊 GNMT 和机器翻译的未来。

如果机器翻译的未来注定是无限接近于人,那这个未来一定属于「神经网络机器翻译」。

新旧对比,神经网络是机器翻译的「未来之匙」

谷歌神经机器翻译 GNMT(GoogleNeural Machine Translation)系统实现了到目前为止机器翻译质量的最大提升。

相比于谷歌之前基于短语的机器翻译 PBMT(Phrase-Based MachineTranslation),GNMT 需要的设计工程量更少,同时翻译效果更好,可以说 GNMT 的技术将在机器翻译领域开启一个全新的纪元。

过去的 PBMT 最让人头大的地方在于「句子语序」。英文翻译到中文,在过去主要存在的问题就是「词序」。之前 PBMT 基于短语的翻译方式是先把句子分成一个个短语和单词,然后独立翻译,最后对翻译出来的独立短语解释进行逻辑整理,变成句子。当东亚语言翻译成欧洲语言时语序会有很大变化,单个翻译再调整语序的系统复杂繁琐且容易出错。

而 GNMT 则是将整个句子视作翻译单元,对句子中的每一部分进行带有逻辑的关联翻译,翻译每一个字或单词时都包含着整句话的逻辑。

通俗地讲,如果将翻译比作把食物从生变熟,那 PBMT 像把一颗白菜切碎了烧熟再拼凑起来,而 GNMT 则是将整颗白菜放到锅里煮,变熟后最大程度保持了逻辑原貌。

在使用人类对比评分指标上,相较于之前也实现了极大的提高,在多个样本的翻译中,神经翻译系统将误差降低 55%-85%,甚至更高。


在特定的条件下单句的翻译已经接近于人工翻译水平,谷歌翻译团队会选择一些很特别的句子去测试 GNMT,例如:「小偷偷偷偷东西」,GNMT 对于这样类似的特殊句子已经能够准确翻译。

而 RNN 则是神经翻译系统中最核心的技术,也是让 GNMT 与众不同的关键。

快速看懂什么是 RNN——机器翻译之心

RNN(RecurrentNeural Network)被称为循环神经网络,是机器深度学习的一种人工神经网络,这种网络的本质特征是在处理单元之间既有内部的反馈连接又有前馈连接它是一个反馈动态系统,RNN 一次处理一个输入序列元素,同时维护网络中隐式单元中隐式包含的过去时刻序列元素的历史信息和「状态向量」,比前馈神经网络具有更强的动态行为和计算能力。


上面这段话相信很多人都看不懂,所以我们换个说人话的表达方式。

传统多层感知神经单元包含了「输入(Input)」、「处理计算(Hidden)」和「输出(Output)」三个部分,模仿人类神经原理。

而 RNN 在传统的多层感知机基础上跟时间沾上边了,下一时间点的「处理计算」会受上一个时间点的影响,会根据上一个输入输出的结果来调整当前的处理计算方式,这就让本来各自独立进行计算的神经网络有了前后逻辑关联的能力。

直观体现就是 GNMT 在 Google 官方的介绍中提到的——Attention 机制,为了能够实现在每一步都生成翻译正确的词,翻译解码器重点考虑与生成英语词最相关的汉语权重分布(「Attention」,下图中链接线条的透明度表示解码器对一个被编码的词的关联程度)。


所以谷歌神经网络翻译可以把一整句话作为翻译单元,翻译每一个字词时都会考虑到前面已有的所有字词含义。翻译第二个词时考虑第一个词的含义,翻译第三个词时考虑前两个,第四个词考虑前三个……以此类推,于是 GNMT 就实现了以句子为翻译单元,翻译结果也更加有逻辑性。

RNN 被发现可以很好地预测句子中下一个字符或下一个单词,例如在某时刻阅读英语句子中的单词后,将会训练一个英语的「编码器」网络,表现为翻译首单词的概率分布。如果选择一个首单词作为输入,将会输出翻译的句子中第二个单词的概率分布,并直到停止选择为止。

不过原生的 RNN 会遇到一个很大的问题,叫做 The vanishing gradient problem for RNNs,也就是后面时间的节点对于前面时间的节点感知力下降,说白了就是健忘,网络一深就没法训练了,而为了解决这个问题用到的就叫 LSTM,引入了简单来说就是你不是健忘吗?给你拿个小本子把事记上。

GNMT 的神经网络就是运用了带有 8个编码器和 8 个解码器的深度 LSTM 网络组成,与其说 LSTM 是一种特殊 RNN 结构,倒不如说 LSTM 是 RNN 的改良版版,多了记忆单元。 

NMT 的前世今生

这是 GNMT 第一次正式上线,这也是第一次在传统的自然语言领域这么大规模使用新的深度学习技术,且这一次最先涉足中英领域。

当问起为什么选择最先从中英领域开始,Google 的回答主要是两个基本考虑:1. 中英互译的需求量很大,且翻译难度很高;2. 整个项目开发参与者中有很多中国同事,对项目开发帮助较大。 

而其实早在三年前 Google brain 就很想做了这件事了,但当时软件和硬件都不能够很好的支持,直到后来开发出了 Tensorflow 使得训练类似的模型可以充分利用分布式计算,利用很多很多不同的硬件类型。另外,一些专门的硬件加速器也帮助在短时间内完成这个训练,所以很大一部分原因是因为过去两三年 Google 在机器学习、在人工智能方面的巨大投入,使得类似的操作才变得可行。

来自 Google Brain 的软件工程师陈智峰也表示到目前为止 Google Allo 和 Gmail Inbox 都已经开始不同程度使用 GNMT,并且 GNMT 的底层技术模型是可以运用到很多领域,很多产品都在这个基础模型上都可以做出针对性优化。

虽然已领先时代,但仍有缺陷

虽然 GNMT 已经可以算是领先于整个时代,但机器翻译的缺陷还远未得到完全解决,GNMT 仍然会做出一些人类翻译者永远不出做出的重大错误,例如漏词和错误翻译专有名词或罕见术语,这类重大错误往往是因为训练数据里的缺陷,例如「LinkedIn 领英」,如果词库里没有 catch up 上这个特有词汇,翻译时就会出错。

另外就是虽然现在 GNMT 已经可以将句子作为翻译单元,在翻译时考虑整个句子中每个字的前后关联,但 GNMT 将句子单独进行翻译时还是无法考虑到其段落或页面的上下文的关系。

机器翻译的极限在哪?

机器翻译的极限是完全代替人类吗?答案是:并不能全部取代。

要试图解决这个问题,首先横在面前的就是深度学习基础算法结构的能力限制,虽然Deeplearning 就是指层数更多,但这并不意味着更深层、更多的网络获得更好的效果。

虽然按照逻辑应该是模型随着深度的增加会更强大,但实际中随着层数的增加每次运行的计算量也会指数级增加,当超过一定的量级反而使得使用反应速度下降,所以在目前计算能力没有质的突破的情况下,现实情况下有不同的考虑,并不是越多层越多网络就能带来越强大的深度学习能力。

那这是否意味着目前 GNMT 已经到达了机器翻译的极限呢?

陈智峰的回答是:「还没有。」

好在现有的深度学习 RNN 模型还有很多可开发的空间,例如让模型变得更大或者层数增加,同时在该领域每年也都有新的模型出现,深度学习的模型也会不断迭代,所以 GNMT 目前的技术还远未到极限,更加不会是机器翻译的极限。

对于类似面对更标准化的科技、医学等等固定且有成文规则的文章机器可以更快翻译,准确率也更高,同时像是更注重信息类的新闻翻译做的比较好。

完全替换人的翻译有一定难度,且很有可能是无法实现的,因为现有的机器翻译都是针对现在已经出现过的语言现象,但面对不断出现不断发展的语言来说还是需要人来不断创造新词汇或赋予词汇新含义。


本文由极客公园原创

转载联系 [email protected]


/ 更多阅读 /