kNN-TL: k-Nearest-Neighbor Transfer Learning for Low-Resource Neural Machine Translation

2023 ACL

KNN-MT

kNN-MT(k-Nearest Neighbor Machine Translation)是一种检索增强的文本生成范式,结合了机器翻译和最近邻算法。
在传统的机器翻译中,通常使用基于神经网络的编码-解码模型,将源语言句子转换为目标语言句子。而kNN-MT通过引入最近邻算法,以检索相关的训练样本,并将其用于辅助翻译过程。
具体来说,当需要翻译一个新的源语言句子时,kNN-MT首先使用传统的机器翻译模型生成一个初始的翻译结果。然后,它从训练集中找到与源语言句子最相似的K个句子,并基于这些句子的翻译结果对初始翻译进行改进。最终,通过对K个翻译结果进行投票或加权平均,得到最终的翻译结果。
kNN-MT的优点在于可以通过利用训练集中的相关样本来提升翻译质量。相比传统的机器翻译方法,它能够更好地处理罕见词汇、上下文信息等。此外,kNN-MT还可以很容易地与传统的机器翻译模型进行整合。
然而,kNN-MT也存在一些挑战和限制。首先,它对训练数据的依赖较大,需要足够多的相关样本来进行检索。其次,K值的选择可能会影响翻译结果的准确性和流畅性。此外,kNN-MT在处理长句子和语义复杂的句子时可能会遇到困难。

迁移学习

迁移学习(Transfer Learning)是一种机器学习中的方法,它利用已经学习到的知识和模型在一个任务上,来改善在另一个相关任务上的学习效果。通常情况下,迁移学习通过将在一个源领域收集到的知识和经验应用于目标领域,从而提高目标任务的性能。
迁移学习的核心思想是认为不同任务之间存在着相关性和共享的特征。通过将已经学习到的模型或特征表示应用于新任务,可以加速新任务的学习过程并提高其性能。迁移学习可以在以下几个方面发挥作用:
特征迁移:将在源领域上学到的特征表示应用于目标领域,而无需从头开始学习特征提取器。
模型迁移:将在源领域上训练好的模型(如神经网络)应用于目标任务,并根据需要进行微调。
知识迁移:将在源领域上学到的知识、规则、权重参数等应用于目标任务,以提供初始化或引导目标任务的学习过程。
迁移学习广泛应用于各种机器学习任务,例如图像分类、目标检测、自然语言处理等。它可以解决数据不足、避免从零开始训练模型的问题,并在许多情况下显著提高学习性能。

Abstract

迁移学习已被证明是提高低资源神经机器翻译(NMT)性能的一种有效技术。通常通过对预训练的父模型进行微调或在子模型的训练过程中利用父模型的输出来实现。然而,这些方法在子模型的推理过程中没有利用父模型的知识,可能限制了翻译性能。在本文中,我们提出了一种k最近邻迁移学习(kNN-TL)方法用于低资源NMT,该方法在整个子模型的开发过程中利用了父模型的知识。我们的方法包括一种父子表示对齐方法,确保两个模型之间的输出表示一致,以及一种基于子模型相关性选择性地提取父数据存储库的方法,从而提高推理效率。在四个低资源翻译任务上的实验结果表明,kNN-TL优于强基线模型。进一步的分析进一步证明了我们方法的有效性。代码和脚本可以在https://github.com/NLP2CT/kNN-TL 免费获取。

Introduction

