ACL 2019 大会近日落幕。来自中国科学院计算所、腾讯微信 AI 实验室、华为诺亚方舟、伍斯特理工学院等研究人员完成的机器翻译论文《Bridging the Gap between Training and Inference for Neural Machine Translation》获得了最佳长论文奖。在本文中,机器之心对此论文通讯作者、中国科学院计算所的冯洋老师进行了专访。
而今年的 ACL 2019 最佳长论文——Bridging the Gap between Training and Inference for Neural Machine Translation 则对这两个问题提出了解决方案,并在多个机器翻译数据集上取得了一定的性能提升。在这一奖项出炉后,机器之心采访了论文通讯作者,中国科学院计算所的冯洋老师,请冯老师谈谈这篇论文和自然语言处理研究相关的事。
冯洋老师是中国科学院计算技术研究所副研究员,博士生导师,自然语言处理课题组负责人。2011 年在中科院计算所获得了博士学位之后,先后在英国谢菲尔德大学、美国南加州大学 Information Sciences Institute (USC/ISI) 开展研究工作。回国后先后在百度和清华大学工作,于 2017 年 6 月加入中科院计算所,入选计算所「新百星」人才引进计划。研究方向主要是自然语言处理、机器翻译和机器学习,先后在自然语言处理领域的顶级会议 ACL、EMNLP、COLING 等上发表了一系列论文,并担任 COLING 2018 的领域主席。发明了多项中国和美国专利,承担了国家重点研发计划、国家自然科学面上基金项目等项目,并作为主要参与人参与了美国国防部 DARPA 重大项目、欧盟重大项目和英国 EPSRC 基金项目。
冯洋:我认为目前最大的问题是 Teacher Forcing,它要求模型生成的翻译和 Ground Truth 完全对应。首先,这样可能扼杀了翻译的多样性。另外,模型不可能完全保证和 Ground Truth 的译文完全一致。有时候,模型在某一句上,通过调参可以达到和 Ground Truth 完全一致的结果,但是在另一句话可能就无法达到了。对于没有达到完全一致的句子,模型会被给予惩罚,而并没有去评价翻译的结果好不好,这是一个问题。所以,对于有潜力的点,我认为训练的框架很值得研究。另外,基于语义的翻译也很值得探究。但是,目前研究成果很少,不是说不值得研究,而是难度非常大。下一步如果能对译文方面,对翻译结果有一个正确的评估,这是很重要的。
为了解决机器翻译存在的问题,在论文 Bridging the Gap between Training and Inference for Neural Machine Translation 中,冯洋老师和团队成员提出了使用 Oracle 词语,用于替代 Ground Truth 中的词语,作为训练阶段约束模型的数据。
选择 Oracle Word 的方法有两种,一种是选择 word-level oracle,另一种则是 sentence-level oracle。
sentence-level oracle 的选择方法则是在训练时,在解码句子的阶段,使用集束搜索的方法,选择集束宽为 k 的句子(即 top k 个备选句子),然后计算每个句子的 BLEU 分数,最终选择分数最高的句子。
当然,这会带来一个问题,即每个时间步都需要获得该时间步长度上的备选句子,因此集束搜索获得的句子长度必须和时间步保持一致。如果集束搜索生成的实际句子超出或短于这一长度该怎么办?这里研究人员使用了「Force Decoding」的方法进行干预。而最终选择的 Oracle Word 也会和 Ground Truth 中的词语混合,然后使用衰减式采样(Decay Sampling)的方法从中挑选出作为约束模型训练的词。
针对论文中的一些问题,机器之心也请教了冯洋老师。
机器之心:我们知道,这篇论文的基本思想是:不仅使用 Ground Truth 进行约束,在训练过程中,也利用训练模型预测出的上一个词语作为其中的备选词语,这样的灵感是从哪里得到的呢?
冯洋:我们很早就发现了这样一个问题——训练和测试的时候模型的输入是不一样的。我们希望模型在训练过程中也能够用到预测出的词语。看到最近一些周边的工作,我们慢慢想到,将 Ground Truth 和模型自己预测出的词一起以 Sampling 的方式输入进模型。
机器之心:刚才您提到有一些周边的工作,能否请您谈谈有哪些相关的论文?
冯洋:这些周边的论文在 Related Work 中有写到,这些工作的基本思想都是一样的,都是希望将预测出的词语作为模型输入。比如说,根据 DAD(Data as Demonstrator)的方法。这一方法将预测出的词语和后一个词语组成的词语对(word-pair)以 bigram 的方式输入作为训练实例加入。另一种是 Scheduled Sampling 的方式,也是用 Sampling 的方式,把预测出的词语作为输入加入到模型训练中。