12

NeurIPS 2019丨推敲网络+soft原型序列,带来轻便又精准的机器翻译

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzAwMTA3MzM4Nw%3D%3D&%3Bmid=2649450369&%3Bidx=1&%3Bsn=658b316a34c63f22897e1a5e62713f36
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

URjMvuA.gif

编者按: 机器翻译模型生成序列通常采用单阶段解码过程,不能很好地应用目标端的全局信息。微软亚洲研究院提出了一个引入 soft 原型序列的框架来充分利用目标端的全局信息,让基于推敲网络[1]的机器翻译模型在精度无损的情况下模型更小,速度更快,翻译结果更准确。

研究背景

近年来,机器翻译发展迅速,基于各种机器翻译模型的翻译工具 已经在工作和生活中得到了广泛使用。 常用的机器翻译模型在生成序列的时候,通常采用单阶段解码过程。 也就是给定一个输入 x, 编码器先将其编码为隐状态,而后解码器将隐状态映射到目标语言的句子。

这种生成模式的一个局限性,就是生成过程没有很好地应用目标端的全局信息。之前的工作提出了许多不同的方法利用全局信息克服这种局限,包括引入额外的网络结构生成一个中间序列;或是从已有的语料集中检索出中间序列。这些方法虽然用于不同的场景、针对不同的任务,却都有着相同的基本思想,即 将一个原型序列(prototype sequence)引入到标准编码器-解码器框架中

图1展示了两个例子:一个是我们之前的工作—— 推敲网络(deliberation network) [1],给定一个输入的句子 x,推敲网络受限输出一个中间翻译 y’,而后 y’ 会被输入到第二个解码器,将 y’ 推敲得到最后的输出 y。类似的想法也被我们应用到了无监督图像翻译的任务上[2];另一个是代码生成的任务,给定输入 x,模型会先选出一个和 x 比较接近的 x’ 和对应的 y’,而后 y’ 会被精修得到最后的输出。[3]

yaaQJvZ.jpg!web

图1:(左)基于两次解码的推敲网络;(右)基于先取回相关信息再改进的代码生成的网络

一个好的原型序列应该具有以下两条特性:一是 高质量 ,一个理想原型序列应该是一个包含丰富的全局信息并且方差较低的高质量向量表示;二是 高效率 ,原型序列应该容易生成,不会带来过多的时间和存储开销。先前工作中提出的原型序列,不管是通过额外解码过程生成的,还是从语料集检索的,都能比较好地表达全局信息,但是生成过程效率比较低。而且,由于生成开销较大,先前工作在实践中通常利用单一序列作为 hard 原型,这样会引入较大方差,对最终生成质量带来负面影响。

算法

本研究中,我们提出了一个 引入 soft 原型序列的框架来充分利用目标端的全局信息 ,引入原型序列后的通用框架可以表示为:y= Dec(Enc(x), Net(R))。 其中 Enc 和 Dec 分别是标准编码-解码器框架中的编码器和解码器网络,Net 是一个额外用于编码原型序列R的网络。 定义 E_y 为目标域的词向量矩阵,维度为 |V_y |×d。 用 1(y’) 表示目标域的序列 y’ 所对应的维度为 l_y^'×|V_y | 的 1-hot 向量表达,其中的每一行对应一个单词的 1-hot 向量。 序列 y’ 的 soft 原型序列 R 计算为:

ruUzum7.png!web

在此框架的基础上,我们提出一种更高效的原型序列生成方法:利用一个概率生成器 g,将输入单词投影到一个目标域词表上的概率分布,即 g(v_x )=(p_1,p_2,…,p_|V_y |  ),∑p_j=1。对于任意序列 x,第 i 个词 x_i 通过生成器映射为 ∑_j g_j (x_i ) e_j 的原型序列表示。

这种生成方式有两个好处:1) 和先前工作中解码或检索的原型序列生成方法相比,这里 G_y 采用非自回归的生成方式,显著提高了生成效率;2) 先前工作中通常采用单一原始序列,而 soft 原型序列包含多个候选翻译内容,为解码器提供更加丰富且方差更低的表达。

