查看原文
其他

冷启动场景下,小样本预训练模型(Few-Shot PLM)的数据样本选择(含源码&Google)

ShuYini AINLPer 2023-07-10

引言

  最近的许多研究都表明pre-train模型搭配下游任务fine-tune在许多情况下效果显著,但是微调过程需要大量的样本。这一框架不符合人们的习惯,人们希望只需要少量的示例便能适应一个新的NLP下游任务。那么问题来了,「在有限标记数据状况下,如何选择训练数据才能让PLM的效果最好呢?」今天分享的这篇文章给出了答案。

背景介绍

  在许多自然语言处理(NLP)任务中,预训练语言模型(PLMs)在有限的标记数据下取得了具有竞争力的性能。然而,在Few-shot和全监督PLM的性能之间仍然存在着不可忽视的差距。此外,「当用于微调的任务特定数据较小时,PLM的性能可能存在较大的方差」。如下图所示:  当利用AG News数据集(具有32个标签)的不同子集对roberta进行微调时,测试集上的性能差异高达10%(对于普通微调)和5%(对于基于提示的学习)。这也就证明了「在有限标记数据状况下,合理选择训练数据对提高PLM性能的重要性」

  为了有效的获取训练数据,「有人提出了主动学习(AL)自适应标注数据的方法。尽管这很有效,但大多数工作都假设在初始阶段有数百甚至数千个标签,并且在每个AL轮中查询同样大量的标记数据」。然而在实际操作中,通常没有任何启动标签来初始化AL流程并且标记数据也很有限。为了便于在这种具有挑战性的低数据状况下进行训练实例选择,「有专家已经提出了冷启动数据选择(cold-start AL)」,其中我们只有未标记的数据和零初始标签,并且需要设计采集函数来有效地选择样本进行PLM微调。

  然而,「冷启动数据选择对于 PLM 来说可能很重要。由于缺少标记数据,来自 PLM 的未标记数据的估计不确定性可能存在偏差」。因此,基于不确定性的方法甚至可能还不如随机选择策略。此外,与传统的 AL 相比,确保样本多样性,冷启动数据选择需要更加谨慎,因为在少量冗余数据上微调 PLM 会导致泛化性差。现有的方法往往首先对整个未标记的数据集进行聚类,然后使用预定义的启发式方法从每个聚类中贪婪地选择样本,无法控制不同聚类中所选样本之间的距离,因此不能充分促进样本多样性。此外,在冷启动场景下,利用plm的知识来更好地适应样本选择是至关重要的。虽然有几种方法可以利用预训练嵌入或掩码语言建模 (MLM) 损失来辅助数据选择,但预训练和微调任务之间的不匹配会损害这些方法的功效。综上所述,「在冷启动场景下使用 PLM 设计有效的数据选择方法仍然具有挑战性」

本文方法(PATRON)

  「以应对上述挑战,本文提出了PATRON,这是一种为 PLM 量身定制的基于提示的数据选择策略」。它主要包括三个部分:基于提示的不确定性估计、数据效用估计的不确定性传播、用于促进多样性的数据选择的分区及重写 (PTR),下图为PATRON整个实现流程图及算法展示图。

基于提示不确定性估计

  为了在不访问冷启动设置下的任何标记数据的情况下估计模型的不确定性,「PATRON 利用提示,通过未标记的数据生成任务感知的伪标签,将分类任务转换为具有自定义模板和语言器的完形填空式任务」。通过这种方式,我们还拟合了训练前和下行任务之间的差距,并从PLM中提取特定于任务的知识,以促进数据选择。

数据有效估计的不确定性传播

  然而,这种伪标签的一个重要问题是,即使经过校准,它们也可能是有偏差的。为了解决这一问题,我们进一步提出了不确定性传播:「首先在嵌入空间中,基于核相似度度量样本之间的相关性,然后将它们的预测不确定性传播到它们的邻近区域」。因此,只有当样本自身和邻近区域的预测不确定度都很高时,样本才会具有较高的传播不确定度,这表明模型对该样本周围的局部区域的确定度较低。

Partition-Then-Rewrite(PTR)

  为了选择一批不同的样本,本文提出了一种名为 partition-then-rewrite (PTR) 的两阶段方法,该方法最初是为组合优化而提出的,以动态调整每个集群中的选定样本。具体来说,我们「首先使用 K-Means 聚类来划分未标记的数据,并从每个聚类中选择一个样本来初始化我们的解决方案。然后,基于 k-nearest-neighbor (kNN) 构建一个相邻图来编码所选数据之间的邻域关系并明确控制它们之间的距离」。之后,我们添加了一个额外的正则化项,以防止每个集群中的选定样本与其相邻集群中的样本过于接近。我们将上述过程迭代了几轮,以逐步完善解决方案并促进数据选择的多样性。

实验结果及结论

实验结果

1、在6个数据集10次冷启动数据选择的主要结果2、在6个数据集上进行10次基于提示的学习的实验结果。3、在标准多轮AL设置下,PATRON 与其它基线的结果比较。

实验结论

  PATRON 可以自然地应用于各种设置,包括普通微调、基于提示的学习、半监督学习和标准多轮 AL,以提高 PLM 微调的数据效率。本文主要工作如下:

  • (1)一种冷启动数据选择范式 PATRON,用于解决少样本 PLM 微调的标签稀缺问题;
  • (2)一种基于提示的不确定性传播方法来获取信息量最大的样本;
  • (3)分区然后重写 (PTR) 策略,用于在 AL 期间平衡查询样本的多样性和信息量;
  • (4)在六个数据集上进行的实验表明 PATRON 将现有基线的标签效率平均提高了3.2% 至 6.9%。

推荐阅读

[1]必看!!【AINLPer】自然语言处理(NLP)领域知识&&资料大分享

[2]【NLP论文分享&&机器翻译】多语言标记训练中NMT对语言失衡的鲁棒性

[3]【NLP论文分享&&语言表示】有望颠覆Transformer的图循环神经网络(GNN)

[4]【NLP论文分享&&中文命名实体识别】如何构建一个优秀的Gazetteer/地名词典(浙大&含源码)

[5]一文看懂线性回归【比较详细】(内含源码)

[6]一文看懂逻辑回归【比较详细】(含源码)

论文&&源码

Title: Cold-Start Data Selection for Few-shot Language Model Fine-tuning: A Prompt-Based Uncertainty Propagation Approach

Author: 佐治亚理工学院&Google

Paper:https://arxiv.org/pdf/2209.06995v1.pdf

Code:https://github.com/yueyu1030/patron

点击下方链接🔗关注我们

「创作实属不易,点个、再看吧」

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存