UNSUPERVISED MACHINE TRANSLATION USING MONOLINGUAL CORPORA ONLY 阅读笔记 无监督机器翻译

UNSUPERVISED MACHINE TRANSLATION USING MONOLINGUAL CORPORA ONLY

时间会议:2018 ICLR

作者:Guillaume Lample † ‡ , Alexis Conneau † , Ludovic Denoyer ‡ , Marc’Aurelio Ranzato †

† Facebook AI Research

 

摘要:

 

在这项工作中,将这个研究方向发挥到了极致,研究是否可以在没有任何并行数据的情况下学习翻译。提出了一种从两种语言的单语语料库中提取句子并将其映射到同一潜在空间的模型。

介绍:

我们研究在没有任何形式监督的情况下,是否有可能训练一个通用的机器翻译系统。我们唯一的假设是每种语言都有一个单语语料库。这种设置之所以有趣,有两个原因。首先,当遇到没有注释的新语言对时,这是适用的。其次,它提供了一个强大的下界性能,任何良好的半监督方法都有望产生这样的性能。

 

2.1无监督翻译模型

 

在本文中,我们使用了一个有注意的序列到序列模型(Bahdanau et al., 2015),没有输入输入。编码器是一个双向lstm,它返回一个隐藏状态序列z = (z1, z2,…zm评选)。在每个步骤中,解码器(也是一个LSTM)将之前的隐藏状态、当前单词和由编码器状态的加权和给出的上下文向量作为输入。在我们考虑的所有实验中,编码器和解码器都有3层。LSTM层在源和目标编码器之间以及源和目标解码器之间共享。我们还共享源和目标解码器之间的注意权重。嵌入和LSTM隐藏状态维度都设置为300。使用贪婪解码生成句子。

2.2 OVERVIEW OF THE METHOD

 

我们考虑源域中的一个句子数据集(用Dsrc表示)和目标域中的另一个数据集(用Dtgt表示)。通常,这些数据集彼此不对应。我们通过在特定域中重构一个句子来训练编码器和解码器,给定同一句子在同一域中或在另一个域中的嘈杂版本。

2.3 DENOISING AUTO-ENCODING

 

在没有任何约束的情况下,自动编码器很快就学会了只复制每个输入单词。这样的模型还可以完美地复制随机单词序列,这表明该模型没有在数据中学习任何有用的结构。为了解决这个问题,我们采用了同样的去噪策略自动编码器(DAE) (Vincent et al., 2008),并在输入语句中添加噪声(见图1-left),如果可以学习到这种语义信息,能够在缺省句子中某个词情况下

成功表达语义信息,我们的自动编码器模型就能学习句子中结构和语义信息。

过程是把某种语言L的句子加一些噪声(打乱顺序和丢掉一些词),然后用 e(x,L) 编码加噪声后的句子,再用 d(x,L) 恢复它。通过最小化与原句子的差异来训练encoder 和 decoder,loss函数如上式。加噪声的目的是让模型不是仅仅学习到了复制句子,尤其模型加了attention机制的情况下。

考虑到域' = src或' = tgt,以及一个对句子起作用的C表示的随机噪声模型,我们定义如下目标函数:

2.4 CROSS DOMAIN TRAINING

 

方法的第二个目标是约束模型能够将输入语句从源/目标域' l1映射到目标/目标域' l2,这是我们在测试时最终感兴趣的。

这里的原则是采样一个句子x∈D 'l1,并在'l 2中生成这个句子的损坏平移表示。将当前表示为M的转换模型应用于y = M(x)的x,生成此损坏版本。然后采样损坏的版本C(y)(参见图1-right)。因此,目标是学习编码器和解码器,使它们能够从C(y)重构x。跨域损失可表示为:

2.5 ADVERSARIAL TRAINING

 

因此,我们希望我们的编码器在相同的空间输出特性,而不管输入语句的实际语言是什么。如果满足这种条件,我们的译码器就可以用某种语言译码,而不用考虑编码器输入语句的语言。

但是请注意,解码器仍然可能产生错误的翻译,同时在目标域中生成有效的句子,因为限制编码器在相同的特征空间映射两种语言并不意味着句子之间存在严格的对应关系。幸运的是,前面介绍的公式2中跨域训练的损失减轻了这种担忧。此外,最近关于双语词汇归纳的研究表明,这种约束在词汇层面非常有效,这表明,只要这两种潜在表征在特征空间中表现出较强的结构,这种约束也可能在句子层面发挥作用。

为了增加这样一个约束,我们训练了一个神经网络,我们称之为识别器,对源句编码和目标句编码进行分类(Ganin et al., 2016)。该鉴别器对编码器的输出进行操作,编码器的输出是一个潜在向量序列(z1,…zm),zi∈Rn,并对编码器输入语句的语言产生二进制预测其中0对应源域,1对应目标域。

相反,编码器被训练用来欺骗鉴别器:

最终目标函数

 

 

3 TRAINING

在训练时,两个翻译方向的nmt的所有 loss 加起来训一个 batch,然后判别器 D 训一个 batch,这样交错下去。训练流程如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章