动态|谷歌开源T2T模型库,深度学习系统进入模块化时代!

AI 科技评论按:6月19日,谷歌发布了T2T(Tensor2Tensor)深度学习开源系统,这个系统的一大优点是模块化,这也就意味着系统更加灵活,适应性更强。深度学习的研究进度也会因此而加速。

深度学习(DL)让很多技术领域都得以迅速发展,比如机器翻译,语音识别,以及物体检测。在研究社区,人们可以找到研究作者开源的代码,复制他们的结果,帮助自己做进一步深度学习研究。然而,大多数深度学习系统使用了需要耗费大量工程开发的特殊设置,可能只对特定的问题或结构起作用。这使得在新实验中运行以及进行实验结果对比变得比较困难。

可喜的是,谷歌终于找到了解决这一问题的办法,发布了T2T(Tensor2Tensor),一个用于在TensorFlow上训练深度学习模型的开源系统。T2T方便了对各种各样的机器学习应用的模型进行创新,比如翻译,句法分析,图像说明等等。这次发布也包含数据集库和模型库,包括最近几篇论文中提到的最好模型。

在标准WMT英语-德语翻译任务中,各模型的BLEU分数(越高越好

作为举例,谷歌将T2T库用于机器翻译。如上表所示,两种不同T2T模型,SliceNet和Transformer,性能表现胜过之前业界表现最好的模型GNMT+MoE。其中最好的T2T模型Transformer,高出GNMT模型3.8分。而GNMT本身已经高出MOSES 4分(以短语翻译系统MOSES为最低标准)。值得注意的是,使用单块GPU在一天内训练就可以达到之前最好的结果,一个小型的Transformer模型在单GPU训练一天后可以得分24.9(上图表格并没有显示)。可见使用T2T效果非常明显。现在所有人都可以自己用一块GPU来训练这个翻译模型了。Github有操作说明。(地址见文末)

模块化多任务训练

T2T库是用人们熟悉的TensorFlow工具和深度学习系统中所需的定义多个组件:如数据集,模型结构,算法,学习速率衰减方案,超参数等等开发出来的。关键是,它在所有这些组件之间执行了一个标准接口,实现了当前机器学习的最佳效果。所以你可以拿走任何一个数据集,模型,算法,或一组超参数,来执行训练并观察它的性能表现。通过使架构模块化,输入数据和预测输出之间的每一部分都是T2T函数。这意味着如果对模型架构有了新的想法,则不需要替换整个设置。你可以保留需要嵌入的部分,损失函数和其他所有部分。

这就意味着T2T很灵活,训练不再依赖于特定的模型或数据集。甚至连比较有名的LSTM序列模型都可以用几十行代码来定义。此外还可以对不同领域的多个任务进行单个模型的训练。甚至还可以在所有数据集上同时运行单个模型。MultiModel就可以这样训练并包含在T2T中,在很多任务上都产生了良好的效果。即使在ImageNet(图像分类)MS COCO(图像说明)WSJ(语音识别)WMT(翻译)以及Penn Treebank(解析语料库)联合训练也依然表现良好。这也是第一次证明了单个模型可以同时执行多个任务。

内置最佳实践

这次的首次发布也提供了脚本,用来生成大量数据集,广泛用于研究社区,一些模型和大量超参数配置。trade的其他重要技巧在执行中表现良好。把他们全部列出来很难,如果你决定用T2T运行你的模型,你将得到序列的正确填充(padding)和相应的交叉熵损失,调试良好的Adam优化器参数,自适应批处理,同步的分布式训练,调试良好的图像数据增强,标签平滑和大量的超参数配置。

例如,考虑把英语句子解析成语法选区树(grammatical constituency trees)的任务。这个问题已经研究了几十年才找到可靠的方法。它可以表示为一个序列到序列的问题,可以用神经网络求解,但是在过去需要调试很多次。现在运用T2T,只需要几天就可以添加解析数据集生成器,并且调节注意力转化器模型来训练解决这个问题。令人兴奋的是,只用了一周的时间就得到了非常好的结果。

在WSJ 23节的标准数据集上解析F1分数。只在Penn Treebank WSJ训练集上比较了文本中经过特殊训练过的模型。更多结果详见论文(https://arxiv.org/abs/1706.03762)

为T2T做贡献

除了探索现有的模型和数据集,还可以轻松地定义自己的模型,并添加自己的数据集到T2T。谷歌相信已有的模型将很好的执行诸多NLP任务,所以只需添加你的数据集,也许就会得到一个有趣的结果。通过构建T2T模块,还可以很容易构建你自己的模型,并观察其如何执行不同任务。通过这样的方式,整个社区都可以从基线库(library of baselines)中受益,并加速深度学习研究。所以,来Github库,尝试一些新模型,来为T2T做点贡献吧!

提及表格内模型的三篇论文(AI科技评论此前也有做过覆盖与报道):

Attention Is All You Need - AI科技评论

Depthwise Separable Convolutions for Neural Machine Translation

One Model To Learn Them All

Github操作说明:https://github.com/tensorflow/tensor2tensor

via Google;AI 科技评论整理编译

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏磐创AI技术团队的专栏

TensorFlow 实战卷积神经网络之 LeNet

作者 | fendouai 编辑 | 磐石 出品 | 磐创AI技术团队 【磐创AI导读】:前几篇文章中我们介绍了一些机器学习、深度学习入门资源项目合集,本篇则是...

3796
来自专栏AI科技大本营的专栏

NLP通用模型诞生?一个模型搞定十大自然语言常见任务

AI科技大本营按:目前的NLP领域有一个问题:即使是再厉害的算法也只能针对特定的任务,比如适用于机器翻译的模型不一定可以拿来做情感分析或摘要。

792
来自专栏新智元

【业界】谷歌又双叒叕开源:TensorFlow 自动文本摘要生成模型

【新智元导读】本次谷歌开源的TensorFlow主要用于文本中的信息提取,并生成摘要,尤其擅长长文本处理,这对自动处理海量信息十分有用。这一模型当下最典型的例子...

4065
来自专栏Coding迪斯尼

深度学习初论:构建基础思维框架

832
来自专栏Echo is learning

矩阵求导 -- 机器学习常用

1735
来自专栏机器之心

学界 | 抛弃黑箱,斯坦福大学与Facebook提出程序生成式图像推理模型

选自arXiv 作者:Justin Johnson等 机器之心编译 参与:李泽南 去年 12 月,斯坦福大学联合 Facebook 推出了一个用于组合式语言和初...

2705
来自专栏AI研习社

通过嵌入隐层表征来理解神经网络

可视化神经网络总是很有趣的。例如,我们通过神经元激活的可视化揭露了令人着迷的内部实现。对于监督学习的设置,神经网络的训练过程可以被认为是将一组输入数据点变换为可...

692
来自专栏AI派

机器学习法则:ML工程的最佳实践

Martin Zinkevich 在2016年将 google 内容多年关于机器学习相关的经验分享了出来,这篇文章是对该分享的一些翻译+解读,如果想查看原文请参...

1193
来自专栏机器之心

业界 | MobileNet在手机端上的速度评测:iPhone 8 Plus竟不如iPhone 7 Plus

34110
来自专栏机器之心

百度NLP | 神经网络语义匹配技术

百度NLP专栏 作者:百度NLP 一、序言 文本匹配是自然语言处理中一个重要的基础问题,自然语言处理中的许多任务都可以抽象为文本匹配任务。例如网页搜索可抽象为网...

4407

扫码关注云+社区