562 Chapter 16. 低资源神经机器翻译 肖桐 朱靖波
要两次翻译,时间开销较大。而且在两次翻译中,翻译错误会进行累积从而产生错
误传播问题,导致模型翻译准确性降低。此外,基于枢轴语言的方法仍然假设源语
言和枢轴语言(或者目标语言和枢轴语言)之间存在一定规模的双语平行数据,但
是这个假设在很多情况下并不成立。比如,对于一些资源极度稀缺的语言,其到英
语或者汉语的双语数据仍然十分匮乏,这时使用基于枢轴语言的方法的效果往往也
并不理想。虽然存在以上问题,基于枢轴语言的方法仍然受到工业界的青睐,很多
在线翻译引擎也在大量使用这种方法进行多语言的翻译。
16.3.2 基于知识蒸馏的方法
为了缓解基于枢轴语言的方法中存在的错误传播等问题,可以采用基于知识蒸
馏的方法
[551, 953]
。知识蒸馏是一种常用的模型压缩方法
[549]
,基于教师-学生框架,在
第十三章已经进行了详细介绍。针对低资源翻译任务,基于教师-学生框架的方法基
本思想如图16.12所示。其中,虚线表示具有平行语料库的语言对,带有箭头的实线
表示翻译方向。这里,将枢轴语言(p)到目标语言(y)的翻译模型 P (y|p) 当作教
师模型,源语言(x)到目标语言(y)的翻译模型 P (y|x) 当作学生模型。然后,用
教师模型来指导学生模型的训练,这个过程中学习的目标就是让 P (y|x) 尽可能接近
P (y|p),这样学生模型就可以学习到源语言到目标语言的翻译知识。举个例子,假设
图16.12中 x 为源语言德语“hallo”,p 为中间语言英语“hello”,y 为目标语言法语
“bonjour”,则德语“hallo”翻译为法语“bonjour”的概率应该与英语“hello”翻译
为法语“bonjour”的概率相近。
x
p
y
P (y|x)
P (y|p)
图 16.12 基于教师-学生框架的翻译过程
需要注意的是,基于知识蒸馏的方法基于一个假设:如果源语言句子 x、枢轴语
言句子 p 和目标语言句子 y 这三者互译,则 P (y|x) 应接近 P (y|p) ,即:
P (y|x) ≈ P(y | p) (16.7)
和基于枢轴语言的方法相比,基于知识蒸馏的方法无需训练源语言到枢轴语言
的翻译模型,也就无需经历两次翻译过程。不过,基于知识蒸馏的方法仍然需要显性
地使用枢轴语言进行桥接,因此仍然面临着“源语言 → 枢轴语言 → 目标语言”转