Zheng X, Zhang Z, Guo J, et al. Adaptive Nearest Neighbor Machine Translation[C]//Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 2: Short Papers). 2021: 368-374.
摘要导读
最近由Khandelwal等人(2020a)提出的kNN-MT,成功地将预先训练的神经机器翻译(NMT)模型与token level的k-最近邻(kNN)检索结合起来,提高了翻译精度。然而,在kNN-MT中使用的传统kNN算法只是为每个目标token检索相同数量的最近邻,当检索到的邻居包含噪声时,可能会导致预测错误。本文提出了自适应kNN-MT来动态地确定每个目标token的k的数量。通过引入一个轻量级的meta-k网络来实现这一点,该网络可以用少量的训练样本有效地进行训练。在四个基准的机器翻译数据集上,证明了该方法能够有效地过滤掉检索结果中的噪声,并显著优于普通的kNN-MT模型。更值得注意的是,在一个领域上学习到的Meta-k网络可以直接应用于其他领域,并获得一致的改进,说明了提出方法的通用性。代码地址
注: 因为笔者并不是做机器翻译的,因此这里着重看的是Adaptive Nearest Neighbors这部分
kNN-MT
首先介绍kNN-MT中的两个步骤:
-
构建数据存储
这里看做是一个字典,包含key-value对。给定句子对,预训练的自回归NMT将根据翻译的上下文对-th token 进行解码翻译。这里将翻译上下的潜在表示记为,据此,datastore使用作为key,为生成如下: -
预测
其中为温度参数,为距离。
在推断阶段,在每个解码步骤,kNN-MT基于已经产生的tokens以及用于查询个最近邻的上下文表示。基于距离,检索到,其对应的在vocabulary的分布计算为:
由此,关于的预测由两个部分组成, 为普通的NMT预测结果。
Adaptive kNN-MT
为了解决这个问题,本文提出了一种动态方法,允许每个未翻译的token使用不同数量的邻居。
自适应kNN-MT的概述,它可以动态地评估和聚合一组基于距离和不同值的kNN预测。具体来说,作者考虑了一组小于上界的可能的s,并引入了一个轻量级的Meta-k网络来估计利用不同的s的重要性。简单起见,这里考虑的是2的幂次,即 : 然后,Meta-k网络通过以检索到的邻居作为输入来评估不同kNN结果的概率。
-th的解码步骤如下:
- 检索个近邻,并对中的计算其对应的距离,以及前个邻域中不同值的计数。
- 将表示为距离,表示为所有检索邻居的计数。
- 然后将它们拼接为Meta-k网络的输入特征。
这么有两个原因:(1)对于每个近邻来说,距离是其重要性最直接的体现;(2)此外,检索结果的值分布对于做出决策也至关重要,即如果每个检索结果的值不同,那么kNN预测就不够可信,因此应该更多地依赖于NMT预测。
文中将Meta-k网络构造为一个两层线性层,中间使用非线性激活函数连接的前馈网络。给定输入,使用kNN进行计算的概率结果为:
- 预测
在预测是,作者考虑了不同k得到的kNN预测的聚合获得最终的预测结果: 其中代表个近邻的预测结果。 - 训练
训练中,采用固定预训练NMT模型,只通过最小化上述交叉熵损失函数优化Meta-k网络,如果只使用数百个训练样本,就可以非常有效。
本文提出了自适应kNN-MT模型,通过引入一个轻量级的meta-k网络,来动态确定每个目标标记的检索邻居的利用率。但是从计算的角度来说,相比于普通的kNN-NMT而言,增加了倍的计算量。以及一个带有交叉熵的两层的前馈神经网络。当然,后者可以忽略不计。
网友评论