尽管深度学习在神经机器翻译(NMT)领域取得了显著进展(Bahdanau等,2015; Vaswani等,2017; Liu等,2019, 2020),但NMT的标准训练过程不适用于只有少量双语数据的语言,这给低资源语言的NMT模型开发带来挑战(Zhan等,2021; Wang等,2022d)。为了克服这一限制,迁移学习被提出作为一种有效的方法,通过父子框架来增强低资源NMT。这个框架将知识从高资源父模型传递到低资源子模型(Zoph等,2016)。
在之前的迁移学习研究中,如Kim等人(2019a)和Aji等人(2020),致力于解决词汇不匹配的问题,以实现更有效的知识转移。这些工作被称为Vanilla TL,主要关注子模型初始化阶段的知识转移,并没有考虑子模型开发的其他阶段。最近,Li等人(2022)提出了一种新颖的迁移学习方法,即ConsistTL,它建模父模型和子模型之间的一致性,以促进子模型训练期间从父模型持续传递知识。虽然ConsistTL考虑了子模型的初始化和训练阶段,但它并未解决推理阶段的问题,这可能限制了从父模型传递的知识的整体可转移性。在推理阶段有效利用父模型的知识是改进低资源子模型性能的直观策略。
本文提出了一种针对低资源NMT的新颖k最近邻迁移学习(kNN-TL)方法。该方法旨在充分利用父模型的知识,在子模型的整个开发过程中提供更全面的指导,如表1所示。为了实现这一目标,kNN-TL在子模型的训练过程中对齐父模型和子模型的表示,以确保在子模型推理过程中从父模型的数据存储库中检索到相关且有用的知识。此外,为了加速推理过程,kNN-TL选择性地从父模型的数据存储库中提炼相关知识,构建一个面向子模型的数据存储库。在模型预测的每个步骤中,kNN-TL考虑从父模型数据存储库中检索到的概率分布以及子NMT模型的预测。通过两个高资源父模型指导的四个低资源翻译任务的实验结果验证了所提出的kNN-TL方法的有效性和效率。进一步的分析表明,kNN-TL可以有效地对齐父模型和子模型的表示,为性能改进提供了合理的解释。我们的主要贡献如下:
•我们提出了kNN-TL方法,将父模型的知识转移至子模型的整个开发过程中,包括初始化、训练和推理阶段。
•我们提出了一种子模型感知的数据存储库构建方法,通过有选择性地提炼父模型的数据存储库,提高了推理速度,同时保持了可比较的性能水平。
•实验结果表明,与广泛使用的自动评估指标相比,kNN-TL在四个低资源翻译任务上可以取得显著的改进,超越了强迁移学习方法。

Background

Transfer Learning for NMT
在先前的研究中,父子模型框架被广泛应用(Zoph等人,2016;Kim等人,2019b;Aji等人,2020)进行迁移学习,将高资源的NMT模型(即父模型)的知识转移到低资源的NMT模型(即子模型)。通常,该框架包括以下两个步骤:
Parameter Initialization参数初始化是父模型初始化子模型的第一步:

在公式中,\thetap表示父模型的预训练参数,\thetac表示子模型的参数,R表示初始化策略。可以使用父模型的部分或全部参数进行初始化。
Fine-tuning是父模型初始化后,在低资源子数据(\mathbit{x}c,\mathbit{y}c)\in(\mathcal{X}c,\mathcal{Y}c)上对子模型进行训练的第二步。在这一步中,子模型从预初始化的参数开始进行优化,通过最小化交叉熵(Cross-Entropy,CE)损失函数进行训练:

其中T为目标句子的长度。

kNN-MT

为了在推理阶段将父模型的知识融入其中,我们借鉴了k最近邻机器翻译(kNN-MT,Khandelwal等,2021)的思想,该方法已被证明对改进特定领域的翻译任务非常有效。kNN-MT是一种检索增强的文本生成范式,它通过从大规模数据存储中检索k个最近邻来为预训练的NMT模型提供有关解码阶段的相关知识。形式上,kNN-MT主要包括以下两个阶段:
Datastore Building 数据存储库(datastore)是kNN-MT的核心组件,通过键值对显式地存储预训练NMT模型的知识。其中,键是每个时间步的输出表示,值是相应的目标tokens。给定训练数据(\mathcal{X}^,\mathcal{Y}),数据存储库构建如下:

