论文解读:Sequence to Sequence Mixture Model for Diverse Machine Translation

论文解读:Sequence to Sequence Mixture Model for Diverse Machine Translation

  机器翻译是自然语言处理中比较热门的研究任务,在深度学习背景下,通过神经网络搭建的机器翻译也称为当今主流方式。在解决机器翻译过程中需要解决诸多问题,例如原始句子的语义表征、句子对齐、集束搜索、未知词、漏译过译等。而对于这种序列到序列的任务中,通常有诸多策略,例如基于sequence2sequence模型(亦即encoder-decoder),基于生成对抗模型,基于强化学习模型等。本文主要讨论sequence2sequence部分。

  我们知道基于sequence2sequence模型绝大多数均是通过encoder对原始句子进行语义表征,这里可以使用CNN、RNN甚至是纯Attention的Transformer;同理解码器也可以通过CNN、RNN和Transformer。但解码器与编码器不同之处在于,每生成(预测)一个词,需要考虑当前时刻解码器的状态、前一个时刻生成词的结果,亦或是再添加一个注意力着重关注当前时刻及之前所有词。

  而本文发现传统的方法生成的句子多样性较低。我们知道集束搜索(beam search)的确可以通过生成多个句子达到一定的多样性,但是本文认为这样不够充分,那么作者是怎么样认为的呢?具体我们详细介绍如下。

一、简要信息

序号 属性
1 模型名称 S2SMix
2 所属领域 自然语言处理
3 研究内容 神经机器翻译
4 核心内容 Attention;
5 GitHub源码
6 论文PDF https://arxiv.org/pdf/1810.07391.pdf)

二、摘要与引言

  Sequence2sequence模型在神经机器翻译领域中得到有效的应用,然而存在一个明显的问题是sequence2sequence缺乏翻译多样性。先前的方法是通过设计具有多样性的解码算法(集束搜索beam search),后来研究了建模增强,特别是引入连续的潜在变量,以捕获训练语料库中的词汇和语法变化。

  本文为了提高翻译的质量和多样性,我们提出一种新的sequence2sequence混合模型(S2SMIX),引入一组专业的翻译模型,而不是单一的翻译模型。混合模型的每一个部分通过最优化marginal log-likelihood获取相应的数据集,达到软聚类并行语料。我们为每个句子添加了全局离散隐变量, 在训练语料库中进行分组并捕捉变化。

  我们在四个数据集任务上完成实验测试,分别是英语——德语、英语——法语;英语——越南语和英语——西班牙语。通过实验发现我们的模型在准确性和多样性方面均超过基线模型。作者认为与普通模型相比,混合模型的优点是附加参数可以忽略不计,并且在推理时无需额外的计算。

三、相关工作与主要贡献

  我们知道,对于sequence2sequence先前的工作中,通常使用集束搜索来提高生成句子的多样性,不仅是机器翻译,在图文描述中也十分常用【1】。另一种策略是对抗训练【2,3】。对于机器翻译任务来说,【4】提出了一种基于变分推理的机器翻译系统来解释翻译的变化,与我们相似,与此同时,我们提出了几个多样性指标来进行定量分析。

四、算法模型详解(S2SMix)

  首先我们用形式化的语言描述一下基于sequence2sequence的机器翻译任务。给定一个样本 (x,y)(x,y) 其中 x\textbf{x} 表示原始句子, y\textbf{y} 表示目标句子,因此可得到模型 p(yx)p(\textbf{y}|\textbf{x}) 即在给定原始句子的条件下目标句子的条件概率。在解码器中通常使用自回归方式,即:

Pθ(yx)=t=1yPθ(yty<t,x)P_\theta(\textbf{y}|\textbf{x}) = \prod_{t=1}^{|y|}P_{\theta}(y_t|\textbf{y}_{<t}, \textbf{x})

可以看出,条件概率 p(yx)p(\textbf{y}|\textbf{x}) 是一组连乘,每生成一个词,需要考虑前面的生成词的结果。其中 y<t(y1,y2,...,yt1)\textbf{y}_{<t} \equiv (y_1,y_2, ..., y_{t-1}) 表示当前时刻 tt 之前的已预测的词的序列。
  根据统计学习方法可知,我们要想得到这样的模型,我们需要最大化这个条件概率,而通常对于连乘可以通过添加对数方法转换为求和,亦即最大似然:

l(θ)=(x,y*)Dt=1y*log(Pθ(yt)y<t*,x)l(\theta) = \sum_{(\textbf{x}, \textbf{y}^\textbf{*})\in D}\sum_{t=1}^{|\textbf{y}^\textbf{*}|}log(P_{\theta}(y_{t}^*)|\textbf{y}^\textbf{*}_{<t}, \textbf{x})

其中样本集 D={(x,y*)d}d=1DD=\{(\textbf{x}, \textbf{y}^\textbf{*})_d\}_{d=1}^{|D|}
  一般上式在解码器中使用,可通过RNN来实现自回归。因此本文充分利用RNN这个特性,在编码器使用LSTM进行编码,解码器使用两层的RNN迭代生成目标序列 y\textbf{y}

st1=LSTM(st11,M[yt];ct)s_t^1 = LSTM(s_{t-1}^{1}, M[y_t]; c_t)

