一窥谷歌神经机器翻译模型真面貌 其底层框架开源
2017-04-13 00:07
573 查看
去年,谷歌发布了 Google Neural Machine Translation (GNMT),即谷歌神经机器翻译,一个 sequence-to-sequence (“seq2seq”) 的模型。现在,它已经用于谷歌翻译的产品系统。虽然消费者感受到的提升并不十分明显,谷歌宣称,GNMT
对翻译质量带来了巨大飞跃。
但谷歌想做的显然不止于此。其在官方博客表示:“由于外部研究人员无法获取训练这些模型的框架,GNMT 的影响力受到了束缚。”
如何把该技术的影响力最大化?答案只有一个——开源。
因而,谷歌于昨晚发布了 tf-seq2seq —— 基于 TensorFlow 的 seq2seq 框架。谷歌表示,它使开发者试验 seq2seq 模型变得更方便,更容易达到一流的效果。另外,tf-seq2seq 的代码库很干净并且模块化,保留了全部的测试覆盖,并把所有功能写入文件。
该框架支持标准 seq2seq 模型的多种配置,比如编码器/解码器的深度、注意力机制(attention mechanism)、RNN 单元类型以及 beam size。这样的多功能性,能帮助研究人员找到最优的超参数,也使它超过了其他框架。详情请参考谷歌论文《Massive
Exploration of Neural Machine Translation Architectures》。
上图所示,是一个从中文到英文的 seq2seq 翻译模型。每一个时间步骤,编码器接收一个汉字以及它的上一个状态(黑色箭头),然后生成输出矢量(蓝色箭头)。下一步,解码器一个词一个词地生成英语翻译。在每一个时间步骤,解码器接收上一个字词、上一个状态、所有编码器的加权输出和,以生成下一个英语词汇。雷锋网提醒,在谷歌的执行中,他们使用 wordpieces 来处理生僻字词。
据雷锋网了解,除了机器翻译,tf-seq2seq 还能被应用到其他 sequence-to-sequence 任务上;即任何给定输入顺序、需要学习输出顺序的任务。这包括 machine summarization、图像抓取、语音识别、对话建模。谷歌自承,在设计该框架时可以说是十分地仔细,才能维持这个层次的广适性,并提供人性化的教程、预处理数据以及其他的机器翻译功能。
谷歌在博客表示:
“我们希望,你会用 tf-seq2seq 来加速(或起步)你的深度学习研究。我们欢迎你对 GitHub 资源库的贡献。有一系列公开的问题需要你的帮助!”
GitHub 地址:https://github.com/google/seq2seq
GitHub 资源库:https://google.github.io/seq2seq/nmt/
对翻译质量带来了巨大飞跃。
但谷歌想做的显然不止于此。其在官方博客表示:“由于外部研究人员无法获取训练这些模型的框架,GNMT 的影响力受到了束缚。”
如何把该技术的影响力最大化?答案只有一个——开源。
因而,谷歌于昨晚发布了 tf-seq2seq —— 基于 TensorFlow 的 seq2seq 框架。谷歌表示,它使开发者试验 seq2seq 模型变得更方便,更容易达到一流的效果。另外,tf-seq2seq 的代码库很干净并且模块化,保留了全部的测试覆盖,并把所有功能写入文件。
该框架支持标准 seq2seq 模型的多种配置,比如编码器/解码器的深度、注意力机制(attention mechanism)、RNN 单元类型以及 beam size。这样的多功能性,能帮助研究人员找到最优的超参数,也使它超过了其他框架。详情请参考谷歌论文《Massive
Exploration of Neural Machine Translation Architectures》。
上图所示,是一个从中文到英文的 seq2seq 翻译模型。每一个时间步骤,编码器接收一个汉字以及它的上一个状态(黑色箭头),然后生成输出矢量(蓝色箭头)。下一步,解码器一个词一个词地生成英语翻译。在每一个时间步骤,解码器接收上一个字词、上一个状态、所有编码器的加权输出和,以生成下一个英语词汇。雷锋网提醒,在谷歌的执行中,他们使用 wordpieces 来处理生僻字词。
据雷锋网了解,除了机器翻译,tf-seq2seq 还能被应用到其他 sequence-to-sequence 任务上;即任何给定输入顺序、需要学习输出顺序的任务。这包括 machine summarization、图像抓取、语音识别、对话建模。谷歌自承,在设计该框架时可以说是十分地仔细,才能维持这个层次的广适性,并提供人性化的教程、预处理数据以及其他的机器翻译功能。
谷歌在博客表示:
“我们希望,你会用 tf-seq2seq 来加速(或起步)你的深度学习研究。我们欢迎你对 GitHub 资源库的贡献。有一系列公开的问题需要你的帮助!”
GitHub 地址:https://github.com/google/seq2seq
GitHub 资源库:https://google.github.io/seq2seq/nmt/
相关文章推荐
- 谷歌神经网络机器翻译NMT:人人可利用TensorFlow快速建立翻译模型
- 谷歌开源 tf-seq2seq,你也能用谷歌翻译的框架训练模型
- 神经机器翻译(Neural Machine Translation)系列教程 - (一)神经机器翻译-开源项目
- 神经网络机器翻译模型介绍-GNMT
- Seq2Seq非常好的代码(机器翻译、对话生成等):漫谈四种神经网络序列解码模型【附示例代码】
- 神经网络机器翻译模型介绍-总结
- 谷歌翻译整合神经网络:机器翻译实现颠覆性突破
- 人工机器:NDC-谷歌机器翻译破世界纪录,仅用Attention模型,无需CNN和RNN
- 神经网络机器翻译模型介绍
- 开源 | 哈佛大学NLP组开源神经机器翻译工具包OpenNMT:已达到生产可用水平
- 听听谷歌神经网络翻译系统工程师怎么说
- 28款GitHub最流行的开源机器学习项目,推荐GitHub上10 个开源深度学习框架
- 最牛逼的开源机器学习框架,你知道几个
- 神经网络开源框架及学习资源
- 神经网络机器翻译Neural Machine Translation(2): Attention Mechanism
- 神经机器翻译中语言学知识的引入
- 机器学习之神经网络模型-上(Neural Networks: Representation)
- Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情
- 神经网络机器翻译的实现
- 机器学习方法:从线性模型到神经网络