我们以机器翻译为例,在 Transformer 模型上介绍这种原型序列。如图2所示,对于给定输入序列,首先利用上述概率生成器 g 获得原型序列 R,并利用网络 Net 将其编码为上下文向量表示。原始输入序列和原型序列的上下文表示共同作用于解码器的编码-解码注意机制,进行解码。

jAny2yz.jpg!web

图2: soft 原型序列在 Transformer 中的应用

为了获得概率生成器 g, 我们首先要训练一个机器翻译模型 f_0。利用 f_0,我们能够建立每一个源语言单词和目标语言单词的概率关系。见图2右上角。另外,在训练过程中,我们用 f_0 的编码器和解码器去分别初始化我们提出的新模型的编码和解码器。

实验结果

我们在有监督翻译,半监督翻译和无监督翻译任务上进行了实验。

有监督翻译: WMT2014 英语-德语,英语-法语

aYrIzae.jpg!web

以英法翻译为例。Transformer base 能够取得28.68的 BLEU 分数。将推敲网络和 Transformer 结合能够取得29.11的 BLEU。将 Transformer 和我们提出的 soft 型序列结合能够取得29.46的 BLEU。相比于传统的推敲网络,我们提出的新结构能够取得和推敲网络相近的结果。但是,从参数量来看,推敲网络需要372M参数,而我们的网络相比于 Transformer 只需要0.2M额外参数。从测试时间来看,翻译3003个句子,标准 Transformer 需要116秒,推敲网络需要207秒,我们的算法只需要156秒,可以有效的减少推敲网络所需的时间。

半监督翻译: WMT2014-2018 英语-德语

yi2iEjq.jpg!web

我们在半监督英语到德语翻译任务上也验证了我们的算法。实验结果表明,利用我们的算法,我们可以在单模型和 ensemble 模型上都好于标准 Transformer 算法。

无监督翻译: WMT2016 英语-德语

FN36BjM.jpg!web

无监督翻译是最近关注度比较高的一个课题。我们将我们的算法应用到无监督翻译任务上,也取得了可观的提高。基于 Transformer 的无监督英德翻译的 baseline 分别是17.64和22.24,我们的算法能将这两个成绩提高至19.23和23.78。

我们在论文中也进行了实例分析,结论是在引入能够表达全局信息的原型序列后,我们能够对单词进行更精准的翻译,以及更好的捕捉语言的信息。

结论

本文提出了利用 soft 原型序列的翻译模型。 相比于之前的模型,我们的模型更为有效,体现在更小的模型和更快的翻译速度,并且精度无损失。 我们在多个翻译数集上验证了我们的算法。 将来,我们会将这个模型用到更多的任务上。

了解更多技术细节,请点击 阅读原文 查看论文:

Neural Machine Translation with Soft Prototype

论文链接: http://papers.nips.cc/paper/8861-neural-machine-translation-with-soft-prototype.pdf

参考论文:

[1] Xia, Y., Tian, F., Wu, L., Lin, J., Qin, T., Yu, N., & Liu, T. Y. (2017). Deliberation networks: Sequence generation beyond one-pass decoding. In Advances in Neural Information Processing Systems (pp. 1784-1794).

[2] He, T., Xia, Y., Lin, J., Tan, X., He, D., Qin, T., & Chen, Z. (2019, August). Deliberation learning for image-to-image translation. In Proceedings of the 28th International Joint Conference on Artificial Intelligence (pp. 2484-2490). AAAI Press.

[3] Hashimoto, T. B., Guu, K., Oren, Y., & Liang, P. S. (2018). A retrieve-and-edit framework for predicting structured outputs. In Advances in Neural Information Processing Systems (pp. 10052-10062).

你也许还想看

MRNjqea.jpg!web

beiuiyb.jpg!web

zuq6RzE.jpg!web

vABr6nm.gif


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK