目录
1. Introduce
PROTAUGMENT 依赖于不同的释义:首先对释义用条件语言模型进行微调,然后在每个元学习episodes的解码阶段引入多样性。
多种解码方法大多是对波束搜索( beam search)算法的扩展,包括基于噪声的算法、迭代波束搜索、聚类波束搜索和多样化波束搜索。
C e p \mathcal{C}_{ep} Cep 是从目前的episode中采样的 C \mathcal{C} C 个类别的集合, C e p ⊂ C t r a i n \mathcal{C}_{ep}⊂\mathcal{C}_{train} Cep⊂Ctrain。
2. PROTAUGMENT
PROTAUGMENT是半监督学习方法。我们首先从未标记的数据中进行数据增强,得到每个未标记句子的M个释义。 x x x 的第 m m m 个释义记为 x ~ m \tilde{x}^m x~m。然后,给定未标记的数据及其释义,计算一个完全无监督的损失。最后,我们结合有监督损失 L ˉ \bar{L} Lˉ(使用标记数据的原型网络损失)和无监督损失(表示 L ~ \tilde{L} L~),并运行反向传播来更新模型的参数。
2.1 Generating augmentations through paraphrasing
BART模型是一种基于Transformer的神经机器翻译架构,通过自动编码器架构,它被训练从输入中删除人工损坏的文本。虽然它被训练来重建原始的噪声输入,但它可以通过最小化新的训练输入-输出对上的交叉熵损失来微调任务特定的条件生成。在 PROTAUGMENT 中,我们对释义任务上预先训练的BART模型进行微调。我们对任务使用的释义句子对来自3个不同的释义检测数据集(我们只取彼此释义的数据对,因为这些是释义检测数据集):Quora、MSR和谷歌PAWS-Wiki。这些数据集有不同的大小,最大的一个-quora-由149,263对重复的问题组成。为了平衡句子的turn(问题/非问题释义),我们的微调释义数据集是由50%的Quora、5.6%的MSR和44.4%的PAWS-Wiki组成的。这将产生94,702个句子对来训练模型的释义任务。code here。
使用这个经过精细训练的释义模型,我们可以生成未标记句子的释义,希望这些释义与原始句子具有相同的意图。为了在生成的释义中添加一些多样性,我们使用Di-verse Beam Search (DBS)代替传统的波束搜索。
2.2 Constrained user utterances generation
虽然DBS强制了生成的句子之间的多样性,但它并不能确保生成的释义和原始句子之间的多样性。它以前是为不需要原始句子多样性的任务而设计的(翻译、图像字幕、问题生成)。为了确保我们生成的释义足够多样化,我们通过禁止使用原始句子的部分来进一步约束DBS。下面将介绍两种策略。
Unigram Masking. 我们从输入的句子中随机选择在生成步骤中被禁止的token。这里的目标是强迫模型在生成的句子中使用不同于它在原始句子中看到的单词。输入句子中的每个单词都使用概率 p m a s k p_{mask} pmask 进行随机屏蔽。由于解码是基于先验生成的token的条件任务,屏蔽第一个token可能会显著影响多样性。因此,我们引入了两个额外的变量:一个是我们在第一个token上放置更多的概率,另一个是在最后一个token上有更多的权重。为了确保所有三个变量平均掩码相同数量的token,我们确保三个概率函数的曲线下的面积等于一个固定值的 p m a s k p_{mask} pmask。
Bi-gram Masking 这次不是掩盖任何一个单词,而是迫使模型改变句子的结构。
2.3 Unsupervised diverse paraphrasing loss
对于每个未标记的句子 x u ∈ U x_u∈U xu∈U,推导出未标记的原型 p x u p_{x_u} pxu 作为 x u x_u xu 的释义的平均嵌入(公式3)。
我们探索了三种不同的策略来逐渐增加无监督的贡献:线性方法(α = 1),侵略性方法(α = 0.25)和保守方法(α = 4)。
3. Experiments
3.1 Datasets
Clinic150:设计用于检测范围外的查询,但在我们的实验中,我们丢弃了范围外的类,只保留150个已标记的类。
Liu57:高度不平衡数据集。
3.2 Experimental settings
Conditional language model and language model
对于BART微调过程,我们使用了(Lewis等人,2020年)中报告的默认超参数,并对一个epoch的BART模型进行了微调。增加BART微调的epoch数会降低意图检测任务的性能:下游不同的波束搜索努力找到足够不同的波束组,因为模型的困惑随着进一步的微调而降低。我们的文本编码器
f
ϕ
f_\phi
fϕ 是一个bert-base模型,而给定句子的嵌入是该句子的第一个标记的最后一层隐藏状态。对于每个数据集,该模型对20个epoch的掩码语言模型任务进行了微调。然后,我们使用这个微调模型的权重来初始化元学习器的编码器。
Datasets
从数据集角度,实验分为full和low。所有的实验设置都运行了5次。小样本模型进行最多10,000次 C-way K-shot 的训练,每100 episodes 进行评估和测试,如果评估准确性在至少20次评估中没有提升,则尽早停止。像其他小样本工作一样,使用 600 episodes 进行评估和测试。
Paraphrasing.
在每一episode,我们用 U = 5 个未标记的样本来生成释义。对于反向翻译基线,我们使用了 Helsinki-NLP 团队公开提供的3个翻译模型。我们使用以下的pivot语言: fr,es,it,de,nl,它为每个未标记的句子产生5个增强。在我们的不同光束搜索实验中,我们使用15束生成句子,将它们分成5组3束。在每一组中,我们选择与输入句子最不同的生成句子,使用BLEU作为多样性的度量标准。这就为每个未标记的句子产生了M = 5的释义,就像在反向翻译基线中一样。DBS使用一个多样性惩罚参数来惩罚已经由其他光束生成的单词,以加强多样性。正如DBS原始论文(Vijayakumar et al.,2018)的建议,我们在实验中将多样性惩罚设置为0.5,这提供了多样性,同时限制了模型幻觉。我们的 Unigram-mask 策略的掩蔽概率设置为
p
m
a
s
k
p_{mask}
pmask= 0.7,通过从0到1的线性搜索得到,步长为0.1。
3.3 Evaluation of paraphrase diversity
为了评估不同方法产生的释义的多样性,神经机器翻译中流行的BLEU度量是一个糟糕的选择。我们使用 bi-gram diversity(dist-2)度量,它计算不同的bi-gram的数量除以token的总数。我们还报告了每个句子集合的平均相似性(use),使用通用句子编码器作为一个独立的句子编码器。
3.4 Intent detection results
划线的方法是在low上的性能高于原型网络的full的性能。
报告的度量是在验证集的准确性最大的迭代时对测试集的准确性。我们的DBS+unigram行对应于flat msking, p m a s k p_{mask} pmask =0.7。
我们没有发现PROTAUGMENT 损失取决于
L
~
\tilde{L}
L~的退火速率的统计差异(α∈{0.25,1,4}),这使得它更容易调整——我们的无监督损失作为一个一致性正则化。分析如下:
3.5 Masking strategies
我们实验了三种unigram策略(第4.2节),每种策略根据其在输入句子中的位置为每个token分配不同的下降机会。在我们的实验中,当放更多权重在 第一个token(down)或最后一个token(up)或所有token相同权重(flat)时,我们没有观察到任何显著差异,详细如下。
我们还进行了实验,其中将 p m a s k p_{mask} pmask 从0调整到1,选择0.7作为最佳权衡(图2)。图表明Clinic数据集比其他数据集更容易解决得多。