在机器翻译中为什么会出现beam search的bleu值小于greedy search的bleu值?

关注者
3
被浏览
1,538
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

大概率是你的beam search实现有问题,如果你可以保证实现没有问题再往下看。

下面尝试猜测一下这种现象的原因:

1. 一般的nmt模型beam search都会比greedy search结果更好,但是不断增加beam size并不能带来持续的收益,甚至大的beam size会得到更差的结果。有一篇Empirical Analysis of Beam Search Performance Degradation in Neural Sequence Models的观点是解码过程中前面的不同预测之间概率差异相对较大,比如有一些明显不太对的预测也被选择了,而后面不同预测的概率相对差异没那么大。

2. nmt系统常见的一个套路是迭代式back translation,用beam search的结果得到一些翻译结果拿去构造新的训练数据。一般这样训练出来的系统greedy search性能和beam search相差无几,beam size稍大时甚至不如greedy search。

个人观点,仅供参考。