编者荐语:
介绍 18 个在机器翻译任务上曾取得 SOTA 的经典模型。
以下文章来源于机器之心SOTA模型,作者机器之心SOTA模型
机器之心专栏
本专栏由机器之心SOTA!模型资源站出品,每周日于机器之心公众号持续更新。
本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
本文将分 3 期进行连载,共介绍 18 个在机器翻译任务上曾取得 SOTA 的经典模型。
- 第 1 期:RNNsearch、Multi-task、attention-model、Convolutional Encoder、Attention、Value-Network
- 第 2 期:Unsupervised NMT、PBSMT、coarse-to-fine、two-pass decoder translation、XLMs、MASS
- 第 3 期:FlowSeq、mBART、BERT-fused、mRASP、mRASP2、CeMAT
您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
第 1 期回顾:RNNsearch、Multi-task、attention-model…你都掌握了吗?一文总结机器翻译必备经典模型(一)
第 2 期回顾:Unsupervised NMT、PBSMT、coarse-to-fine…你都掌握了吗?一文总结机器翻译必备经典模型(二)
本期收录模型速览
模型 | SOTA!模型资源站收录情况 | 模型来源论文 |
FlowSeq | https://sota.jiqizhixin.com/project/flowseq 收录实现数量:1 支持框架:PyTorch |
FlowSeq: Non-Autoregressive Conditional Sequence Generation with Generative Flow |
mBART | https://sota.jiqizhixin.com/project/mbart-2 收录实现数量:2 支持框架:PyTorch |
Multilingual Denoising Pre-training for Neural Machine Translation |
BERT-fused | https://sota.jiqizhixin.com/project/bert-fused 收录实现数量:3 支持框架:PyTorch、TensorFlow |
Incorporating BERT into Neural Machine Translation |
mRASP | https://sota.jiqizhixin.com/project/mrasp 收录实现数量:1 |
Pre-training Multilingual Neural Machine Translation by Leveraging Alignment Information |
mRASP2 | https://sota.jiqizhixin.com/project/mrasp2 收录实现数量:1 支持框架:PyTorch |
Contrastive Learning for Many-to-many Multilingual Neural Machine Translation |
CeMAT | https://sota.jiqizhixin.com/project/cemat 收录实现数量:1 支持框架:TensorFlow |
Universal Conditional Masked Language Pre-training for Neural Machine Translation |
机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。
一般而言,RBMT分析一段文字,通常会先建立目标语言中介的、象征性的表义字词。再根据中介的表义字词来决定使用人工国际语言(interlingual)化的机器翻译,或是使用转化原则法的机器翻译(transfer-based machine translation)。这些方法都必须拥有具备足够形态学的、语句学的以及语义学的资讯以及大量的字词规则所建构的辞汇。常见RBMT的难处在于无法给于适当且足够庞大的资讯,来满足不同领域或是不同法则的机器翻译法。
统计机器翻译(SMT)的首要任务是为语言的产生构造某种合理的统计模型,并在此统计模型基础上,定义要估计的模型参数,并设计参数估计算法。早期的基于词的统计机器翻译采用的是噪声信道模型,采用最大似然准则进行无监督训练,而近年来常用的基于短语的统计机器翻译则采用区分性训练方法,一般来说需要参考语料进行有监督训练。
2014年Dzmitry Bahdanau和Yoshua Bengio等学者提出了神经机器翻译。神经机器翻译(NMT)基于深度神经网络,为机器翻译提供了端到端的解决方案,在研究社区中受到了越来越多的关注,且近几年已被逐渐应用到了产业中。NMT 使用基于 RNN 的编码器-解码器框架对整个翻译过程建模,编码器是把源语言经过一系列的神经网络的变换之后,表示成一个高维向量。解码器负责把这个高维向量再重新解码(翻译)成目标语言。在训练过程中,它会最大化目标语句对给定源语句的似然度。在测试的时候,给定一个源语句 x,它会寻找目标语言中的一个语句 y,以最大化条件概率 P(y|x)。由于目标语句的可能数目是指数量级的,找到最优的 y 是 NP-hard 的。因此通常会使用束搜索(beam search)以找到合理的 y。束搜索是一种启发式搜索算法,会以从左向右的形式保留得分最高的部分序列扩展。特别是,它保存了一群候选的部分序列。在每个时间步长上,该算法都会通过添加新词的方法扩展每一个候选部分语句,然后保留由 NMT 模型评分最高的新候选语句。当达到最大解码深度或者所有的语句都完全生成的时候(即所有的语句都包含 EOS 符号后缀的时候),算法就会终止。
我们在这篇报告中总结了神经机器翻译中的经典TOP模型。