NiuTrans/MTBook

ensemle搜索策略

dssbxx opened this issue · 1 comments

假如我已经训练了一堆模型,由于计算资源有限,有没有一种比较推荐的高效的搜索方法,能让我在这堆模型中找到一个比较好的ensemble组合呢?

有两种简单有效的方法。

  1. 参数平均(checkpoint average)
    这种方法在同一模型训练阶段的不同时间步保存模型参数,并挑选若干步的参数进行平均得到最终模型,例如平均训练时最后5轮的参数。
  2. 预测结果融合
    这种方法要求不同模型使用同一词表,使用多个模型softmax后的归一化概率之和来预测每一步的输出。这种方法一般在多个模型的结果差异较大时效果比较好。

具体内容可以参考这些论文。

[1] 李北,王强,肖桐,姜雨帆,张哲旸,刘继强,张俐,于清. 面向神经机器翻译的集成学习方法分析.
[2] F. Stahlberg, B. Byrne, Unfolding and shrinking neural machine translation ensembles.
[3] Bei Li, Yinqiao Li, Chen Xu, et al., The NiuTrans Machine Translation Systems for WMT19.