编辑|Vincent,Emily
近日,一位网友在知乎提问:谷歌翻译这几个月的进化速度突然加快是什么原因?问题链接:
https://www.zhihu.com/question/55915702/answer/282532687
他描述道:曾经的印象中,谷歌翻译只是用来翻译单词、用来对文段粗解大意的。今天查文献的时候,一时懒得一个个查单词了(几乎都是专业英语),就扔给了谷歌翻译,结果产生了以下效果:
从上图可以看得出,这一段文字不仅翻译通顺,而且句子中的中文语法也更加符合中国人的语言习惯,而并非像原来那样按照英文语法僵硬地直译;此外,大写专有名词地区分、近义词地选取也比原来更加精准。尤其是这位网友说:“英译中和英译德(我德语比英语好,以前经常会退而求其次地把英文翻译成德文来读,毕竟同语系的翻译难度更低得多)不一样,何止是跨语系,根本就是跨语类翻译,这方面感觉即使是人脑都很难做好。”
随后,谷歌员工共 Da Huang 详细分析了两点原因,为了不改变答者愿意,我们将他回答地全文整理了出来:
作为 Google 员工,我来谈谈两个令我体会比较深刻的原因吧。
神经网络 / 深度学习在机器翻译上的飞速进展。
大概在 14 年左右的时候,关于在机器翻译上应用神经网络 / 深度学习的论文开始大量地被发表。[1][Sutskever et al., 2014] 把基于 RNN 的序列到序列(seq2seq)模型应用于机器翻译的任务上。
"多层 seq2seq 模型"
后来因为单纯的 seq2seq 对于长句的效果不佳,引入了注意力机制(Attention)。[2,3][Bahdanau et al., 2015, Luong et al., 2015]。
Attention
大概的意思是把编码层的输出和解码层的输出结合起来计算一个含有对齐信息的上下文向量 (Context Vector)。由于带上了对齐信息,对长句的翻译效果有了显著的提高。
再后来是去年诞生的 GNMT[4] [Wu et al., 2016],在上述工作的基础上加入了一些改进,如:
用 WordPiece 来解决低频词的问题。这个就相当于是子词,如 wordpiece 会被拆分成 word 和 piece 两个子词。
加入了残差连接(ResNet),提高了更深的网络的可训练性。
双向 RNN。
基本上,每一次改进都是在原先的神经网络中一些新的结构来改善原先模型不足的地方。不得不说,神经网络其中一个美妙之处就在于可以很容易地通过在上面加结构 / 连接来改变模型性质,所以实验一种新的模型不是一件难事,这也是促成神经网络在各个应用上研究大爆发的其中一个原因。
当然,为了解决 RNN 训练慢的问题,后来又有研究者提出了基于 CNN 的方法 [5][Gehring et al. 2017],纯粹 Attention 的方法 [6][Vaswani, et al., 2017]。这些方法摈弃了传统的 RNN 方法,不过我们仍然可以看到组成这些模型的各个子结构大部分都是一些已经存在的结构。
另外值得一提的是,上述模型都是端到端的模型(模型的输入和输出都是句子),不需要我们去处理语法 / 句法之类的问题。这其实就是降低了机器翻译研究的门槛,即不需要太多的领域内的专业知识。
Tensorflow 在 Google 内部的广泛应用,以及 Google 内部对 Tensorflow 强大的基础设施支持。
Google 有着大量的机器集群,并且对 Tensorflow 有着很好的支持。在这些集群上部署神经网络训练任务是一件轻而易举的事情。基本上,我们只需要指定所需要的资源,就可以把我们的训练任务部署在机器集群上。这就大大地降低研究的成本。这不但把研究者们从这些琐碎的事情上解放出来专心于网络结构的研究,而且可以让研究者们同时进行很多实验去验证他们的想法、快速迭代。快速迭代对于研究真的非常非常重要。
当然,硬件革新也是很重要的,近年来 GPU 越来越快,并且 Google 自家也开发了专门用于机器学习的 TPU。这都是对于减低实验时间成本有着很积极的作用。
顺带一提,Google 已经在 Tensorflow 的官方教程中加入了关于机器翻译的教程:
https://www.tensorflow.org/versions/master/tutorials/seq2seq
如果哪位同学对这个感兴趣的话,可以比较容易地跟着上面的教程,开发一个自己的机器翻译模型出来。
答者回答中一些 paper 的下载地址,如有读者需要可自行查看下载:
[1]https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf
[2] https://arxiv.org/pdf/1409.0473.pdf
[3] http://aclweb.org/anthology/D15-1166
[4] https://arxiv.org/pdf/1609.08144.pdf
[5] https://arxiv.org/abs/1705.03122
[6] https://arxiv.org/abs/1706.03762
另外,还有其他答者指出:去年九月谷歌搞出了一个叫「神经机器翻译」的大新闻,让谷歌翻译学会了整句翻译,现在,谷歌翻译的社区里,来自全球各地的译者都可以对谷歌翻译进行“调教”,谷歌翻译的进步,每个用户都是功不可没的。
领取专属 10元无门槛券
私享最新 技术干货