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再生成对应的英语单词。在每一步,都扫描一下法语单词来看一下哪些词语与下一个要翻译的英文单词关系最为密切。在解码器中有两层,下面的动画说明了每一层的注意力机制是怎么完成的。绿线的强度表现了网络对每一个法语单词的注意力。当网络训练好之后,也就可以进行翻译了,英文单词的计算也可以同时进行。
系统的另一个方面是门控,其控制神经网络里面的信息流。在每个神经网络中,信息都流过所谓的隐藏单元。的门控机制精确的控制了传向下一个单元的信息,一个好的翻译才因此产生。例如,当预测下一个单词的时候,网络会把它前面的翻译部分考虑进去。门控允许它在翻译的一个特定方向进行放大—这一切都取决于网络认为其在上下文中认为合不合适。
以后的发展
这一种方法是机器翻译的一种替代框架,也给其它的文本处理任务提供了新的思路。例如,多跳机制在对话系统中允许网络注意对话的不同部分。例如对两个没有联系的事实,可以把它们联系在一起来更好地回答复杂的问题。