这篇文章从reinforcement learning的角度,将单语语料很好地融入到双向NMT的训练中,在使用10%双语语料的情况下也能取得较好的翻译结果。整体上来说非常有意思,也可以推广到更多的tasks in dual form。 完成人信息 陈云,香港大学,[email protected]。 Chat实录 问:论文中的相关工作部分提到了另外两篇neural machine translation的相关工作,请问作者可否简单介绍一下那两个模型的主要方法呢?以及它们和dual learning的最大区别。 答: 另外两篇论文分别是semi-supervised Neural Machine Translation 以及Neural Machine Translation with Reconstruction。 semi-supervised这篇是利用autoencoder,将源端和目标端的单语语料引入,进行双向NMT联合训练;reconstruction这篇,是在普通MLE目标函数的基础上,增加了从目标端的hidden state重建源句子的概率这一项。首先我谈一下他们的区别。 出发的角度不一样: semi-supervised:如何将source和target端的单语语料引入,通过双向NMT提高NMT的性能。 recosntruction:解决translation adequacy的问题, 避免翻译的句子太短或者重复翻译某一部分。利用双向NMT优化原来的MLE目标函数。 dual learning:在少量平行语料,大量单语语料的情况下,如何利用双向NMT提高NMT的性能。 语料需求不一样: semi-supervised: source,target端的单语语料,文中实验双语语料比单语语料多。 reconstruction: 没用单语语料。 dual learning: 10%的双语语料,大量单语语料。并且用了预先用单语语料训练好的语言模型。 解释的角度不一样: semi-supervised: 双向NMT联合训练,目标函数包括两个方向的MLE,以及source&target autoencoder的reconstruction probability。 reconstruction: 目标函数在普通的MLE基础上增加了由reconstructor定义的reconstruction probability。 dual learning: 基于policy gradient的增强学习。用two agents play games这样的形式来解释。 而他们也有一些相同的地方: 都是用双向NMT来提高普通MLE训练的单向NMT的性能。reconstruction一篇相当于在原来的目标函数上加了reconstruction error,由于只用了双语语料,所以目标句子y是已知的。而semi-supervised和dual learning都会处理单语语料。在处理源端单语句子时,目标端的y是未知的。这二者都可以看成是一种句子级别的模型,通过正向的NMT产生一些句子来近似整个目标端输出空间,然后通过反向NMT给出句子的feedback(dual learning同时用了LM给出的feedback)。 大家可以对比一下他们的目标函数,能够比较明显地看出区别和联系来。 问:可以用dual-learning这样的framework来解决的其他问题吗? 答: 有很多dual tasks都可以用这个框架,比如 speech recognization & text to speech, Image captioning & Image generation, Question answering & Question generation, 还有 Query-document matching & Query/keyword suggestion。这篇文章之前MSRA的刘铁岩老师和秦涛博士有在斗鱼上直播过,大家可以看一下。 问:Dual Learning 中语言模型 LM 没看到在那里有详细的说明?刚才说的 Autoencoder,是在哪里提到的呢 答: 语言模型在文章中的第四页第二段可以看到:“This middle step has an immediate reward r1 = LMB(smid), indicating how natural the output sentence is in language B.” Reward包括r1和r2, r1就是语言模型给的reward。 语言模型是用单语语料提前训练好的,在NMT的整个training过程中固定不变。 Autoencoder在dual learning这篇没有提到,是在semi-supervised那篇提到的。 问:请问dual learning和GAN是否有相似之处 还是完全不相关的两种思路 答: 是有相似之处。作者之一秦涛在斗鱼直播有提到,GAN在某种程度上可以看成是dual learning的一种特殊情况。将generator看成是primal task,discriminator看成是dual task, 通过f和g共同学习来互相增强。dual task主要是为了给primal task提供feedback。个人觉得dual learning和GAN最大的区别在于对discriminator的定义不一样,GAN定义成分类问题,而dual learning定义的是一个重建问题。 问:论文中的算法提到了一个参数alpha,它的意义是什么呢?是需要手动调参还是一个机器学习优化得到的参数呢? 答: 这个alpha其实是LM reward跟反向NMT reward的一个trade-off,是手动调的。 文章后面有写,设置成0.005能取得较好的效果。 (责任编辑:本港台直播) |