16.5 领域适应 579
2. 训练阶段的领域适应
实际上,16.5.1节所描述的数据加权和数据选择方法本身也是与模型训练相关的,
例如,数据选择方法会降低训练数据的数据量。所以在具体实现时,需要对训练策
略进行调整。一种方法是在不同的训练轮次动态地改变训练数据集。动态数据选择
既可以使得每轮的训练数据均小于全部数据量,从而加快训练进程,又可以缓解训
练数据覆盖度不足的问题,具体做法有两种:
• 将完整的数据送入模型,再根据其与目标领域数据的相似度逐次减少每轮的数
据量
[627]
。
• 将与目标领域数据相似度最高的句子先送入模型,让模型可以最先学到跟目标
领域最相关的知识,逐渐增加数据量
[651]
。
另一种方法是不从随机状态开始训练网络,而是使用翻译性能较好的源领域模
型作为初始状态,因为源领域模型中包含着一些通用知识可以被目标领域借鉴。比
如,想获得口语的翻译模型,可以使用新闻的翻译模型作为初始状态进行训练。这
也可以被看作是一种预训练
-
微调方法。
不过这种方法经常会带来灾难性遗忘问题,即在目标领域上过拟合,导致在源
领域上的翻译性能大幅度下降(见第十三章)。如果想要保证模型在目标领域和源领
域上都有较好的性能,一个比较常用的方法是进行混合微调
[1003]
。具体做法是先在源
领域数据上训练一个神经机器翻译模型,然后将目标领域数据复制数倍和源领域数
据量相等,之后将数据混合对神经机器翻译模型进行微调。混合微调方法既降低了
目标领域数据量小导致的过拟合问题的影响,又带来了更好的微调性能。除了混合
微调外,也可以使用知识蒸馏方法缓解灾难性遗忘问题(见16.3节),即对源领域和
目标领域进行多次循环知识蒸馏,迭代学习对方领域的知识,可以保证在源领域和
目标领域上的翻译性能共同逐步上升
[1005]
。此外,还可以使用 L2 正则化和 Dropout 方
法来缓解这个问题
[1006]
。
3. 推断阶段的领域适应
神经机器翻译中,领域适应的另一种典型思路是优化推断算法
[1007]
。不同领域的
数据存在着共性,但是又有各自的风格,因此对于使用多领域数据训练出的模型,分
情况进行推断可能会带来更好的效果,例如在统计机器翻译中对疑问句和陈述句分
别使用两个模型进行推断可以使翻译效果更好
[1008]
。在神经机器翻译模型中可以采用
集成推断(见第十四章)达到同样的效果,即把多个领域的模型融合为一个模型用
于推断
[1009]
。集成推断方法的主要优势在于实现简单,多个领域的模型可以独立训练,
使训练时间大大缩短。集成推断也可以结合加权的思想,对不同领域的句子,赋予
每个模型不同的先验权重进行推断,来获得最佳的推断结果
[1010]
。此外,也可以在推
断过程中融入语言模型
[903, 930]
或目标领域的罕见词
[1011]
。