576 Chapter 16. 低资源神经机器翻译 肖桐 朱靖波
16.5 领域适应
机器翻译常常面临训练时与应用时所处领域不一致的问题,比如,将一个在新
闻类数据上训练的翻译系统应用在医学文献翻译任务上。不同领域的句子通常存在
着很大的区别,比如,日常用语的结构较为简单,而在化学领域的学术论文中,单词
和句子结构较为复杂。此外,不同领域之间存在着较为严重的一词多义问题,即同
一个词在不同领域中经常会有不同的含义。实16.1展示了英语单词 pitch 在不同领
域的不同词义。
实例 16.1 单词 pitch 在不同领域的不同词义
体育领域:The rugby tour was a disaster both on and off the pitch.
这次橄榄球巡回赛在上、下都彻底失败。
化学领域:The timbers of similar houses were painted with pitch.
类似房屋所用的栋木刷了沥青
声学领域:A basic sense of rhythm and pitch is essential in a music teacher.
基本的韵律感和音高感是音乐教师的必备素质。
在机器翻译任务中,新闻等领域的双语数据相对容易获取,所以机器翻译在这
些领域上表现较佳。然而,即使在富资源语种上,化学、医学等专业领域的双语数据
也十分有限。如果直接使用这些低资源领域的数据来训练机器翻译模型,由于数据
稀缺问题,会导致模型的性能较差
[995]
如果混合多个领域的数据增大训练数据规模,
不同领域数据量之间的不平衡会导致数据较少的领域训练不充分,使得在低资源领
域上的翻译结果不尽人意
[996]
领域适应方法是利用源领域的知识来改进目标领域模型效果的方法,该方法可
以有效地减少模型对目标领域数据的依赖。领域适应主要有两类方法:
基于数据的方法用源域的语数或目领域语数进行据选
数据增强,来增加模型训练的数据量。
基于模型的方法。针对领域适应开发特定的模型结构、训练策略和推断方法。
16.5.1 基于数据的方法
在统计机器翻译时代,如何有效利用外部数据来改善目标领域的翻译效果已经
备受关注。其中的绝大多数方法与翻译模型无关,因此这些方法也同样适用于神经
机器翻译。基于数据的领域适应可以分为基于数据加权的方法、基于数据选择的方
法、基于伪数据的方法。图16.20展示了这几种方法的示意图。
1. 基于数据加权/数据选择的方法
一种观点认为,数据量较少的领域数据应该在训练过程中获得更大的权重,从
而使这些更有价值的数据发挥出更大的作用
[997, 998]
。实际上,基于数据加权的方法与
16.5 领域适应 577
模型
原始
数据
加权
(x
1
, y
1
) (x
2
, y
2
) (x
3
, y
3
)
(x
1
, y
1
)
(x
2
, y
2
)
(x
3
, y
3
)
训练
(a) 数据加权
模型
原始
数据
选择
(x
1
, y
1
) (x
2
, y
2
) (x
3
, y
3
)
(x
1
, y
1
)
(x
3
, y
3
)
训练
(b) 数据选择
模型
原始
数据
(x
1
, y
1
) (x
2
, y
2
) (x
3
, y
3
)
˜x
4
(x
1
, y
1
)
(x
2
, y
2
)
(x
3
, y
3
)
(˜x
4
, y
4
)
翻译
训练
(c) 伪数据
真实数据
伪数据
单语数据
16.20 基于数据的领域适应方法
第十三章中基于样本价值的学习方法是一致的,只是描述的场景略有不同。这类方
法本质上在解决类别不均衡问题Class Imbalance Problem
[999]
数据加权可以通过修
改损失函数,将其缩放 α 倍来实现(α 是样本的权重)在具体实践中,也可以直接
将低资源的领域数据进行复制
1
达到与其相同的效果
[1000]
数据选择是数据加权的一种特殊情况,它可以被看做是样本权重非零即一的情
况。具体来说,可以直接选择与领域相关的数据参与训练
[996]
。这种方法并不需要使
用全部数据进行训练,因此模型的训练成本较低。由于第十三章已经对数据加权和
数据选择方法进行了详细介绍,这里不再赘述。
2. 基于伪数据的方法
数据选择方法可以从源领域中选择出和目标领域相似的样本用于训练,但可用
的数据是较为有限的。因此,另外一种思路是对现有的双语数据进行修改
[1001]
(如抽
取双语短语对等)或通过单语数据生成伪数据来增加数据量
[1002]
。这个问题和16.1
节所面临的场景是基本一致的,因此可以直接复用16.1小节所描述的方法。
3. 多领域数据的使用
领域适应中的目标领域往往不止一个,想要同时提升多个目标领域的效果,一种
简单的思路是使用前文所述的单领域适应方法对每一个目标领域进行领域适应。不
过,与多语言翻译一样,多领域适应也往往伴随着严重的数据稀缺问题,大多数领
域的数据量很小,因此无法保证单个领域的领域适应效果。
解决该问题的一种思路是将所有数据混合使用,并训练一个能够同时适应所有
1
相当于对数据进行重采样
578 Chapter 16. 低资源神经机器翻译 肖桐 朱靖波
领域的模型。同时,为了区分不同领域的数据,可以在样本上增加领域标签
[1003]
实上,这种方法与16.3.3节所描述的方法是一样的。它也是一种典型的小样本学习策
略,旨在让模型自己从不同类型的样本中寻找联系,进而更加充分地利用数据,改
善模型在低资源任务上的表现。
16.5.2 基于模型的方法
对于神经机器翻译模型,可以在训练和推断段进行领域适应。具体来说,有
如下方法:
1. 多目标学习
在使用多领域数据时,混合多个相差较大的领域数据进行训练会使单个领域的
翻译能下
[1004]
。为解决问题,对所练数来源域进分,
一个比较典型的做法是在使用多领域数据训练时,在神经机器翻译模型的编码器顶
部中添加一个判别器
[615]
,该判别器使用源语言句子 x 的编码器表示作为输入,预测
句子所属的领域标签 d,如16.21所示。为了使预测领域标签 d 的正确概率 P (d|H)
最大(其中 H 编码的隐藏状态)模型在训练过程中应该最小化如下损失函
L
disc
L
disc
= log P (d|H) (16.10)
在此基础上,加上原始的翻译模型损失函数 L
gen
L
gen
= log P (y|x) (16.11)
最终可以得到融合后的损失函数,如下:
L = L
disc
+ L
gen
(16.12)
源语言
编码器
解码器
判别器
目标语言
< 领域 >
16.21 领域判别器示意图
16.5 领域适应 579
2. 训练阶段的领域适应
实际上,16.5.1节所描述的数据加权和数据选择方法本身也是与模型训练相关的,
例如,数据选择方法会降低训练数据的数据量。所以在具体实现时,需要对训练策
略进行调整。一种方法是在不同的训练轮次动态地改变训练数据集。动态数据选择
既可以使得每轮的训练数据均小于全部数据量,从而加快训练进程,又可以缓解训
练数据覆盖度不足的问题,具体做法有两种:
将完整的数据送入模型,再根据其与目标领域数据的相似度逐次减少每轮的数
据量
[627]
将与目标领域数据相似度最高的句子先送入模型,让模型可以最先学到跟目标
领域最相关的知识,逐渐增加数据量
[651]
另一种方法是不从随机状态开始训练网络,而是使用翻译性能较好的源领域模
型作为初始状态,因为源领域模型中包含着一些通用知识可以被目标领域借鉴。比
如,想获得口语的翻译模型,可以使用新闻的翻译模型作为初始状态进行训练。这
也可以被看作是一种预训练
-
微调方法。
不过这种方法经常会带来灾难性遗忘问题,即在目标领域上过拟合,导致在源
领域上的翻译性能大幅度下降(见第十三章)如果想要保证模型在目标领域和源领
域上都有较好的性能,一个比较常用的方法是进行混合微调
[1003]
具体做法是先在源
领域数据上训练一个神经机器翻译模型,然后将目标领域数据复制数倍和源领域数
据量相等,之后将数据混合对神经机器翻译模型进行微调。混合微调方法既降低了
目标领域数据量小导致的过拟合问题的影响,又带来了更好的微调性能。除了混合
微调外,也可以使用知识蒸馏方法缓解灾难性遗忘问题(见16.3节),即对源领域和
目标领域进行多次循环知识蒸馏,迭代学习对方领域的知识,可以保证在源领域和
目标领域上的翻译性能共同逐步上升
[1005]
此外,还可以使用 L2 正则化和 Dropout
法来缓解这个问题
[1006]
3. 推断阶段的领域适应
神经机器翻译中,领域适应的另一种典型思路是优化推断算法
[1007]
不同领域的
数据存在着共性,但是又有各自的风格,因此对于使用多领域数据训练出的模型,
情况进行推断可能会带来更好的效果,例如在统计机器翻译中对疑问句和陈述句分
别使用两个模型进行推断可以使翻译效果更好
[1008]
在神经机器翻译模型中可以采用
集成推断(见第十四章)达到同样的效果,即把多个领域的模型融合为一个模型用
于推断
[1009]
集成推断方法的主要优势在于实现简单,多个领域的模型可以独立训练,
使训练时间大大缩短。集成推断也可以结合加权的思想,对不同领域的句子,赋予
每个模型不同的先验权重进行推断,来获得最佳的推断结果
[1010]
此外,也可以在推
断过程中融入语言模型
[903, 930]
或目标领域的罕见词
[1011]