快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再生成对应的英语单词。在每一步,都扫描一下法语单词来看一下哪些词语与下一个要翻译的英文单词关系最为密切。在解码器中有两层,下面的动画说明了每一层的注意力机制是怎么完成的。绿线的强度表现了网络对每一个法语单词的注意力。当网络训练好之后,也就可以进行翻译了,英文单词的计算也可以同时进行。

image

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

以后的发展

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

AI科技评论招聘季全新启动!

很多读者在思考,“我和AI科技评论的距离在哪里?”答案就是:一封求职信。

AI科技评论自创立以来,围绕学界和业界鳌头,一直为读者提供专业的AI学界、业界、开发者内容报道。我们与学术界一流专家保持密切联系,获得第一手学术进展;我们深入巨头公司AI实验室,洞悉最新产业变化;我们覆盖A类国际学术会议,发现和推动学术界和产业界的不断融合。

而你只要加入我们,就可以一起来记录这个风起云涌的人工智能时代!\

本文转自d1net(转载)

相关文章
|
23天前
|
机器学习/深度学习 人工智能 监控
AutoTrain:Hugging Face 开源的无代码模型训练平台
AutoTrain 是 Hugging Face 推出的开源无代码模型训练平台,旨在简化最先进模型的训练过程。用户无需编写代码,只需上传数据即可创建、微调和部署自己的 AI 模型。AutoTrain 支持多种机器学习任务,并提供自动化最佳实践,包括超参数调整、模型验证和分布式训练。
96 4
AutoTrain:Hugging Face 开源的无代码模型训练平台
|
25天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
29 6
|
27天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
28 1
|
1月前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
111 1
|
3月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
124 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
JSON 测试技术 API
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
|
4月前
|
机器学习/深度学习 人工智能 数据处理
【人工智能】项目实践与案例分析:利用机器学习探测外太空中的系外行星
探测外太空中的系外行星是天文学和天体物理学的重要研究领域。随着望远镜观测技术的进步和大数据的积累,科学家们已经能够观测到大量恒星的光度变化,并尝试从中识别出由行星凌日(行星经过恒星前方时遮挡部分光线)引起的微小亮度变化。然而,由于数据量巨大且信号微弱,传统方法难以高效准确地识别所有行星信号。因此,本项目旨在利用机器学习技术,特别是深度学习,从海量的天文观测数据中自动识别和分类系外行星的信号。这要求设计一套高效的数据处理流程、构建适合的机器学习模型,并实现自动化的预测和验证系统。
85 1
【人工智能】项目实践与案例分析:利用机器学习探测外太空中的系外行星
|
3月前
|
机器学习/深度学习 人工智能 算法
ML.NET:一个.NET开源、免费、跨平台的机器学习框架
ML.NET:一个.NET开源、免费、跨平台的机器学习框架
|
4月前
|
机器学习/深度学习 资源调度 分布式计算
阿里PAI-ChatLearn:大规模 Alignment高效训练框架正式开源
PAI-ChatLearn现已全面开源,助力用户快速、高效的Alignment训练体验。借助ChatLearn,用户可全身心投入于模型设计与效果优化,无需分心于底层技术细节。ChatLearn将承担起资源调度、数据传输、参数同步、分布式运行管理以及确保系统高效稳定运作的重任,为用户提供一站式解决方案。
|
4月前
|
机器学习/深度学习 数据处理 定位技术
构建您的首个机器学习项目:从理论到实践
【8月更文挑战第28天】本文旨在为初学者提供一个简明的指南,通过介绍一个基础的机器学习项目——预测房价——来揭示机器学习的神秘面纱。我们将从数据收集开始,逐步深入到数据处理、模型选择、训练和评估等环节。通过实际操作,你将学会如何利用Python及其强大的科学计算库来实现自己的机器学习模型。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往机器学习世界的大门。
下一篇
DataWorks