st2=LSTM(st12,st1;ct)s_t^2 = LSTM(s_{t-1}^{2}, s_t^1; c_t)

Pθ(yt+1yt,x)=softmax(Wst2+Wct)P_\theta(y_{t+1}|\textbf{y}_{\leq t}, \textbf{x}) = softmax(Ws_t^2 + W'c_t)

其中 M[yt]M[y_t] 表示当前时刻的目标词表征, MM 是一个embedding table。

论文解读:Sequence to Sequence Mixture Model for Diverse Machine Translation

4.1 S2SMix模型

  提高翻译模型的多样性引起许多重视。给定一个原始句子,人工翻译可以生成一组不同但合理的翻译句子。虽然beam search也可以生成一组合理的翻译,但这些句子都共有相同的tokens。这种缺乏多样性可能带给重排序系统或者那些想要获得多种翻译的用户一些问题。先前的解决方法是在beam search阶段增加多样性惩罚,相反,我们的模型可以在训练和推理阶段增加多样性。
  首先引入一个离散隐变量 z{1,2,...,K}z\in\{1, 2, ..., K\} 每一个 zz 表示混合模型中的一个组件,并且以 P(zx)=1/KP(z|\textbf{x}) = 1/K 概率选择其一。因此目标条件概率可写为:

Pθ(yx)=z=1KPθ(yx,z)P(zx)P_\theta(\textbf{y}|\textbf{x}) = \sum_{z=1}^{K}P_{\theta}(\textbf{y}|\textbf{x}, z)P(z|\textbf{x})

亦即混合模型中的每个组件的条件概率期望和,目标函数则为

论文解读:Sequence to Sequence Mixture Model for Diverse Machine Translation

仔细分析可知,对于每个样本 (x,y*)(\textbf{x}, \textbf{y}^{\textbf{*}}), 首先计算当前时刻 tt 模型中 KK 个组件分别预测的条件概率,然后求和得到所有组件融合的预测结果,再通过连乘计算整个句子的条件概率。

  那么,这 KK 个组件又是如何构造的呢?如图所示:

论文解读:Sequence to Sequence Mixture Model for Diverse Machine Translation

  所有的混合模型均共享同一个解码器,因此所有混合模型仅需要映射一次输入句子。而区分每个混合模型的方法则是在隐状态基础上拼接不同的调制信号。

  在两层LSTM解码器中,例如对于第 zz 个混合模型,隐状态为 sti=LSTM(st1i+Mi[z],input)s_t^i = LSTM(s_{t-1}^i + M_i[z], input) ,其中 ii 取值范围为 {1,2}\{1,2\}。我们将调制信号分别添加到解码器的底层和顶层LSTM层,即 btb_t 层和 tpt_p 层。注意,在 btb_t 配置中,注意力mask依赖于指示器变量z(即每个混合模型的底部调制信号相互独立),而在 tpt_p 配置中,注意力mask在不同的混合组件之间共享。

  我们还考虑将条件信号加入到softmax层中,从而对每个混合成分中单个单词的选择产生偏差。

Pθ(yt+1yt,x,z)=softmax(logits+Mb[z])P_\theta(y_{t+1}|\textbf{y}_{\leq t}, \textbf{x}, z) = softmax(logits + M_b[z])

其中 Mb[z]M_b[z] 表示含有 KKDvocabD_{vocab}(即词表大小)列的矩阵,logits表示对于第 MbM_b 行(即每个组件)的结果。

4.2 集束搜索

  在推理阶段,我们为每个混合模型组件单独进行beam search。由于不同的混合成分往往偏爱某些短语和语言结构,因此对每个成分进行独立的集束搜索可以促进候选翻译之间的多样性。假设一共 KK 个组件,每个组件的集束宽度为 bb ,则一共可以获得候选句子 KdKd 个。

4.3 内存分配

  作者在训练过程中发现,虽然设置较小的 KK 值,但每一个组件均需要训练大量的参数,使得模型占用内存过高,作者在具体实现中设计了一种内存分配算法来降低内存,具体不作详细解释。

论文解读:Sequence to Sequence Mixture Model for Diverse Machine Translation

参考文献

【1】Ashwin K Vijayakumar, Michael Cogswell, Ramprasath R Selvaraju, Qing Sun, Stefan Lee, David Crandall, and Dhruv Batra. 2016. Diverse beam search: Decoding diverse solutions from neural sequence models. arXiv preprint arXiv:1610.02424.
【2】Rakshith Shetty, Marcus Rohrbach, Lisa Anne Hendricks, Mario Fritz, and Bernt Schiele. 2017. Speaking the same language: Matching machine to human captions by adversarial training. In In Proceedings of the IEEE International Conference on Computer Vision (ICCV).
【3】Dianqi Li, Xiaodong He, Qiuyuan Huang, Ming-Ting Sun, and Lei Zhang. 2018. Generating diverse and accurate visual captions by comparative adversarial learning. arXiv preprint arXiv:1804.00861.
【4】PhilipSchulz,WilkerAziz,andTrevorCohn.2018b. A stochastic decoder for neural machine translation. In In Proceedings of the 56 th Annual Meeting of the Association for Computational Linguistics(ACL),Mel bourne, Australia.

  博客记录着学习的脚步,分享着最新的技术,非常感谢您的阅读,本博客将不断进行更新,希望能够给您在技术上带来帮助。