今天,Google宣布发布Google神经机器翻译(GNMT:Google Neural Machine Translation)系统,该系统使用了当前最先进的训练技术,能够实现到目前为止机器翻译质量的最大提升。
十年前,Google发布了 Google Translate,这项服务背后的核心算法是基于短语的机器翻译。自那时起,机器智能的快速发展已经给语音识别和图像识别能力带来了巨大的提升,但改进机器翻译仍然是一个极具挑战的目标。
几年之前,Google开始使用循环神经网络来直接学习一个输入序列(如一种语言的一个句子)到一个输出序列(另一种语言的同一个句子)的映射。其中基于短语的机器学习将输入句子分解成词和短语,然后对它们的大部分进行独立翻译,而神经机器翻译则将整个输入句子视作翻译的基本单元。这种方法的优点是:相比之前的基于短语的翻译系统,这种方法所需的调整更少。在被首次提出时,神经机器翻译系统在中等规模的公共基准数据集上就达到了与基于短语的翻译系统不相上下的准确度。
自那以后,研究者提出了很多改进神经翻译系统的技术,其中包括模拟外部对准模型来处理罕见词 ,使用“注意(attention)”来对准输入词和输出词以及将词分解成更小的单元以应对罕见词。尽管有这些进步,但神经翻译系统的速度和准确度仍有很大的提升空间。而现在通过让神经翻译系统战胜在非常大型的数据集上工作的许多挑战,Google打造了一个在速度和准确度上都已足够为用户带来更好服务的翻译系统。
下面的可视化图展示了Google神经翻译系统将一个汉语句子翻译成英语句子的过程。首先,该网络将这句汉语句子的词编码成一个向量列表,其中每个向量都表示了到目前为止所有被读取到的词的含义(编码器“Encoder”)。一旦读取完整个句子,解码器就开始工作——一次生成英语句子的一个词(解码器“Decoder”)。为了在每一步都生成翻译正确的词,解码器重点注意了与生成英语词最相关编码的汉语向量的权重分布(注意“Attention”;蓝色连线的透明度表示解码器对一个被编码的词的注意程度)。
使用人类对比评分指标,神经翻译系统得出的翻译内容相较于之前实现了极大的提升。在双语评估者的帮助下,通过在维基百科和新闻网站的例句测定,Google发现:在多个样本的翻译中,神经翻译系统将误差降低了 55%-85%甚至以上。
今天,Google还宣布将神经翻译系统投入到了一个非常困难的语言对(汉语-英语)的翻译中。现在,移动版和网页版的 Google Translate 的汉英翻译已经开始完全使用神经翻译系统了——每天大约 1800 万条翻译。其中,Google开放的机器学习工具套件 TensorFlow 和张量处理单元为部署强大的神经翻译系统模型提供了足够的计算力,同时也满足了 Google Translate 严格的延迟要求。汉语到英语的翻译只是 Google Translate 所支持的超过 10000 种语言对中的一种,在未来几个月,Google还将继续把神经翻译系统扩展到更多的语言对上。
但机器翻译的问题并没有完全解决。Google神经翻译系统仍然会犯一些人类译者永远不会出的重大错误,例如漏词和错误翻译专有名词或罕见术语,以及将句子单独进行翻译而不考虑其段落或上下文。为了给用户带来更好的服务,Google还有更多的工作要做。但Google神经翻译系统仍然代表着一个重大的里程碑,Google希望与过去几年在这个研究方向上有所贡献的研究者和工程师们一起庆祝它的诞生。