back translation时如何选取源语言生成方式

Sergey2018EMNLP_Understanding Back-Translation at Scale

摘要:

  • 采样/加噪的合成数据,比greedy/beam方法生成的数据训练效果更好
  • 研究了合成数据较之真正双语数据效果如何
  • 研究了各种domain effects

Intro:

  • 关于如何使用单语语料优化模型,已经有了大量的研究:语言模型融合、回溯、对偶学习
  • 回溯中,target是自然单语数据,source是合成数据。因为要用自然数据训练MT中的语言模型模块,合成数据效果肯定不会很好

相关工作:

  • Low resource language pairs can also be improved with synthetic data where the source is simply a copy of the monolingual target data.
  • Sampling synthetic sources is more effective than beam search.

源语料合成:

  • Greedy和Beam都是找到MAP(最大后验概率)输出的近似算法
  • Beam在找到MAP输出上通常很有效,但这也会导致less rich translations:since it always favors the most likely alternative in case of ambiguity
  • 作者认为上述问题,在数据增强,例如回溯的场景下,是个比较严重的问题。Beam和Greedy只关注head of the model distribution(模型中同词义下最前面的那几个词),导致合成数据非常有规律,不符合真实数据分布
  • 因此作者考虑使用采样的方式代替Greedy/Beam,以及在beam outputs上加噪。作者一共给出了3个方案
    • 无限制采样。能够生成多样化、但有时非常unlikely的输出
    • 有限制采样。每个时间步,从输出分布中选择top k个tokens,renormalize并从这个受限集中进行采样
    • 加噪。利用三种方式对beam search结果加噪:0.1概率删词、0.1概率用填充词替换、交换单词位置( implemented as a random permutation over the tokens, drawn from the uniform distribution but restricted to swapping words no further than three positions apart)

合成数据生成方式:

  • 实验包括的解码方式:
    • MAP类:Greedy、size=5的BeamSearch
    • 非MAP类:非限制采样、限制采样(top10)、beam+noise
  • 作者实验表明,限制采样top10、top5、top20、top50结果差不多,所以用top10
    back translation时如何选取源语言生成方式_第1张图片
    back translation时如何选取源语言生成方式_第2张图片

生成方式分析:

  • 可以看出,采样和beam加噪的方法明显比纯MAP方法好
  • 除了sampling,其他方法都比使用真实双语语料训练时的困惑度低。由此可证,argmax方法产生的结果,相比采样和加噪argmax,无法提供和真实数据一样较为丰富的训练数据
  • 因此作者推测:
    • argmax inference不是最优方法
    • sampling和加噪argmax能够将模型exposed to a wider range of source sentences,which makes the model more robust to reordering and substitutions that happen naturally, even if the model of reordering and substitution through noising is not very realistic
  • 另外,sampling通常会引入一些源语言中没有对应词语的词。

LowResource vs HighResorce:

  • 作者在不同数量的双语语料情况下,测试了回溯方案对比
  • 双语语料较多(64万/520万)情况下,sampling优于beam;语料较少(8万)情况下,samping不如beam。大概因为低资源情况下,本来MT就不怎么样,使用sampling/加噪beam更多的是带来负面影响

合成数据的domain:

  • 两个问题:
    • 从最终的模型准确度角度而言,真实的平行语料相比合成数据如何
    • 单语语料的domain是如何影响结果的
  • 为此,作者利用64万条平行语料训练了一个baseline,并基于此baseline和以下三个方案继续训练(回溯基于sampling):
    • 剩余的平行语料
    • 对剩余平行语料target进行回溯
    • 对新闻语料进行回溯
  • 平行语料是通用语料(只包含小部分新闻/垂域语料),验证集包含两个部分:新闻/垂域验证集,通用验证集
  • 结果显示:
    • 使用真实语料/回溯有差距,但是差距不是很大,回溯是有用的
    • domain不匹配的回溯就算不匹配,对于结果也是有提升的。当然领域内回溯效果更好

上采样平行语料:

  • 平行语料与合成数据占比不同,对结果也有一定影响-
  • upsampling rate意味着,以2为例,以2倍频率访问平行语料。
  • 从结果可以看出:
    • sampling和加噪不需要对平行语料上采样
    • beam/greedy需要上采样,而且越多越好。因为argmax方法回溯本来效果就一般般
  • 不过理论上,对于所有方法,不都应该是越多越好吗(不一定,上采样!=平行语料扩充)
    back translation时如何选取源语言生成方式_第3张图片

你可能感兴趣的:(论文阅读)