对于每个时间步t和目标标记y_t,将该输出表示作为键,将y_t作为相应的值,构建(key, value)对。最终,将所有的(key, value)对组成数据存储库,以供后续的检索增强文本生成使用。
这里,f(\mathbit{x},\mathbit{y}{<t})表示NMT模型在当前时步t之前的输出表示,而y_t是目标句子中的“正确”的标记(也即gold target token)。值得注意的是,数据存储库的大小与目标句子中的标记数成比例,因此可能非常大。
Inference with Retrieval 在kNN-MT中,NMT模型在推理过程中生成两个概率分布,分别是通过输出表示(即p
{NMT})和从数据存储库检索到的表示(即p_{kNN})。具体而言,在每个推理步骤t中,使用输出表示f(\mathbit{x},\mathbit{y}_{<t})查询数据存储库,并获得k个最近邻,表示为\mathcal{N}_t^k={(\mathbf{k}_j,v_j),j\in{1,2,\ldots,k}}。然后,可以计算检索分布如下:

其中,τ是softmax温度(softmax temperature),d(·, ·)是L2距离函数(l2 distance function)。
Softmax温度是用于调整softmax函数输出分布的参数。它控制了分布的平滑程度和峰值的尖锐程度。较高的softmax温度会使分布更平滑,即各个元素的概率更接近均匀分布;而较低的softmax温度会使分布更尖锐,即概率更集中在最大的元素上。通过调整softmax温度,可以在生成预测时平衡探索性和确定性。
∝ 表示正比于,因为需要对分母进行归一化操作才能得到概率分布。1yt=vj是指示函数(indicator function),如果 yt等于最近邻中的第j个标记vj ,则为1,否则为0。d(kj,f(x,y<t) 是指 kj 和 f(x,y<t)之间的欧几里得距离(L2距离),用于衡量它们的相似度。τ是softmax温度参数,用于控制交互项的平滑程度。
用一个调整参数λ对两个分布进行插值,得到预测下一个标记yt的最终概率分布:

检索分布利用外部知识对原始NMT分布进行细化,提高了预测精度。

kNN-TL

本节详细介绍了kNN-TL(k近邻迁移学习)方法。首先通过将kNN-TL与先前方法进行对比,澄清了研究的动机。然后详细介绍了kNN-TL的训练过程,重点介绍了用于后续kNN检索的父子表示对齐组件。接下来,描述了构建子感知数据存储库以提高推理速度的步骤。最后,介绍了在推理过程中如何利用父数据存储库的知识来指导子模型的方法。
Motivation
我们的目标是基于父子模型框架,在子模型的整个开发过程中利用父模型的知识,这在先前的方法中尚未实现。如表1所示,传统的迁移学习(Kim等,2019a; Aji等,2020)通过使用父模型的优化参数初始化子模型,然后在低资源翻译数据集上继续训练子模型。最近的研究,如ConsistTL(Li等,2022),发现在训练过程中将高资源父模型的知识纳入,为子模型提供持续的指导,可以显著提高低资源翻译任务的性能。然而,这些研究在推理过程中忽略了高资源父模型,这并没有充分利用父模型,并且可能限制了翻译性能。因此,我们提出了kNN-TL方法,以在初始化、训练和推理过程中充分利用高资源父模型的知识。
Parent-Child Representation Alignment
由于子模型和父模型的特征表示存在差异,仅从父数据构建数据存储库可能无法提供足够且相关的知识,导致子模型性能较差。为解决这个问题,我们提出了通过对齐子模型和父模型的表示来解决问题的方法。
Pseudo Parent Data Construction 为了对齐父模型和子模型的特征表示,我们生成了一组配对样本。我们采用了Li等人(2022)提出的方法,为整个子数据生成伪父源句。具体而言,对于每个实例(\mathbit{x}c,\mathbit{y}c)\in(\mathcal{X}c,\mathcal{Y}c),我们使用经过训练良好的反向父模型将目标句子yc反向翻译为伪父源句{\widetilde{\mathbit{x}}}p,并获得伪父数据({\widetilde{\mathbit{x}}}p,\mathbit{y}c)\in({\widetilde{\mathcal{X}}}p,\mathcal{Y}c)。
Representation-based Consistency Learning 在ConsistTL和其他一些一致性学习方法(Wang等,2022d;Li等,2023)中,父模型和子模型之间的一致性是在概率分布上进行鼓励的,但这种方法对特征表示没有施加强大的约束。为了解决这个问题,我们提出利用子数据和伪父数据来学习相同目标句子的一致输出表示。具体而言,对于伪父数据的每个实例({\widetilde{\mathbit{x}}}p,\mathbit{y}c)\in({\widetilde{\mathcal{X}}}p,\mathcal{Y}c),父模型生成关于每个目标标记y_tc的输出表示f_{\thetap}({\widetilde{\mathbit{x}}}p,\mathbit{y}_{<t}c),而子模型生成相同目标标记的输出表示f_{\thetac}(\mathbit{x}c,\mathbit{y}_{<t}^c)。然后,我们使用均方误差(MSE)损失来最小化这两个输出表示的平方欧氏距离:

其中θp和θc分别表示父模型和子模型的参数。最终的损失是交叉熵(CE)损失和均方误差(MSE)损失的组合,其中使用一个平衡超参数α进行权衡:

在这个句子中,"鼓励"的含义是指通过知识蒸馏等技术来激励子模型学习父模型的特征和结构,从而提高子模型的性能和泛化能力。具体来说,这种"鼓励"是通过比较父模型和子模型的输出分布,并使用正则化方法等技术来鼓励它们之间的一致性实现的。

Child-Aware Datastore Construction

kNN-TL的目标是通过利用父数据中的相关知识来提高子模型的性能。然而,使用大量的父数据会导致一个大型数据存储库,在推理过程中可能会降低检索速度。为了解决这个问题,我们提出了一种方法,通过使用伪父数据预先检索相关条目来有选择地修剪高资源的父数据存储库。具体而言,我们首先利用训练良好的父模型对父数据(\mathcal{X}p,\mathcal{Y}p)进行前向传递,并获得中间表示f_{\mathbit{\theta}p}({\widetilde{\mathbit{x}}}p;\mathbit{y}_{<t}c)来构建一个大型父数据存储库,如Eq.(3)所示。对于每个伪父数据实例({\widetilde{\mathbit{x}}}p,\mathbit{y}c),我们使用父模型进行前向传递,并通过设置较大的k值从大型父数据存储库进行kNN检索。得到的k个最近邻被表示为:

由于伪父数据在语义上等同于子数据,预先检索的子集将包含更相关的条目。此外,我们的方法只需要通过父数据存储库进行检索,而不需要访问可能在工业应用中无法获得的父数据。最后,我们将所有检索到的条目合并以构建子感知的父数据存储库:

Parent-Enhanced Model Prediction

在推理过程中,子模型生成中间表示f_{\thetac}(\mathbit{x}c;\mathbit{y}_{<t}^c),以从子感知的父数据存储库查询。从子感知的父数据存储库中计算的检索分布可以表示为:

用于预测下一个标记y_t的最终概率分布是子NMT模型分布和由超参数λ加权的检索分布的插值结果:

与传统的kNN-MT模型从同一个NMT模型生成两个分布不同,kNNTL使用父模型而非子模型来构建高质量的数据存储库,这将产生更准确的检索分布,从而提供更好的翻译性能。

Experiments

Setup
Parent Language Pairs在我们的实验中,我们使用德语-英语(De-En)和法语-英语(Fr-En)作为父语言对对我们的方法进行独立评估。对于De-En任务,我们遵循Li等人(2022)的数据集设置,在WMT17 De-En上进行训练,并在newstest2013上进行验证。训练集包含580万个句子。对于Fr-En任务,我们在WMT14 Fr-En数据集上进行训练,并在newstest2013上进行验证。我们遵循fairseq的数据处理流程,并随机选择580万个样本作为训练集。词汇表使用40K合并操作的联合源-目标BPE(Sennrich等,2016b)进行学习。
Child Language Pairs 我们在四个低资源翻译基准上进行了实验。我们使用了来自Global Voices的三个翻译基准(Tiedemann, 2012; Khayrallah et al., 2020):匈牙利语-英语(Hu-En)、印度尼西亚语-英语(Id-En)和加泰罗尼亚语-英语(Ca-En)。子集拆分遵循Khayrallah等人(2020)的方法。训练集分别包含15,176、8,448和7,712个实例。验证集和测试集各包含2000个实例。我们采用了WMT17土耳其语-英语(Tr-En)基准作为第四个语言对,并在newstest2016上进行验证。我们进行了一系列的数据处理过程,包括标准化、使用Moses进行分词(Koehn等,2007)。为了提高Tr-En训练数据的质量,删除了超过60个单词且长度比大于1.5的句子。子语言对的联合源-目标BPE设置遵循Li等人(2022)的方法。
Baselines 我们主要将我们的方法与以下基线进行比较:
• Vanilla NMT(Vaswani等,2017)提出Transformer架构,显著提高了NMT的性能。然而,在低资源机器翻译场景下应用时,其性能严重受限。
• TL(Zoph等,2016)是转移学习最早的工作,将子模型的参数从父模型中复制并初始化,除了编码器中的嵌入层。对于编码器中的嵌入层,该方法使用从父模型随机生成的嵌入来初始化它。初始化阶段后,子模型按照通常的NMT模型在子数据上进行训练。
• TM-TL(Aji等,2020)提出“Token Matching”来进行转移学习,与TL类似,但子模型编码器中嵌入层的初始化方法不同。对于嵌入层的初始化,该方法将来自父模型常见token的嵌入赋值给子模型。其余token的嵌入将按照通常的NMT模型进行初始化。
• ConsistTL(Li等,2022)增强了训练子模型时父模型预测和子模型预测之间的一致性。该方法的初始化阶段遵循TM-TL。
Implementation Details
Training 我们采用fairseq工具包进行模型实现(Ott等,2019)。我们使用460K个标记每批次对父模型进行了80K步的训练,采用了0.1的丢弃率、0.001的峰值学习率和10K的线性预热步数。我们将所有父模型的嵌入层参数绑定在一起。对于子模型,我们将解码器的输入嵌入层和输出投影进行了参数绑定。我们还按照TM-TL方法进行了嵌入层初始化。对于所有子模型的训练,我们使用了200个周期,Tr-En语言对每批次最多使用16K个标记,其他语言对使用1K个标记。对于子模型的训练,我们将预热步数设置为1K,标签平滑设置为0.1,丢弃率设置为0.3。注意力和激活的丢弃率都设置为0.1。为了防止过拟合,我们采用较低的峰值学习率0.0003。α设为0.01。Adam优化器(Kingma和Ba,2015)的β1设为0.9,β2设为0.98。我们选择在验证集上BLEU指标最好的模型进行测试。
Inference 我们使用kNN-box2(Zhu等,2023)来实现kNN检索,并使用FAISS(Johnson等,2021)进行高效搜索。对于子感知数据存储,我们通过对Tr-En的¯k选择 {16, 32, 64, 128} 进行格点搜索,对其他语言对的¯k选择 {256, 512, 1024, 1536} 进行调优。在推断过程中,我们经验性地对k选择 {8, 12, 16, 20, 24, 28},λ选择 {0.2, 0.25, 0.3, 0.35, 0.4},T选择 {1, 10, 30, 50, 70, 100} 进行格点搜索,以选择最佳值。所有模型和数据集的选择的超参数值都基于验证集。作为参考,De-En父模型的四个语言对的超参数(k, λ 和 T)分别是:Id: 28/0.35/10,Ca: 28/0.4/100,Hu: 20/0.4/70,Tr: 16/0.35/100。
Evaluation 我们在模型推理过程中使用beam search,其束宽为5,长度惩罚因子为1。为了充分验证我们提出的方法的有效性,我们使用SacreBLEU(Post, 2018)、BLEURT(Sellam等,2020)和BERTScore(Zhang等,2020)来评估生成的质量。
Main Results
表2报告了四个低资源任务的结果。根据使用父语言对的情况,迁移学习的结果可以分为两部分。当将De-En用作父模型时,我们的方法kNN-TL在所有度量指标上一致地实现了所有子语言对的最佳性能。与使用相同初始化策略的强基线TM-TL相比,kNN-TL获得了大幅提高。此外,我们观察到在显著提高的情况下,kNN-TL仍然能够胜过最强的基线ConsistTL。当我们将父模型切换到Fr-En时,可以得出类似的结论,这表明kNN-TL能够在不同的父语言对之间带来一致的改进。总之,实验结果证明了我们提出的kNN-TL方法的优越性,因为它进行了更全面的迁移学习。

Analysis

在本节中,我们进行了广泛的分析,以证明kNN-TL中每个组件的有效性。默认情况下,我们为带有De-En父模型的子模型选择Ca-En和Tr-En。
Loss for Imposing Consistency Constraints 我们对比了对输出表示施加约束的均方误差(MSE)与鼓励概率分布一致性的JS损失的有效性。表3展示了学习一致的翻译上下文表示对kNN检索的影响。无一致性约束时,模型在kNN检索上表现最差。使用JS损失时,利用kNN检索可以带来适度的改进。相反,使用MSE损失时,kNN检索的性能显 著提升。这些观察结果揭示了为kNN-TL学习一致的表示的必要性。
对输出表示施加约束的均方误差(MSE)和鼓励概率分布一致性的JS损失是用于评估模型输出与目标值之间差异的两种不同方法。
均方误差(MSE):均方误差是一种常见的回归任务中广泛使用的损失函数。它计算预测值与目标值之间的差异的平方,并求这些差异的平均值。MSE越小,表示模型的预测结果与目标值之间的差异越小。MSE对异常值敏感,即离群点(outliers)可能对MSE的值产生较大的影响。
JS损失(Jensen-Shannon loss):JS损失是一种用于度量概率分布之间相似性的损失函数。它通过计算两个概率分布之间的Kullback-Leibler(KL)散度的平均来衡量它们的差异。JS损失可用于鼓励模型生成更加平滑和一致的概率分布,提高模型的表达能力和概率建模能力。在生成任务中特别有用,如文本生成、图像生成等。与MSE不同,JS损失通常用于训练生成模型,而不是回归模型。
综上所述,MSE用于度量连续变量之间的差异,而JS损失用于度量概率分布之间的差异。它们在任务类型和应用场景上有所差异,选择合适的损失函数取决于问题的性质和具体需求。

Representation Type for Training and Inference 我们进行了一项实证研究,以分别调查训练(一致性学习)和推理(检索)的表示类型对结果的影响。输出(Output)和中间(Intermediate)分别表示输出表示和最后一个解码器层的前馈输入的表示,遵循Khandelwal等人(2021)的方法。表4列出了所有设置和相应的结果。我们可以观察到,在训练阶段利用输出表示,而在推理阶段利用中间表示可以获得最佳性能。关于用于训练和推理的表示类型的进一步研究将作为我们未来的工作。
Importance of Parent Datastore 为了验证kNN-TL中父数据存储的重要性,我们将父数据存储与子数据存储和纯NMT模型进行了比较。表5比较了纯NMT模型和不同数据存储引起的结果。与纯NMT模型相比,子数据存储只实现了微弱的改进,平均BLEU仅增加了0.2。这表明对于低资源的子数据,子模型已经能够很好地学习到大部分数据中的知识。与子数据存储相比,使用考虑子模型的父数据存储可以显著提升性能,BLEU分别增加了1.3和0.6。这些发现表明,对于低资源NMT模型,充分利用高资源父模型的知识是一种更有效的改进方式。
Inference Speed-up by Child-Aware Datastore 为了研究考虑子模型的数据存储构建对结果的影响,我们分析了原始父数据存储和考虑子模型的数据存储的性能,包括BLEU值和推理速度,如表6所示。实验结果表明,考虑子模型的数据存储的实现可以提高推理速度,在两种语言对中观察到了1.5倍和1.7倍的提速。在保持使用整个父数据存储的相当性能的同时,实现了速度的提升。然而,kNN-TL的解码速度仍然比传统NMT模型慢三倍,但可以通过利用其他基于kNN的加速方法来缓解这一问题。我们还在Tr-En语言对上分析了质量-速度权衡,使用考虑子模型的数据存储,在图3中表示。图中的水平轴表示不同的使用¯k值和“ALL”(原始父数据存储)。可以观察到,随着预检索¯k值的降低,推理速度相应增加。当¯k设置为16时(导致数据存储减少到不到30%),模型显示出2.6倍的推理速度提高,同时BLEU下降了0.2。结果表明,我们提出的方法可以有效地平衡推理速度和性能之间的权衡。
Visualization of Representation Alignment 为了验证子模型和父模型之间的中间表示的一致性,我们在子模型的目标端上可视化了子模型和父模型的表示。图4展示了由De-En父模型和不同的Ca-En子模型生成的中间表示。可以看出,TM-TL的父模型和子模型的表示存在明显的差异。ConsistTL使两个表示更接近,但仍然存在显著差异。与前两个模型相比,kNN-TL的父模型和子模型的表示非常相似,说明我们在训练过程中使用的父子模型表示对齐方法的有效性。通过输出分布进行一致性学习作为中间分布的有效约束,同时为kNN-TL方法在父模型和子模型之间有效检索知识的能力提供了充分的理由。结合表3中的结果,我们可以得出结论:适当对齐中间表示可以通过有效的知识检索优化子模型的性能。
Effect of Back-translation 回译(BT,Sennrich等,2016a)是当代NMT系统中经常使用的技术,特别适用于缺乏平行数据的低资源语言对。为了验证我们的方法与BT的互补性,我们对通过BT从News Crawl 2015英语单语数据获得的扩充训练数据进行了性能分析。我们采用了Li等人(2022)的实验设置,在将近1:1的比例下取样了20万个英语单语数据。表7显示了kNN-TL和基线方法的Tr-En结果。通过整合补充的回译数据,kNN-TL可以实现2.7 BLEU的提高,并且胜过了基线的迁移学习方法。这些发现证明了kNN-TL的通用性和与BT的互补性,有利于将其与其他主流方法集成到实用的NMT系统中。
Model Calibration 虽然ConsistTL(Li等,2022)使用父模型的预测分布,我们在推理过程中进一步结合从父数据存储中检索到的概率分布。为了研究kNN分布对推理校准的影响,我们分析了模型置信度和准确性之间的差距。置信度指的是预测概率,而正确生成的标记(即准确性)指的是它们是否与真实标签匹配。这种差距越小,就表明推理性能更好(Wang等,2020)。图5显示了不同方法的平均置信度和准确性。与基线方法相比,kNN-TL有效地降低了模型的过度自信,同时提高了准确性。具体来说,在两种语言对中,kNN-TL显著提高了模型的校准性能,分别使差距减少了3.1和1.8。根据之前的研究(Yang等,2022),kNN检索的知识可以防止模型对单热标记过度自信,最终提高推理的普适性。kNN-TL结合了不同视角的分布和知识,从而为低资源NMT提供了更全面的迁移学习框架。

Conclusion and Future Works

在本文中,我们提出了kNN-TL方法,在子模型的整个开发过程中从父模型传递知识。kNN-TL通过在训练过程中对齐父模型和子模型的输出表示,实现从父数据存储中高效地检索有用的知识。此外,kNN-MT通过选择性地提炼大规模父数据存储中相关条目来构建一个适应子模型的数据存储,从而提高推理效率。针对四个低资源NMT基准的实验结果显示,与其他强大的NMT迁移学习方法相比,kNN-TL有持续的改进。进一步的分析揭示了对齐输出表示以实现更好模型改进的有效性和重要性。未来的工作包括:1)整合来自不同高资源语言对的父数据存储,以提高子模型的性能;2)通过构建适应子模型的数据存储来分析父模型的可迁移性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值