业界|快9倍!Facebook开源机器学习翻译项目fairseq

Facebook的使命是让世界变得更加开放,让每个人都能以最高的准确性和最快的速度使用自己喜欢的语言来发帖子和视频进行互动,语言翻译对此十分重要。

今天,Facebook的人工智能研究团队发表了他们的研究成果Fairseq,他们使用了一种新型的卷积神经网络来做语言翻译,比循环神经网络的速度快了9倍,而且准确性也是现有模型中最高的。此外,FAIR序列建模工具包的源代码和训练好的系统都已经在开源平台GitHub上公布,其他的研究者可以在此基础上建立自己的关于翻译、文本总结和其他任务的模型。

为什么选择卷积神经网络?

卷积神经网络在数十年前由Yann Lecun 提出,已经在诸如图像处理之类的领域取得了成功。 循环神经网络却是文本领域的现有技术,并且由于其极高的效率而成为语言翻译的首选。

尽管循环神经网络以前在语言翻译上比卷积神经网络表现的更好。但是其设计具有固有的局限性,这可以通过它们怎么处理信息来理解。计算机一句一句地来翻译一个文本然后去预测另外一种语言具有相同意思的单词序列。循环神经网络以严格的从左到右或者从右到左的来进行运算,一次处理一个单词。这和现在高度并行的GPU硬件有点不符合。由于单词只能一个接着一个进行处理,计算不能完全并行。而卷积神经网络可以同时计算所有的元素,充分利用了GPU的并行性。CNN的另一个优点是它对信息进行分层处理,这让它可以更容易获得数据之间的复杂关系。

在先前的研究中,卷积神经网络在翻译任务上的表现要差于循环神经网络。然而,由于卷积神经网络架构上的潜力,FAIR开始了研究,发现所设计的翻译模型显示了CNN在翻译方面的优异性能。CNN优异的计算性能将有可能会扩展可翻译的语言,将包括全球的6500种语言。

最快最好的结果

Facebook团队的结果表明,在广泛应用的标准测试数据集(WMT会议提供)上,其比RNN表现的更好。尤其是卷积神经网络比先前在WMT发表的结果都要好。在英语-法语任务上提高了1.5 BLEU,在英语-德语任务上提高了0.5BLEU,在WMT2016的英语-罗马尼亚语任务上,提高了1.8BLEU。

对神经机器学习实际应用考虑的一个方面在于翻译一个句子所需要的时间。 FAIR的卷积神经网络模型计算的相当快速,比循环神经网络快乐整整9倍。许多研究都通过量化权重或者其他的方法的方法来加速神经网络,这也同样可以用于卷积神经网络。

用多跳注意和门控来获得更好的翻译效果

团队的架构一个重要的部分就是多跳注意。注意力的机制类似于一个人在翻译句子的时候会把句子分开翻译,而不是仅仅看一次句子然后就直接写下完整的翻译。所设计的网络会重复地扫描句子来决定它将要翻译的下一个单词。多跳注意是这种机制的加强版,它让网络更多次地扫描句子来产生更加好的结果。每一次扫描之间都相互影响。举一个例子,第一次扫描会注意到一个动词,然后第二次扫描会注意到相关联的助动词。

在下面这幅图中,Facebook团队展示了一个系统是怎么阅读一个法语短语然后再翻译成英语的。首先,用卷积神经网络来生成每一个法语单词的对应向量,在此同时进行计算。然后解码的CNN再生成对应的英语单词。在每一步,都扫描一下法语单词来看一下哪些词语与下一个要翻译的英文单词关系最为密切。在解码器中有两层,下面的动画说明了每一层的注意力机制是怎么完成的。绿线的强度表现了网络对每一个法语单词的注意力。当网络训练好之后,也就可以进行翻译了,英文单词的计算也可以同时进行。

系统的另一个方面是门控,其控制神经网络里面的信息流。在每个神经网络中,信息都流过所谓的隐藏单元。的门控机制精确的控制了传向下一个单元的信息,一个好的翻译才因此产生。例如,当预测下一个单词的时候,网络会把它前面的翻译部分考虑进去。门控允许它在翻译的一个特定方向进行放大—这一切都取决于网络认为其在上下文中认为合不合适。

以后的发展

这一种方法是机器翻译的一种替代框架,也给其它的文本处理任务提供了新的思路。例如,多跳机制在对话系统中允许网络注意对话的不同部分。例如对两个没有联系的事实,可以把它们联系在一起来更好地回答复杂的问题。

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

原文发表时间:2017-05-10

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小巫技术博客

深度学习,NLP和表征(译)

10730
来自专栏智能算法

模拟退火优化算法

一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近...

38860
来自专栏小小挖掘机

推荐系统遇上深度学习(二十)--贝叶斯个性化排序(BPR)算法原理及实战

排序推荐算法大体上可以分为三类,第一类排序算法类别是点对方法(Pointwise Approach),这类算法将排序问题被转化为分类、回归之类的问题,并使用现有...

19220
来自专栏人工智能

工作流程(第3部分) - 特征提取

在这篇文章中,我将讨论在一个成功的ML中的特征提取(Feature Feature,也称为特征构建,Feature Aggregation ...)的细节。提取...

41400
来自专栏CDA数据分析师

大数据时代空间数据挖掘的认识及其思考

引言 空间数据挖掘(Spatial Data Mining,SDM)即找出开始并不知道但是却隐藏在空间数据中潜在的、有价值的规则的过程。具体来说,空间数据挖掘就...

292100
来自专栏大数据挖掘DT机器学习

大白话解析模拟退火算法

一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近...

48990
来自专栏专知

逻辑回归和深度神经网络:哪个更适合你?

【导读】简单的逻辑回归于复杂的深度神经网络都广泛应用于各种分类场景,但是针对不同的任务到底哪种模型更适合呢?本文从参数量和特定数据的使用两方面来阐述两种模型的区...

38590
来自专栏AI研习社

文本嵌入的经典模型与最新进展

AI 研习社按:这篇文章来自自然语言处理以及机器学习专家、Huggingface 的技术负责人 Thomas Wolf,介绍了文本嵌入的重点知识和最新趋势。 A...

11410
来自专栏奇点大数据

破解PRISMA(下)

经过了两周的各种尝试,在各种及其惨烈的测试结果之后,我们还是在网上找到了相关的Paper作为工作指导。 前两周我们的各种尝试是基于一篇名为《Image Styl...

37370
来自专栏人工智能头条

Google 的神经网络生成图像 (Inceptionism) 自述(含源码下载)

43120

扫码关注云+社区

领取腾讯云代金券