神经机器翻译训练中采用多层 Softmax 以实现少层灵活解码
计算与语言
2019-08-29 v2 机器学习
摘要
本文提出一种训练基于编码器-解码器的深度神经网络的新方法,该方法将 N×M 个模型压缩为单一模型,使我们能够动态选择用于解码的编码器和解码器层数。通常,N 层编码器的最后一层输出被送入 M 层解码器,并使用最后一层解码器的输出计算 softmax 损失。相反,我们的方法计算由 N×M 个损失组成的单一损失:对使用 N 个编码器层中每一层输出导出的 M 个解码器层中每一层输出计算 softmax 损失。通过我们的方法训练的单一模型可用于以任意更少的编码器和解码器层数进行解码。在实际场景中,这(a)实现了更快的解码且翻译质量损失可忽略,(b)免去了训练 N×M 个模型的需要,从而节省空间。我们以神经机器翻译为例进行案例研究,展示了该方法的优势并给出了成本效益分析。
引用
@article{arxiv.1908.10118,
title = {Multi-Layer Softmaxing during Training Neural Machine Translation for Flexible Decoding with Fewer Layers},
author = {Raj Dabre and Atsushi Fujita},
journal= {arXiv preprint arXiv:1908.10118},
year = {2019}
}
备注
Fixed numeric typos and corresponding explanations in the running text in the paper