在少量样本的软提示调整中进行的监督式对比学习
《Natural Language Processing》:Supervised contrastive learning in few-shot soft prompt tuning
【字体:
大
中
小
】
时间:2026年04月17日
来源:Natural Language Processing 1.9
编辑推荐:
摘要:软提示学习方法为预训练语言模型在少数样本场景下的参数调优提供了高效途径。本研究探讨了将监督对比学习(SCL)整合到两种主流的软提示调优模型中:DifferentialAble pRompT(DART)和PTuning。通过将SCL作为辅助任务,我们在13个少数样本自然语言理
摘要:软提示学习方法为预训练语言模型在少数样本场景下的参数调优提供了高效途径。本研究探讨了将监督对比学习(SCL)整合到两种主流的软提示调优模型中:DifferentialAble pRompT(DART)和PTuning。通过将SCL作为辅助任务,我们在13个少数样本自然语言理解任务中观察到了一致的性能提升,包括SST-2、TREC、MNLI等基准任务以及Overruling、TC和ADE等真实世界数据集。我们还深入研究了SCL在标签不平衡情况下的影响,提出了一种称为 balanced batch in SCL(BBSCL)的新方法。BBSCL使用平衡的小批量数据,根据少数类的比例来采样数据,以稳定SCL的计算过程。我们的结果表明,SCL和BBSCL显著提高了软提示学习模型的性能和鲁棒性,尤其是在标签空间复杂的数据集上。实验结果显示,DART + SCL和PTuning + SCL在13个任务中的平均性能优于其基础模型2.1%。此外,我们发现,在标签空间复杂且可分性较差的情况下,SCL的贡献更为显著。与GPT-3.5和OpenChat等大型语言模型相比,我们的增强型软提示学习模型在平衡和不平衡的少数样本场景下都表现更佳。这项研究不仅提高了少数样本调优技术的有效性,还加深了我们对这一领域的理解。
1. 引言
大型预训练语言模型(PLMs)彻底改变了自然语言理解(NLU)领域中的少数样本学习。少数样本NLU面临的挑战是在有限数量的标注样本下学习新任务。这种场景非常实际且相关,因为获取少量注释通常是可行的,并且在这些数据上进行训练效率很高。为了利用PLMs的力量进行下游任务(领域适应),基于提示的范式应运而生。这些范式涉及使用提示将任务转化为类似语言模型的目标。提示可以分为两类:离散提示和连续提示。离散提示或硬提示,由于需要手动设计有效的模板,尤其是在特定任务中,因此具有挑战性。OpenAI开发的ChatGPT展示了其在依赖硬提示学习策略的各种自然语言任务中的卓越性能。为了简化这一过程,研究人员着手开发了自动提示设计方法(Lampinen等人,参考文献Lampinen, Dasgupta, Chan, Mathewson, Tessler, Creswell, McClelland, Wang和Hill2022)以及在硬提示学习框架内识别最具信息量的少数样本示例的方法(Wang, Yang和Wei,参考文献Wang, Yang和Wei2024a)。在预训练的掩码语言模型领域,引入了诸如基于语言模型的微调(LMBFF)(Gao, Fisch和Chen,参考文献Gao, Fisch和Chen2021a)、PET(Schick和Schütze,参考文献Schick和Schütze2021b)和AutoPrompt(Shin等人,参考文献Shin, Razeghi, Logan, Wallace和Singh2020)等策略来发现有效的提示。然而,尽管这些自动化技术提供了有前景的方法,但它们可能无法始终找到最优的提示,通常需要大量的验证数据来验证其有效性。软提示,也称为连续提示(Liu等人,参考文献Liu, Zheng, Du, Ding, Qian, Yang和Tang2024),提供了一种简化下游任务中有效提示搜索的方法。这些提示是可学习的参数,可以根据任务目标和少数样本示例进行插入和优化。软提示不需要手动设计或固定的输入格式,同时通常将底层的PLM视为黑盒。使用软提示还有一个额外的优势,即可以避免手动设计的提示可能带来的人为偏见(Tian等人,参考文献Tian, Emerson, Miyandoab, Pandya, Seyyed-Kalantari和Khattak2023)。值得注意的是,有两种利用软提示的方法,并将PLM视为黑盒,在少数样本任务中取得了显著的性能提升:differentialAble pRompT(DART)(Zhang等人,参考文献Zhang, Li, Chen, Deng, Bi, Tan, Huang和Chen2022)和PTuning(Liu等人,参考文献Liu, Ji, Fu, Tam, Du, Yang和Tang2022)。DART结合了DART机制和流畅性约束目标,确保提示 tokens 与PLM的先前知识兼容,并在任务学习过程中保留语言模型信息。我们选择DART和PTuning作为本工作的基础模型,因为(i)它们的实现是公开的;(ii)它们的附加目标应用于输出表示,且不需要修改PLM的内部层。对比学习是一种通过创建鲁棒表示来增强各种模型对抗偏见和分布变化的能力(Chen等人,参考文献Chen, Xie, Bi, Ye, Deng, Zhang和Chen2021;Choi等人,参考文献Choi, Jeong, Han和Hwang2022;Pan等人,参考文献Pan, Hang, Sil和Potdar2022;Sahoo等人,参考文献Sahoo, Panda, Senapati, Das, Kim和Feris2023;Du等人,参考文献Du, He, Zou, Tao和Hu2024)。最近,监督对比学习(SCL)(Gunel等人,参考文献Gunel, Du, Conneau和Stoyanov2020)在监督学习中显示出改进,特别是在少数样本设置中(Gunel等人,参考文献Gunel, Du, Conneau和Stoyanov2020;Jian, Gao和Vosoughi,参考文献Jian, Gao和Vosoughi2022;Abaskohi, Rothe和Yaghoobzadeh,参考文献Abaskohi, Rothe和Yaghoobzadeh2023)。然而,它尚未应用于软提示学习方法。在本文中,我们研究了将SCL整合到我们的两种软提示学习模型DART和PTuning中的效果。我们的SCL实现不需要数据增强,而是利用批次内的现有样本,采用了与Gunel等人(参考文献Gunel, Du, Conneau和Stoyanov2020)和Zhang等人(参考文献Zhang, Ji, Ji和Wang2022)类似的方法。此外,我们提出了一种称为balanced batch in SCL(BBSCL)的新方法,该方法采用批量平衡技术进一步增强了SCL的鲁棒性,尤其是在标签不平衡的情况下。LLMs为数据生成提供了宝贵的资源,特别是在人类表现突出且模型训练良好的任务中。然而,它们可能在生成新任务的合适输出方面遇到困难(M?ller等人,参考文献M?ller, Dalsgaard, Pera和Aiello2023)。尽管数据增强被广泛使用,但它可能会扭曲原始数据的分布,从而可能影响模型训练的质量(Suhaeni和Yong,参考文献Suhaeni和Yong2024)。考虑到使用LLM的成本,包括GPU和API费用,以及像ChatGPT这样的模型的局限性,在不依赖数据增强的情况下提高模型性能变得至关重要。这突出了我们工作的意义,因为我们寻求在不使用传统数据增强技术的情况下提高模型鲁棒性。我们在十三个NLU任务上进行了实验,分别是SST-2、MR、CR、Subj、TREC、MNLI、SNLI、QNLI、MRPC、QQP、Overruling、TC和ADE。我们的实验结果一致表明,将SCL纳入软提示模型可以提高性能。为了进一步评估我们的贡献的有效性,我们特别评估了在三种标签不平衡设置中添加SCL和BBSCL扩展的效果。我们的发现表明,SCL在这些情况下也是有效的,而引入BBSCL扩展进一步增强了模型的鲁棒性。此外,我们通过研究标签复杂性与性能贡献之间的关系来深入分析SCL的影响。值得注意的是,我们观察到在标签空间更复杂且类别可分性较差的情况下,SCL往往能带来更高的性能提升。我们的工作做出了以下关键贡献:
- 将SCL整合到软提示调优框架(DART和PTuning)中,用于少数样本NLU任务。
- 提出BBSCL,一种通过平衡小批量数据来稳定标签不平衡情况下SCL的新方法。
- 在13个任务中进行全面的实证验证,包括真实世界数据集,显示出相比基础模型平均提高了2.1%的性能。
- 证明SCL在复杂标签空间中的优势明显,并且在标签不平衡的情况下,我们的方法比GPT-3等大型LLMs表现更好。
2. 相关工作
2.1 软提示学习
软提示学习及其变体,如提示调优和残差提示调优,是旨在通过最小参数更新来提高PLMs性能的新兴技术。这些方法旨在高效且有效,利用大型模型内的现有知识来适应特定任务。像PTuningV2(Liu等人,参考文献Liu, Ji, Fu, Tam, Du, Yang和Tang2022)、prefix-tuning(Li和Liang,参考文献Li和Liang2021)、CodePrompt(Choi和Lee,参考文献Choi和Lee2023)和SwitchPrompt(Goswami等人,参考文献Goswami, Lange, Araki和Adel2023)这样的方法使用了软提示学习,但它们并不将PLMs视为黑盒。它们在PLM层中添加参数以进行调优。残差提示调优通过结合具有残差连接的浅层网络显著提高了标准提示调优的性能和稳定性,包括SuperGLUE基准任务。此外,它还表现出对超参数(如学习率和提示初始化)的敏感性降低(Razdaibiedina等人,参考文献Razdaibiedina, Mao, Khabsa, Lewis, Hou, Ba和Almahairi2023)。然而,该模型没有评估不平衡情况下的鲁棒性,并且是基于标签文本生成的,与编码器PLMs不同。因此,我们的SCL扩展,专注于输入表示,不被该模型所支持。分解提示调优(DePT)(Shi和Lipani,参考文献Shi和Lipani2024)通过减少超过20%的内存和时间成本来提高性能,同时保持了与标准提示调优竞争的性能,且可训练参数较少。XPrompt(Ma等人,参考文献Ma, Zhang, Ren, Wang, Wang, Wu, Quan和Song2022)是一种新的提示调优模型,通过分层结构化的剪枝消除了负面提示tokens,从而在较小模型规模上弥合了提示调优和微调之间的性能差距。与残差提示调优类似,DePT和XPrompt也没有评估模型在不平衡情况下的鲁棒性,并且也是基于标签文本生成的,这与编码器PLMs不同。因此,它不符合我们的SCL扩展要求。训练过的软提示的可转移性可以加速训练并提高性能,跨任务的转移能力通常比跨模型的转移能力更有效(Su等人,参考文献Su, Wang, Qin, Chan, Lin, Wang, Wen, Liu, Li, Li, Hou, Sun和Zhou2022)。提示调优的性能可能对提示的初始化非常敏感,传统方法可能无法编码足够的任务相关信息(Wu等人,参考文献Wu, Yu, Wang, Song, Zhang, Zhao, Lu, Li和Henao2023)。元软提示方法有效地将PLMs泛化到多个领域,通过少量样本无监督领域适应促进了快速适应(Chien, Chen和Xue,参考文献Chien, Chen和Xue2023)。然而,这项工作没有讨论SCL的效果或不平衡场景对软提示学习带来的挑战。MPrompt是一种多层提示调优方法,使用特定于任务的、特定于领域的和特定于上下文的提示来提高机器阅读理解性能。这种方法相比最先进的方法平均有所改进(Chen等人,参考文献Chen, Qian, Wang和Li2023a)。虽然这种方法可以应用于文本生成,但我们的论文专注于文本分类。
2.2 标签不平衡少数样本文本分类中的SCL
标签不平衡少数样本文本分类中的SCL是一种方法,旨在在只有少量标注数据且标签分布不平衡的情况下提高模型性能。这种方法通过专注于学习将同一类的数据点拉近同时将不同类别的数据点分开的表示,更有效地利用了有限的数据。正如Lee和Yoo(参考文献Lee和Yoo2021)所概述的,SCL是丰富少数样本学习的强大工具。通过战略性地使用数据增强,提高特征提取的质量可以提升性能,并减少对大规模数据集的需求,特别是在领域变化的情况下。基于这一基础,我们的论文提出了一种创新方法,以减轻在领域变化面前对大规模数据集的依赖,同时避免传统的数据增强途径。此外,我们还研究了SCL对软提示学习的影响,这在本论文中没有讨论。像ContrastNet这样的对比学习框架为解决少数样本文本分类中的判别表示和过拟合挑战提供了有希望的解决方案。通过策略性地将相似的类别表示拉在一起,同时将不同的类别表示分开,ContrastNet有效地应对了数据分布的复杂性。陈等人(参考文献Chen, Zhang, Mao和Xu2022)展示了其有效性,特别是在通过无监督正则化技术解决过拟合问题方面的效果。值得注意的是,虽然ContrastNet使用了数据增强策略,但我们为不平衡数据集量身定制的BBSCL扩展采取了不同的方法,省略了增强步骤,但仍实现了显著的性能提升。半监督对比学习(SSCL)使用伪标签进行数据增强,并采用两步对比方案来提高小样本文本分类中的深度模型性能,从而减轻了伪标签噪声的影响(Wang等人,参考文献Wang, Chen, Xie, Xu和Lu2022)。在网络数据上的对比学习用于小样本分类时,通过使用伪标签进行数据增强和采用归一化策略来提高学习到的表示的泛化能力(Li等人,参考文献Li, Wang, ?wistek, Yu和Wang2023)。通过使用表示指示成分和硬负样本混合策略,可以有效解决文本分类任务中的数据不平衡问题,从而构建出更优质的文本表示和抗噪声的表示学习(Chen等人,参考文献Chen, Zhang, Pan和Chen2023b)。
2.3 软提示学习中的对比学习 PromCSE在保持PLM固定的同时训练小规模的软提示,这有助于在领域转换设置下缓解性能问题(Jiang, Zhang和Wang,参考文献Jiang, Zhang和Wang2022)。这项工作没有调查模型对训练数据中标签不平衡的鲁棒性。相反,这项工作将软提示添加到PLM的每一层,将PLM视为一个白盒架构。软提示学习可用于在隐藏空间创建文本表示,以更好地规划长文本生成。提出了对比软提示(CSP)(Chen等人,参考文献Chen, Pu, Xi和Zhang2022a)模型,以改善长文本生成的连贯性。在本文中,我们关注使用软提示关联输入文本和标签的自然语言理解(NLU)任务,这与CSP模型的用法不同。软提示和硬提示可以混合使用。ContrasterNER(Layegh等人,参考文献Layegh, Payberah, Soylu, Roman和Matskin2023)是一个基于提示的NER框架,它在提示中同时使用离散和连续标记,并采用对比学习方法来学习连续标记并预测实体类型。在本文中,我们专注于分析对比学习(SCL)对软提示学习的影响,并且我们仅使用基于文献中我们有趣的软学习模型的NLU任务进行实验。此外,ContrasterNER没有分析模型在不平衡场景下的鲁棒性。
2.4 不平衡数据集中的软提示学习 软提示调整为使用荷兰初级保健医疗记录预测肺癌提供了一种比标准模型微调更有效的替代方法,证明了其在平衡和不平衡场景中的有效性(Elfrink等人,参考文献Elfrink, Vagliano, Abu-Hanna和Calixto2023)。然而,这项研究并非旨在专门提高软提示在不平衡场景中的性能;相反,它关注在有限数据集背景下研究软提示的性能。Xu等人(参考文献Xu, Peng, Ding, Tao和Lu2024)专注于研究和减轻提示偏差的影响,特别是在不平衡数据集中,以提高PLM中事实知识提取的可靠性。他们的工作特别研究了这些不平衡场景下的软提示学习,但并没有探讨软提示在这些背景下的鲁棒性。LMPT(Xia等人,参考文献Xia, Xu, Ju, Hu, Chen和Ge2023)通过创新地使用提示调整和专门的损失函数显著提高了长尾多标签视觉识别的性能。它通过使用特定于类别的嵌入(CSE)损失和分布平衡(DB)分类损失来保持对类别不平衡的鲁棒性。提示调整利用可学习的提示标记和冻结的预训练模型参数,增强了语义特征之间的交互。CSE和DB损失的结合有效地解决了标签不平衡问题,提高了头部和尾部类别的性能。值得注意的是,这种方法无需依赖对比学习就能取得更好的结果,从而在面对标签不平衡时保持了模型的鲁棒性。不平衡学习算法,包括焦点损失(focal loss)、平衡SoftMax和分布对齐(distribution alignment),在提高不平衡数据集上视觉语言模型的性能方面表现出了相当大的潜力(Wang等人,参考文献Wang, Yu, Wang, Heng, Chen, Ye, Xie, Xie和Zhang2024b)。虽然这项工作指出了软提示学习在视觉语言模型的标签不平衡场景中的局限性,但它没有研究对比学习对这些模型的影响。此外,对比学习对这些不平衡背景下的视觉语言模型的软提示学习的影响仍然没有得到探索。
3. 背景 在连续提示学习中,可训练的标记被引入到输入文本($\displaystyle X$)中,形成一个提示模板(方程1)。目标是指导PLM生成对应于特定类别(标签词$\displaystyle w$)的文本输出。MLM预测计算概率分布$\displaystyle p([MASK]=y|X_{prompt})$。可训练的标记通过反向传播进行更新。(1)\begin{equation} \displaystyle \begin{aligned} \displaystyle X_{prompt} = [CLS] X [T_1] [T_2] \ldots [T_n] [MASK] [SEP] \end{aligned} \end{equation} PTuning和DART模型都将连续提示学习用于它们的主要任务,即类别区分目标($\displaystyle L_{CE}$),如图1的“类别区分”部分所示。这个主要任务旨在最大化正确类别标记的概率并最小化错误类别标记的概率。给定一个示例($\displaystyle X$)及其真实标签标记($\displaystyle y^\star$),我们可以使用交叉熵来表示$\displaystyle L_{CE}$:(2)\begin{align} \displaystyle \begin{split} \displaystyle L_{CE} = CE(q(y^\star |X),y^\star )-\sum \limits _{y \neq y^\star }CE(q(y|X),y) \end{split} \\[-25pt] \nonumber \end{align} (3)\begin{align} \displaystyle \begin{split} \displaystyle q(y|X) = p([MASK]=y|X_{prompt})\end{split} \\[13pt] \nonumber \end{align} 此外,DART模型还包括一个称为流畅性约束目标($\displaystyle L_{MLM}$)的辅助任务。这个目标确保了可训练标记的连贯性,并保持了模型的NLU功能。它在图1的“流畅性约束目标”部分有所描述。可训练的提示模板标记应该是相互依赖的。在这个辅助任务中,输入文本($\displaystyle X$)中的一些标记被随机屏蔽(方程4)。使用黄金标签来填充$\displaystyle X_{MLM}$中的标签屏蔽($\displaystyle X^\prime$是带有某些屏蔽标记的$\displaystyle X$)。(4)\begin{equation} \displaystyle \begin{split} \displaystyle X_{MLM} = [CLS] X^\prime [T_1] [T_2] \ldots [T_n] Y. [SEP] \end{split} \end{equation} MLM预测计算概率分布$\displaystyle p([MASK]=x^m|X_{MLM})$,这决定了用原始标记($\displaystyle x^m$表示被屏蔽的标记)替换屏蔽。DART的辅助任务旨在最大化为每个屏蔽标记选择$\displaystyle x^m$的概率($\displaystyle L_{MLM}$)。我们可以将这个任务定义为:(5)\begin{equation} \displaystyle \begin{split} \displaystyle L_{MLM} = \sum \limits _{m \in M} BCE\big(p\big(x^m|X_{MLM}\big)\big) \end{split} 图1. DART + SCL由两个部分组成:DART模型和SCL模块。DART模型优化两个目标:“类别区分目标”,它学习区分不同的文本类别;“流畅性约束目标”。SCL模块使用“类别区分目标”将文本编码成向量表示,通过平均[CLS]标记的隐藏状态和标签。该图的左侧显示了PTuning + SCL模型,它由两个部分组成:带有“类别区分目标”的PTuning模型和SCL模块。
4. 将SCL添加到DART和PTuning中 为了改进DART和PTuning模型,我们引入了一个SCL模块,从而得到了DART + SCL和PTuning + SCL模型。通过在训练期间添加SCL损失作为一个额外的目标函数来整合SCL模块。SCL作用于示例的聚合表示,表示为$\displaystyle \Phi (X)$,该表示是通过平均[CLS]标记和标签屏蔽标记的隐藏状态获得的。原则上,它不依赖于任何特定的架构或提示调整方法。SCL模块的设计基于陈等人(参考文献Chen, Zhang, Zheng和Mao2022c)提出的方法。其目的是使同一类别的示例在表示空间中更加接近,同时将不同类别的示例进一步分开。通过引入SCL,我们旨在增强模型的区分能力并提高它们捕获类别相关信息的能力。SCL模块在图1中有所说明。我们根据Gunel等人(参考文献Gunel, Du, Conneau和Stoyanov2020)的定义来定义这项任务的目标$\displaystyle L_{SCL}$。SCL损失的数学定义在方程(6)中。我们可以参考Cui等人(参考文献Cui, Zhong, Liu, Yu和Jia2021)和Zhu等人(参考文献Zhu, Wang, Chen, Chen和Jiang2022)关于不平衡对SCL影响的论文来理解SCL的定义。(6)\begin{equation} \displaystyle \begin{split} \displaystyle L_{SCL} = \sum _{i=1}^{N} -\frac {1}{N_{y_i}-1} L_{SCL} (x_i) \end{split} \end{equation} SCL损失旨在将同一类别的表示聚类,同时将不同类别分开。对于每个示例$x_i$,我们计算它与其他示例之间的相似度。正对(同一类别)被拉近,而负对(不同类别)被分开。正式地,每个示例的损失定义为:(7)\begin{equation} \displaystyle \begin{split} \displaystyle L_{SCL} (x_i) & = \sum _{j \in P(i)} \log \frac {\exp {(\Phi (x_i}) \cdot \Phi (x_j) / \tau )}{\sum _{k \in A(i)} \exp {(\Phi (x_{i}) \cdot \Phi (x_{k})/ \tau )}} \end{split} (8)\begin{equation} \displaystyle \begin{split} \displaystyle P(i) = \{j | 1 \le j \le N \land i \neq j \land y_i = y_j\} \end{split} (9)\begin{equation} \displaystyle \begin{split} \displaystyle A(i) = \{k | 1 \le k \le N \land i \neq k\} \end{split} 其中$P(i)$和$A(i)$分别表示$x_i$的正对和所有对。BBSCL通过将多数类示例分组到平衡的迷你批次中来修改这一点,以减少偏差。总损失值在方程(10)和(11)中。在我们的实现中,我们设置$\displaystyle \alpha =\frac {\lambda }{2}$和$\displaystyle \beta =\frac {1}{2}$。对于像TREC这样的多类任务,我们遵循一对所有的方法,因为SCL是为二元任务设计的。(10)\begin{equation} \displaystyle \begin{split} \displaystyle L_{DART+SCL} = L_{CE} + \lambda L_{MLM} + \alpha L_{SCL} \end{split} (11)\begin{equation} \displaystyle \begin{split} \displaystyle L_{PTuning+SCL} = L_{CE} + \beta L_{SCL} \end{split} 4.1 SCL中的平衡批次(BBSCL)Cui等人(参考文献Cui, Zhong, Liu, Yu和Jia2021)和Zhu等人(参考文献Zhu, Wang, Chen, Chen和Jiang2022)表明,在不平衡学习中,高频类别主导了整体SCL损失值。在原始的SCL中,计算同一类别中每个示例对之间的距离。对于一个有两个正面和四个负面的批次,这给出了两个正面和六个负面的距离,这意味着多数类别有四个更多的贡献。其他八个正面到负面的距离对于每个类别是平衡的。这些距离随后形成了SCL损失。我们提出了BBSCL来解决SCL中的类别不平衡问题。首先,我们将多数类中的N个示例分成K组,每组的示例数量与少数类的大小相同(即P)。因此K = N/P。这些组是标签平衡的。然后,我们分别计算每组中所有少数类示例与组示例之间的scl损失。最后,我们总结这些损失。这些组可以完全分开,也可以有共享的示例。前者创建了名为“BBSCL(partition)”的损失,后者创建了“BBSCL(random)”。在创建BBSCL(random)平衡组时,我们从多数类中抽取样本并进行替换。对于我们提到的有两个正面和四个负面的批次,我们创建了两组各有两个正面和两个负面的平衡组。新迷你批次中每个类别的SCL距离数量是相等的,使得SCL目标无偏见,更适合不平衡学习。当少数类样本数量为零时,我们使用直到该时刻所有少数类表示的平均值作为该批次中的少数类数据(图2和图3中比较了SCL和BBSCL)。4.2 BBSCL中采样的说明 在第4.1节中,我们提出了两种平衡批次SCL(BBSCL)的变体:BBSCL(分区)和BBSCL(随机)。为了清晰起见:BBSCL(分区)通过不重复的方式构建平衡组——多数类池被划分为大小等于少数类的组(即$K = \left \lceil \dfrac {N_{\mathrm{maj}}}{P} \right \rceil$组),这样在任何给定的周期内,每个平衡组中都不会出现多个多数类示例。相比之下,BBSCL(随机)通过从多数类中重复采样来构建每个平衡组:对于每个平衡组,我们均匀地抽取$P$个多数类示例(可能会在不同组之间重复使用示例),然后计算该平衡组之间的SCL损失并汇总所有组的损失。因此,分区变体保证了组成员身份的不交集(有助于避免过度强调少数类示例的子集),而随机(重复采样)变体允许在组之间重用多数类示例,特别是在$N_{maj}$不是$P$的整数倍时,或者当想要模拟重复抽样时非常方便(这种区别与结果部分中使用的“分区与随机”术语相同)。从算法上讲,两种变体实现相同的损失聚合(在每个平衡组上计算的对比损失的总和);它们仅在如何为每个组选择多数类示例方面有所不同(细节见第4.1节)。图2. 对于包含两个正样本和四个负样本的不平衡批次,计算SCL损失。图3. 对于包含两个正样本和四个负样本的不平衡批次,计算BBSCL损失。5. 实验设置 5.1 数据集 对于我们的主要评估,我们使用了10个句子分类任务,分别是SST-2、MR、CR、Subj、TREC、MNLI、SNLI、QNLI、MRPC和QQQ。这些任务在平衡的少样本设置中进行了评估,k = 16,如LMBFF(Gao, Fisch和Chen参考文献Gao, Fisch and Chen2021a)所定义的。这种评估使我们能够评估我们提出的方法在一系列文本分类基准测试中的有效性。为了进一步评估我们的方法在具有复杂标签空间和真实世界数据集的更具挑战性场景中的性能,我们在三个额外的数据集上进行了实验:Overruling、TC和ADE。这些数据集是RAFT基准测试的一部分。为了确保全面分析,我们对每个数据集使用随机抽样创建了两个分割。这些分割在少样本设置中k = 25。5.1.1 真实世界数据集构建 RAFT数据集中没有开发数据。注释1 我们从测试数据中取出100个平衡样本作为我们的开发集来创建不平衡设置,并使用剩余的测试数据来评估模型。我们使用训练数据和我们的开发集数据($\displaystyle D_{com}$)来生成不同的采样训练数据。在我们的真实世界数据集实验中,我们测量每个任务的两种不同采样训练数据的平均性能。使用一组固定的种子($\displaystyle \{\textit {2021, 2022}\}$)来准备两种不同的采样训练数据。为了在不平衡设置中生成每个采样训练数据,$\displaystyle \rho ^+=0.25$,我们从$\displaystyle D_{com}$的正面类别中随机抽取十二个数据。我们以相同的方式从负面类别中抽取38个数据。对于平衡设置,我们的操作与不平衡设置相同,但是我们从每个正面和负面类别中抽取25个数据。我们将这些分类任务转换为蕴含问题(基于Wang等人的论文(参考文献Wang, Fang, Khabsa, Mao and Ma2021)将其转换为RTE任务。我们使用正面标签的描述(基于Alex等人的工作(参考文献Alex, Lifland, Tunstall, Thakur, Maham, Riedel, Hine, Ashurst, Sedille, Carlier, Noetel and Stuhlmüller2021)和输入文本来形成RTE问题。5.1.2 在不平衡的少样本设置中创建SST-2的训练数据 根据LMBFF(Gao, Fisch和Chen参考文献Gao, Fisch and Chen2021a),我们在k = 8($\displaystand{D_{8}$)和k = 24($\displaystand{D_{24}$)的少样本设置中为每个种子生成训练数据。对于$\displaystand{\rho ^-=0.25}$,我们将$\displaystand{D_{8}$中的负面类别数据与$\displaystand{D_{24}$中的正面类别数据结合起来,以获得在这种不平衡条件下的训练数据。5.2. 设置 我们使用原始的DART实现来构建我们的DART + SCL、DART + BBSCL、PTuning + SCL和PTuning+BBSCL模型。我们遵循DART(Zhang等人参考文献Zhang, Li, Chen, Deng, Bi, Tan, Huang and Chen2022)的相同设置,对10个NLP数据集进行少样本实验,如表1所示。我们对每个任务的五个采样训练数据集的性能进行平均。我们基于开发集使用网格搜索选择最佳超参数(即学习率、权重衰减和批量大小)。搜索空间在5.2.1节中给出。我们使用RoBERTa-large(Liu等人参考文献Liu, Ott, Goyal, Du, Joshi, Chen, Levy, Lewis, Zettlemoyer and Stoyanov2019)和BERT-large-uncased(Devlin等人参考文献Devlin, Chang, Lee and Toutanova2019)作为所有任务的基PLM模型,并在Kaggle的免费P100 GPU上进行训练。对于Overruling、TC和ADE数据集,我们对两个采样训练数据的性能进行平均。采样和蕴含转换方法在5.1.1节中给出。我们定义$\rho$为正面(或负面)示例与总数的比率来衡量类别不平衡。表1. 在DART论文中使用的十个少样本数据集的结果,这些数据集在提示调优文献中是标准的,以及三个真实世界数据集(ADE、TC和Overruling)在少样本设置中的平均$\displaystand{\pm}$ std性能。模型使用RoBERTa-large。添加SCL对DART和PTuning模型有了一致的改进。我们报告了它们原始论文中的PTuning和DART结果,以便更好地验证我们复现的DART和PTuning结果。我们的实验设置GPU类型与DART论文不同。我们在这里关注我们复现的结果,以公平评估我们的SCL和BBSCL扩展。平均:平均性能 为了检查SCL和BBSCL在PLM的标准微调中对交叉熵(CE)损失的影响,我们使用了来自Dual Contrastive Learning论文(Chen等人参考文献Chen, Zhang, Zheng and Mao2022)的实现。我们报告了针对不同随机种子的5次不同运行的平均性能。在少样本平衡设置中,我们每个类别使用16个示例,而在不平衡设置中,我们使用8个正面类别的示例和24个负面类别的示例。我们还分析了训练集大小在不平衡少样本设置中对我们结果的影响。为了达到这一点,我们使用了与典型少样本设置显著不同的训练集大小进行实验(根据Schick和Schütze的实验参考文献Schick and Schütze2021b),当训练大小为256时,微调和提示学习的性能相似。这表明这种训练大小与少样本设置显著不同,在少样本设置中,预计提示学习会优于微调)。在研究SCL和BBSCL对微调的影响时,我们在不平衡的少样本设置中使用256个训练数据。同样,在研究SCL和BBSCL对软提示学习模型的影响时,我们在不平衡的少样本设置中使用400个训练数据。5.2.1. 软提示学习的超参数搜索空间 10个NLP数据集(SST-2、MR、CR、Subj、TREC、MNLI、SNLI、QNLI、MRPC和QQQ)的超参数搜索空间如下(最佳参数集可能因任务和数据分割而异)。其他超参数与DART模型实现中使用的值相似。注释5 SST-2、MR、CR、Subj、TREC、QNLI、MRPC和QQQ数据集的超参数: • 学习率:我们尝试了以下值:$1 \times 10^{-5}$、$5 \times 10^{-5}$、$1 \times 10^{-4}$和$2 \times 10^{-4}$。 • 权重衰减:考虑的权重衰减值分别为0.0、0.01、0.05和0.10。 • 批量大小:我们评估的批量大小分别为4、8、16、24和32。MNLI和SNLI数据集使用的超参数指定如下: • 学习率:{ $1 \times 10^{-5}$、$5 \times 10^{-5}$、$1 \times 10^{-4}$、$2 \times 10^{-4}$ } • 权重衰减:{0.0、0.01、0.05、0.10} • 批量大小:{4、8、16} 图4. 在零样本设置中SST2数据集的评估提示。由于ADE、TC和Overruling数据集没有开发数据,我们没有进行最佳超参数的搜索。对于两个任务,我们使用“批量大小”等于4、“学习率”等于5e-5和“权重衰减”等于0.01。图5. 在零样本设置中CR数据集的评估提示。图6. 在零样本设置中SUBJ数据集的评估提示。 5.3 不同设置下的LLMs提示 为了评估LLMs在不同设置下的性能,我们需要不同的硬提示,这些提示显示在图4、5和6中。正如引言中讨论的,找到这些类型提示的最优版本需要搜索。使用的提示是通过与这些LLMs的多次试错步骤获得的。在这些提示中,我们通过发送10个文本作为‘texts’并接收LLMs的回答来进行批量推理。在少样本设置中,我们在这些提示的开始包含一些示例。图7展示了一个示例,显示了“texts”和少样本示例。为了可视化目的,在这个示例中,我们使用了2-shot平衡设置和2的批量推理大小来处理问卷文本。图7. 在少样本设置中SST2数据集的完整评估提示。为了可视化目的,我们使用了2-shot平衡设置和2的批量推理大小来处理问卷文本。 5.4 计算成本和训练时间 由于BBSCL需要在平衡组之间计算对比项,而不是在一个不平衡的批次中计算,因此它比普通的批量内SCL引入了额外的计算量。正式来说,如果对大小为$B$的批次进行标准SCL更新需要$O(B^2)$的成对相似性计算(主要成本是在表示维度$d$中的$B*B$相似性矩阵),那么形成$K$个大小为$B_{grp}$的平衡组则每次更新大约需要$K\cdot O(B_{grp}^2)$的相似性操作。在我们的实现中,$B_{grp}$被选择为每个组中的正面和负面示例数量平衡(见第4.1节),对于典型的少样本批次,结果值$K$较小(例如,在我们的许多不平衡实验中$K=2$),因此实际上的额外成本是适度的。具体来说,本工作中报告的端到端训练是在NVIDIA P100硬件上执行的;完整的实验和种子集合大约需要110 GPU小时的总时间。在相同的硬件上,一次特定超参数配置(一个种子,一个模型,一个数据分割)的单次训练运行大约需要4分钟;因此,报告的110 GPU小时反映了网格和种子的总成本。 6. 所有表格的统计显著性分析在附录A(表A1–A12)中报告。 6.1 硬提示学习与软提示学习 表1比较了基于硬提示学习的方法(如PET和LMBFF)与使用软提示学习的方法(如PTuning、DART、PTuning + SCL和DART + SCL)。结果一致显示,软提示方法在所有数据集上,无论是单独还是平均来看,都优于硬提示方法。这种性能差距突显了硬提示的局限性,它们依赖于手动设计或搜索的模板,并强调了在少样本场景中可学习、连续提示的有效性。值得注意的是,这些比较是在平衡数据条件下进行的,确保了在不平衡标签的混淆效应下对提示类型的公平评估。在图8中,针对“Overruling”数据集,我们观察到在平衡设置下,DART方法的表现优于PET;然而,其性能与我们提出的方法DART + SCL相当。相比之下,在不平衡设置下,依赖于硬提示的PET表现最弱。同时,采用软提示的DART方法获得了更好的结果。值得注意的是,在不平衡场景中,我们提出的所有方法都一致性地优于硬提示方法。如图9所示,对于TC数据集,在平衡场景下,PET的表现优于DART和DART + SCL。然而,在不平衡场景下,我们基于软提示学习的所有方法(DART)都超过了依赖于硬提示学习的PET。
图8:在平衡和不平衡设置下,硬提示和软提示方法的比较(针对Overruling数据集)。对于硬提示,我们考虑了PET方法。对于软提示,我们考虑了DART以及本文中提出的扩展方法(当PLM模型为RoBERTa-large时,该设置在之前的实验中表现最佳)。结果基于不同的数据折叠进行报告。平均值$\displaystyle \pm$表示条形图的高度,标准差表示误差条。($\displaystyle \rho$表示不平衡比率。对于不平衡设置,我们考虑$\rho ^+=0.25$)。
图9:在平衡和不平衡设置下,硬提示和软提示方法的比较(针对TC数据集)。对于硬提示,我们考虑了PET方法。对于软提示,我们考虑了DART以及本文中提出的扩展方法(当PLM模型为RoBERTa-large时,该设置在之前的实验中表现最佳)。结果基于不同的数据折叠进行报告。平均值$\displaystyle \pm$表示条形图的高度,标准差表示误差条。($\displaystyle \rho$表示不平衡比率。对于不平衡设置,我们考虑$\rho ^+=0.25$)。
6.2 将SCL添加到DART和PTuning中:表1展示了在13个句子分类任务中,将SCL添加到DART和PTuning模型的结果。DART + SCL和PTuning + SCL分别以较小或较大的优势一致性地优于DART和PTuning。这表明SCL在这类小样本场景中通常是有帮助的。为了研究PLM对SCL扩展性能差异的影响,我们使用2种不同的PLM对TC、Overruling和SST-2数据集进行了这些实验。平衡设置下的实验结果分别记录在表1和表3中。结果显示,无论PLM类型如何,DART + SCL和PTuning + SCL在平衡设置下始终优于DART和PTuning。
6.3 在不平衡小样本设置中的鲁棒性:在表2和表3中,我们分析了SCL和BBSCL扩展在不平衡小样本设置中的影响。为了构建训练数据,我们根据指定的不平衡比率从两个类别中采样样本(具体细节见5.1.1节和5.1.2节)。不同任务设置下的数据量保持不变。
表2:在小样本平衡和不平衡设置下的性能。模型使用BERT-large-uncased。($\displaystyle \rho$表示不平衡比率;Avg:平均性能;$\displaystyle \frac {pos}{all}=\rho ^+$;$\displaystyle \frac {neg}{all}=\rho ^-$)
表3:在小样本不平衡设置下的性能。模型使用RoBERTa-large。($\displaystyle \rho$表示不平衡比率;$\displaystyle \frac {pos}{all}=\rho ^+$;$\displaystyle \frac {neg}{all}=\rho ^-$)我们观察到,在不平衡数据上训练时,模型的性能通常会下降。然而,引入SCL平均而言可以提高模型的鲁棒性。但也有例外情况,例如当PLM为BERT-large-uncased且软提示学习模型为PTuning时,TC数据集的情况。在其他情况下,使用BBSCL(random)和BBSCL(partition)代替SCL可以进一步提升性能。在所有数据集、PLM和软提示模型中,我们的BBSCL扩展方法中有了一种方法表现优于SCL。在我们比较BBSCL扩展方法和将过采样增强方法添加到SCL(SCL (oversample))时,我们观察到SCL (oversample)平均而言表现优于我们的BBSCL,除了在BERT-large-uncased作为PLM的DART + BBSCL (partition)的情况下。在使用BERT-large-uncased作为PLM的所有数据集中,我们的BBSCL扩展方法中也有一种方法表现优于SCL (oversample)。在使用RoBERTa-large作为PLM的所有数据集中(除了SST-2数据集),我们的BBSCL扩展方法中也有一种方法表现优于SCL (oversample)。为了研究训练规模对不平衡设置中性能的影响,我们对Overruling和TC数据集进行了表2和表3中的实验,这些实验针对的是远非小样本规模的较大训练规模。表6展示了这些实验结果。只有在使用RoBERTa-large作为PLM的PTuning模型中,引入SCL平均而言提高了模型的鲁棒性。这表明在高频率类别占主导的情况下,SCL损失的问题更加明显。
6.4 提出方法对基础Transformer(没有可学习提示)的影响:我们表示,我们的扩展方法可以应用于具有可学习提示令牌的模型,并且这些模型只需要来自主要任务的输入表示。输入表示不特定于提示学习,可以通过其他调优模型(如标准微调的冻结PLM)获得。在这部分,我们研究了我们的BBSCL扩展对PLM标准微调的影响。表4展示了在平衡和不平衡小样本设置中,添加SCL和BBSCls对微调损失(CE loss)的影响。结果显示,无论PLM类型如何,CE + SCL在平衡和不平衡设置中一致性地优于CE。平均而言,CE + BBSCL (random)和CE + BBSCL (partition)在所有数据集和PLM中都优于CE + SCL,只有少数例外。
6.5 对标签复杂性的数据分布分析:我们关注表1中提到的真实世界数据集(ADE、TC、Overruling)。DART和DART + SCL模型在这些数据集中的性能差异可以归因于每个数据集中数据的独特特征。为了更好地理解这一点,我们需要分析每个数据集中的数据分布,这些数据分布在图11、图12和图13中展示。TC和ADE数据集的标签空间比Overruling数据集更复杂。在Overruling数据集中,类别之间的区分度更高。当两个类别的集中度有较大重叠时,SCL可以提高性能,因为它可以创建更好的分类表示。图11展示了Overruling数据集的2D空间测试数据分布。图12展示了TC数据集的2D空间测试数据分布。图13展示了ADE数据集的2D空间测试数据分布。在Overruling数据集中,由于两个类别的浓度有较大重叠,SCL提高了性能提升。在TC数据集中,类别之间的重叠较少,SCL的改进效果不明显。
6.4 提出方法对基础Transformer(没有可学习提示)的影响:我们提到,我们的扩展方法可以应用于具有可学习提示令牌的模型,并且这些模型只需要来自主要任务的输入表示。输入表示不特定于提示学习,可以通过其他调优模型(如标准微调的冻结PLM)获得。在这部分,我们研究了我们的BBSCL扩展对PLM标准微调的影响。表4展示了在平衡和不平衡小样本设置中,添加SCL和BBSCls对微调损失(CE loss)的影响。结果显示,无论PLM类型如何,CE + SCL在平衡和不平衡设置中始终优于CE。平均而言,CE + BBSCL (random)和CE + BBSCL (partition)在所有数据集和PLM中都优于CE + SCL,只有少数例外。这表明我们的BBSCL方法有效地解决了SCL问题。然而,在不平衡设置中,CE + SCL (oversample)平均而言优于CE + BBSCL (random)和CE + BBSCL (partition),除了在数据集为CR的情况下(所有PLM都是CE + BBSCL (random))。为了研究训练规模对不平衡设置中性能的影响,我们对训练规模较大的Overruling和TC数据集进行了表4中的实验(这些训练规模远非小样本规模)。表5展示了这些实验结果。平均而言,我们的CE + BBSCL模型在所有数据集和PLM中都优于CE + SCL。CE + SCL (oversample)在某些情况下表现优于我们的CE + BBSCL模型。
6.5 对标签复杂性的数据分布分析:我们关注表1中提到的真实世界数据集(ADE、TC、Overruling)。DART和DART + SCL模型在这些数据集中的性能差异可以归因于每个数据集中数据的独特特征。为了更好地理解这一点,我们需要分析每个数据集中的数据分布,这些数据分布在图11、图12和图13中展示。TC和ADE数据集的标签空间比Overruling数据集更复杂。在Overruling数据集中,类别之间的区分度更高。当两个类别的集中度有较大重叠时,SCL能更好地提高性能。图11展示了Overruling数据集的2D空间测试数据分布。图12展示了TC数据集的2D空间测试数据分布。图13展示了ADE数据集的2D空间测试数据分布。在ADE数据集中,由于类别之间的重叠较大($R_D=0.85$),SCL的改进效果显著。由于语言模型生成的文本向量表示维度较高,人类难以理解,因此SCL的改进效果不明显。为了更好地理解数据分布,我们使用UMAP(McInnes, Healy, and Saul等人2018年提出的维度降维方法将数据分布在二维空间中展示。在这个方法中,我们获得了每个文本的二维表示,从而在二维空间中展示了数据分布。TC数据集的数据显示,两个类别的数据集中在许多区域,导致它们之间的分隔度很低;而在ADE数据集中,两个类别的数据分布较为分散,某些区域的两个类别之间有明显的分隔。在Overruling数据集中,类别之间的重叠较少,大多数区域的两个类别数据是分开的。这些数据分布反映了两种模型性能差异的原因。
6.6 何时SCL能带来更大的性能提升?我们分析了SCL的贡献与标签复杂性的关系(标签复杂性的数据分析见第6.5节)。为了评估数据集中类别的可分类性,我们使用了来自DART(Zhang等人2022年提出的)的$R_D$指标。这个指标代表了类内平均距离与类间平均距离的比率。每个数据点由“类区分目标”中的掩码标记向量表示。$\displaystyle R_D$ 的值越低(越高),表示类之间的可分性越高(越低),意味着数据集中的标签复杂性越低(越高)。对于 Overruling、ADE 和 TC 数据集,$\displaystyle R_D$ 的值分别为 0.44、0.85 和 0.84。最低的 $\displaystyle R_D$ 值(0.44)出现在 Overruling 数据集中,在该数据集中,DART 和 DART + SCL 模型之间的性能差异最小(0.6)。对于其他两个数据集,$\displaystyle R_D$ 的值更高,因此性能差异也更大。根据这些结果,显然在 $\displaystyle R_D$ 值较高的数据集中,SCL 目标提供了更大的好处,这表明标签复杂性更高。
6.7 在我们的设置中,LLM 与软提示学习模型的比较。在本节中,我们将评估 LLM 的性能,重点关注 ChatGPT(OpenAI 2023)。我们将把本文讨论的基于软提示学习的模型与 GPT-3.5-turbo(GPT-3.5)(OpenAI 2023)作为封闭源 LLM 进行比较,以及 OpenChat(Wang 等人,参考文献 Wang, Cheng, Zhan, Li, Song 和 Liu2024)作为开源 LLM。比较结果见表 8。从表格结果可以看出,在平衡的设置中,GPT-3.5 在少样本场景中的表现优于零样本场景。然而,在 OpenChat 的情况下,参数较少的 LLM 通过结合训练数据中的少样本示例并没有提升性能。这表明增加输入提示的大小对参数较少的 LLM 来说是一个挑战。在不平衡的设置中,OpenChat 面临显著的性能下降,与平衡的少样本示例相比,其性能大幅降低。相比之下,GPT-3.5 的性能平均下降了 $1.1$。分析 OpenChat 的性能时,我们观察到由于样本的不平衡,模型的性能相比没有提供示例的情况有所下降。值得注意的是,在 SUBJ 数据集中,当没有提供示例时,LLM 的准确率接近 $50\%$,而在添加示例后,GPT-3.5 模型在平衡设置中的准确率达到了 $71.5\%$。这一观察是在我们关于软提示学习模型的研究中做出的,这些模型展示了使用显著较小的 PLM 时明显更高的性能。这种情况表明,LLM 并不擅长所有任务,在某些特定任务中,小型语言模型的性能可能优于这些大型模型,尤其是那些具有高推理和 API 成本的模型。此外,我们的审查表明,平均而言,带有 SCL 和 BBSCL 扩展的软提示学习模型在平衡和不平衡的数据条件下表现更好。
6.8 批量大小对 BBSCL 方法的影响。为了量化批量大小如何在严重标签不平衡($\rho ^+=0.25$)的情况下影响 TC 数据集的性能,我们使用四种配置训练了 RoBERTa-large —— DART、DART + SCL、DART + SCL(过采样)、DART + BBSCL(随机)和 DART + BBSCL(分割)—— 并使用了 4、8 和 16 的批量大小。平均 F$_1$ 分数(带有一个标准差误差条)绘制在图 14 中。当批量大小为 4 时,原始的 DART 达到了 $28.7_{\pm 1.0}$,而添加标准的监督对比损失(DART + SCL)后,性能提高到了 $33.2_{\pm 1.5}$。在 SCL 之前对少数类进行过采样可以进一步提高 F$_1$ 分数至 $37.6_{\pm 4.0}$,表明当批量非常小时,简单的复制方法是有帮助的。两种 BBSCL 变体也优于 DART:随机平衡的批量策略达到了 $24.8_{\pm 2.3}$,分割策略达到了 $32.1_{\pm 1.8}$,这表明即使在很小的批量大小下,显式的平衡也是有益的。当批量大小为 8 时,DART 的性能下降到 $19.8_{\pm 1.9}$,DART + SCL 到 $24.1_{\pm 0.9}$。在这里,BBSCL(随机)达到了 $32.0_{\pm 2.4}$,BBSCL(分割)达到了 $31.7_{\pm 3.1}$——两者都显著优于过采样($26.1_{\pm 7.0}$)和原始的 SCL。这证实了我们的批量平衡在中等大小的批量中最为有效,在这种情况下,自然类别分布可能会占主导地位。当批量大小增加到 16 时,所有方法的 F$_1$ 分数都趋向于降低:DART 为 $17.6_{\pm 0.5}$,DART + SCL 为 $20.4_{\pm 2.6}$,过采样为 $21.7_{\pm 5.5}$,BBSCL(随机)为 $21.9_{\pm 1.8}$,BBSCL(分割)为 $19.7_{\pm 0.5}$。尽管在大批量下绝对收益缩小,但 BBSCL(随机)仍然略微优于标准 SCL,这表明即使在每次更新看到许多示例的情况下,平衡的对比采样也能继续减轻不平衡偏差。小批量(大小为 4)从过采样中受益最多,但在批量大小为 8 时,我们的 BBSCL 方法提供了最大且最一致的改进。即使在大小为 16 的情况下,BBSCL(随机)仍然比标准 SCL 和过采样具有轻微的优势,这证实了在广泛的批量大小设置中,平衡每个小批量是一个稳健的策略(见图 14)。
图 14. 批量大小对不平衡设置中 BBSCL 方法的影响。表 6. SCL 和 BBSCL 对使用微调冻结 PLM 的文本分类的影响。性能是在少样本平衡(每个类别 16 个示例)和不平衡设置(正类 8 个示例,负类 24 个示例)下进行的。对于 PLM,我们使用 RoBERTa-large 和 BERT-large-uncased。结果基于 5 次不同随机种子的运行报告。报告了平均 $\displaystyle \pm$ 标准差性能。($\displaystyle \rho$ 是不平衡比率;$\displaystyle \frac {pos}{all}=\rho ^+$;$\displaystyle \frac {neg}{all}=\rho ^-$;CE 是交叉熵;Avg:平均性能;在 CE + SCL(过采样)中,我们使用过采样来平衡训练中的批量;在 CE + BBCL(随机)中,我们从多数类中采样负节点并进行替换以构建标签平衡的组,组之间可能存在共享的负节点;在 CE + BBCL(分割)中,我们从多数类中采样负节点而不进行替换以构建标签平衡的组。)
表 7. SCL 和 BBSCL 对使用微调冻结 PLM 的文本分类的影响。性能是在不平衡设置(正类 64 个示例,负类 192 个示例)下进行的,这与少样本设置相去甚远。结果基于 5 次不同随机种子的运行报告。报告了平均 $\displaystyle \pm$ 标准差性能。($\displaystyle \rho$ 是不平衡比率;$\displaystyle \frac {pos}{all}=\rho ^+$;$\displaystyle \frac {neg}{all}=\rho ^-$;CE 是交叉熵;Avg:平均性能)
表 8. 在平衡和不平衡设置中 LLM 与软提示学习模型的比较。基于表 1 到 6 的结果,并考虑到在大多数情况下使用 RoBERTa-large 作为预训练语言模型(PLM)和 DART 作为软提示模型的优越性能,我们决定在实验中仅使用 RoBERTa-large 模型作为 DART 模型。结果基于 3 次不同的数据折叠和 3 次不同的随机种子进行零样本测试。我们从测试数据集中抽取 200 个数据点进行评估,以管理 GPT-3.5 的 API 成本。报告了平均 $\displaystyle \pm$ 标准差性能。GPT-3.5 和 OpenChat 的结果基于 2 月 8 日的 API。($\displaystyle \rho$ 是不平衡比率;$\displaystyle \frac {pos}{all}=\rho ^+$;$\displaystyle \frac {neg}{all}=\rho ^-$;Avg:平均性能)
7. 讨论
7.1 何时使用 SCL 和 BBSCL
将 SCL 集成到像 DART 和 PTuning 这样的软提示调优框架中在特定场景中提供了显著的优势。我们的实验表明,在标签示例稀缺的低数据情况下,SCL 特别有效。使用有限的标签创建强大的表示,SCL 增强了模型的判别能力,从而在少数样本的 13 个任务中实现了性能的持续改进。例如,在 SST-2 数据集中,DART + SCL 相比基础 DART 模型提高了 $2.1\%$,突显了 SCL 在少样本设置中的价值。在不平衡的数据集中,我们提出的 BBSCL 方法通过确保每个小批量包含少数类和多数类的比例表示来应对类别不平衡的挑战。这种方法稳定了对比损失计算,防止了多数类主导学习过程。例如,在 Overruling 数据集中,正类比例为 $25\%$,BBSCL 将 F1 分数提高了 $4.2\%$,相比于标准 SCL。这使得 BBSCL 特别适合于现实世界的应用,如医学文本分类,其中标签不平衡很常见。最后,SCL 在类别难以区分的复杂标签空间中表现优异。我们使用 $R_D$ 指标(类内距离与类间距离的比率)的分析显示,在 $\displaystyle R_D$ 值较高的数据集中,SCL 提供了更大的好处,例如 ADE($\displaystyle R_D = 0.85$)和 TC($\displaystyle R_D = 0.84$)。在这些情况下,SCL 有助于为重叠类创建更独特的表示,提高了整体模型性能。例如,在 ADE 数据集中,DART + SCL 相比基础模型提高了 6.3\%,证明了 SCL 在具有挑战性的分类任务中的有效性。
7.2 与大型语言模型(LLMs)的比较
我们与像 GPT-3.5 和 OpenChat 这样的大型语言模型(LLMs)的比较揭示了微调小型 PLM 和使用大型预训练 LLM 之间的权衡。虽然 GPT-3.5 在平衡的少样本设置中表现良好(例如,在 SST-2 中准确率为 $98.5\%$),但其性能在不平衡的场景中会下降,并且会消耗较高的计算和 API 成本。相比之下,我们增强了的带有 SCL 和 BBSCL 的软提示学习模型在平衡和不平衡的设置中始终优于 GPT-3.5,同时使用了像 RoBERTa-large 这样的小型 PLM。例如,DART + SCL 在 SST-2 上的准确率为 $93.7\%$,而 GPT-3.5 为 $98.0\%$,但资源需求要低得多。这表明,对于特定领域的任务,小型、微调的模型通常更为实用,尤其是在计算资源有限的情况下。然而,LLMs 仍然对于零样本场景或需要广泛泛化的任务具有价值。我们的发现强调了根据任务需求选择正确方法的重要性:对于少样本、不平衡或特定领域的任务,使用 SCL/BBSCL 进行微调;对于零样本或通用应用,则利用 LLM。
7.3 偏差缓解和公平性
使用 SCL 和 BBSCL 也有助于减轻语言模型中的偏见。通过在训练期间确保类别的平衡表示,BBSCL 减少了多数类偏见的风险,这在像医疗诊断或法律文本分析这样的敏感应用中尤为重要。例如,在 Overruling 数据集中,BBSCL 将少数类的 F1 分数提高了 $9.7\%$,相比于标准 SCL,展示了它更公平地处理不平衡数据的能力。然而,需要注意的是,虽然 BBSCL 解决了类别不平衡问题,但它并没有消除其他形式的偏见,例如来自底层预训练语言模型的偏见。未来的工作可以探索将 BBSCL 与去偏见技术(如对抗性训练或公平性约束)相结合,以进一步增强模型的公平性。
7.4 将 BBSCL 广泛应用于多类和多标签设置
虽然主论文关注的是二元不平衡场景(少数类 vs. 多数类),但平衡批量监督对比学习(BBSCL)自然可以推广到多类和多标签问题。在这一小节中,我们介绍了主要的扩展,给出了多类(随机采样)变体的简洁算法概述,并注意了实际复杂性之间的权衡。符号和目标。设 $C$ 表示类别的数量,$n_c$ 表示类别 $c\in \{1,\ldots ,C\}$ 的可用示例数量。对于多标签数据,每个示例 $i$ 都有一个标签集 $L_i\subseteq \{1,\ldots ,C\}$。我们用 $\Phi (\cdot )$ 表示编码器(包括可选的投影头),并使用 $\mathrm{sim}(\cdot ,\cdot )$ 表示相似度函数(例如,余弦)。对于批次中正索引集 $P(i)$ 的示例 $i$,监督对比损失采用通常的形式(12)\begin{equation} \mathscr{L}_i \;=\; -\frac {1}{|P(i)|}\sum _{j\in P(i)} \log \frac {\exp \big (\mathrm{sim}(\Phi _i,\Phi _j)/\tau \big )} {\sum _{k\neq i}\exp \big (\mathrm{sim}(\Phi _i,\Phi _k)/\tau \big )}, \end{equation},其中 $\tau$ 是温度参数。对于多标签设置,可以通过标签重叠来为每个正例加权(例如,Jaccard):(13)\begin{equation} w_{ij} \;=\; \frac {|L_i\cap L_j|}{|L_i\cup L_j|}, \qquad \mathscr{L}_i \;=\; -\frac {1}{\sum _{j\in P(i)} w_{ij}} \sum _{j\in P(i)} w_{ij}\, \log \frac {\exp \big (\mathrm{sim}(\Phi _i,\Phi _j)/\tau \big )}{\sum _{k\neq i}\exp \big (\mathrm{sim}(\Phi _i,\Phi _k)/\tau \big )}。\end{equation} 多类扩展(直接平衡分组)。一个直接的扩展方法是构造每个类别大小为$p$的组(其中$p$可以选择为$\min_c n_c$或另一个目标样本数量)。对于每个类别$c$,我们形成$K_c=\lceil n_c / p\rceil$个组;这些组可以通过无放回抽样(将类别池分配到各个组中)或有放回抽样(随机抽样)来形成。通过连接一个或多个每个类别的组来组装平衡的小批量,以便每个选定的类别大约为批量贡献$p$个示例。一个示例的正面例子是批次中具有相同类别的其他示例;负面例子是其他类别的示例。这种构建方法消除了任何单个类别的更新主导性,并直接推广了二元BBSCL分组机制。多标签扩展(标签-conscious分组)。对于多标签任务,将共享至少一个标签的示例定义为正面示例。为了平衡标签影响,我们维护每个标签的储备(划分或随机抽样),并形成组,以便每个标签在组内大致均匀地表示。当示例带有多个标签时,它们的正面贡献根据重叠权重$w_{ij}$(公式13)进行分配。这保留了平衡贡献的直觉,同时尊重多标签结构。伪代码:多类别BBSCL(随机抽样变体)。以下伪代码给出了BBSCL的多类别随机抽样变体的实现方法。用分区步骤替换抽样行以实现“分区”(无放回)变体。算法1:BBSCL – 多类别(随机抽样变体)复杂性和实际修改。每次更新的主要成本是批量内的成对相似性计算,其复杂度为$O(B^2)$,批量大小为$B$。由于平衡的批次通常会增加所代表类别的数量,平方项可能会增加;实际上,可以通过以下方法在保持平衡目标的同时降低成本:(1) 基于原型的对比项:计算类别原型(类别嵌入的平均值),并将示例与原型进行对比,而不是与批次中的所有示例进行对比,将成本降低到每次更新$O(B\cdot C)$。(2) 重要性加权抽样:以增加罕见类别的概率来抽样,从而在计算和类别覆盖之间获得更平滑的权衡。(3) 更小的投影头或更低的投影维度:在计算相似性矩阵时减少内存和矩阵乘法成本。评估建议。在报告多类别或多标签任务的结果时,我们建议提供微观和宏观平均指标(例如,准确率/F1分数/mAP)。在不平衡的设置中,宏观平均指标特别具有信息量,因为它们对每个类别赋予相同的权重,因此更好地反映了BBSCL风格平衡带来的性能改进。7.5 局限性和未来工作 虽然我们的研究表明SCL和BBSCL在文本分类任务中的有效性,但仍有几个局限性和未来研究的机会。首先,我们的实验仅限于文本分类,尚不清楚SCL是否可以有效地应用于其他NLP任务,如文本生成、摘要或机器翻译。例如,将SCL扩展到生成任务可以涉及对比同一输入文本的不同释义,以提高输出多样性和质量。其次,我们的研究专注于小样本设置,虽然BBSCL在不平衡的情景中显示出前景,但其在具有极端类别不平衡(例如1:100的比例)的更大数据集中的性能值得进一步研究。此外,探索BBSCL在更大批量尺寸和更强大硬件上的可扩展性可能会揭示进一步的性能提升。最后,我们的工作主要使用RoBERTa-large和BERT-large作为基础PLMs。使用更大的模型(如GPT-2或T5)测试SCL和BBSCL可以提供关于我们的方法在不同架构和规模上泛化能力的见解。7.6 实用建议 基于我们的发现,我们为实践者提供以下建议:• 对于小样本学习使用SCL:当标记数据有限时,将SCL集成到DART或PTuning等软提示调整框架中可以显著提高性能。• 对于不平衡数据应用BBSCL:在类别分布不平衡的数据集中,BBSCL可以稳定训练并确保少数类别的公平表示。• 利用小型PLMs进行特定领域任务:在特定任务中,用SCL/BBSCL微调的小型PLMs通常比大型LLMs表现更好,同时更加节省资源。• 对于零样本或通用任务考虑LLMs:对于需要广泛泛化或零样本能力的任务,尽管成本较高,LLMs(如GPT-3.5)仍然是一个强大的选择。8. 结论 在本文中,我们探讨了SCL在增强小样本学习软提示调整方法中的作用。我们提出了一种新颖的方法,将SCL目标纳入DART和PTuning,并在各种小样本数据集上证明了其有效性。我们的结果表明,我们的方法不仅提高了标准基准测试的性能,还提高了在标签不平衡和真实世界数据集上的鲁棒性和泛化能力。此外,我们还揭示了小样本数据集的标签复杂性与SCL好处之间的正相关关系。补充材料 本文的补充材料可以在https://doi.org/10.1017/nlp.2026.10013找到。资金声明 本研究未收到任何资助。竞争利益 作者声明他们在所研究领域没有竞争利益。没有财务冲突或其他可能影响研究结果或解释的竞争利益。这确保了研究的进行和报告是公正的。作者贡献 Ali Edalat和Yadollah Yaghoobzadeh共同构思了这项研究并开发了方法论。Ali Edalat主要负责软件开发、数据管理、形式分析、研究和可视化。他还编写了初稿。Yadollah Yaghoobzadeh提供了资源,监督了项目,管理了整体研究活动,并参与了手稿的评审和编辑。两位作者都审查并批准了最终手稿。数据和材料的可用性 本研究的数据、PLM模型和开源LLM都是公开可用的。我们的研究涉及一个专有的闭源大型语言模型和一个开源大型语言模型。闭源LLM的API也对公众开放。这项工作的数据和代码作为补充材料与本文一起提供。它们也将出现在GitHub仓库中,以确保可复现性。局限性 我们的SCL模块基于批量内对比学习,这可能对批量大小敏感,但我们受到内存限制,无法测试更大的批量大小。最后,我们的研究主要关注文本分类任务,遵循了之前关于软提示调整的工作,并未考虑其他类型的自然语言处理任务。伦理 我们的工作依赖于PLMs和LLMs,先前的研究已经表明这些模型可能存在偏见(Liang等人。参考文献Liang, Wu, Morency和Salakhutdinov2021;He等人。参考文献He, Lin, Shen, Zhou和Yang2023)。在使用这些模型时应考虑这一点。A. 统计显著性分析 表A1. 使用RoBERTa-large作为预训练语言模型,在表1中比较DART及其扩展以及P-Tuning及其扩展的p值的显著性水平。仅考虑所有数据集的平均性能。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。破折号(“–”)表示无法进行比较。表A2. 使用RoBERTa-large作为预训练语言模型,在表2中比较DART及其扩展以及P-Tuning及其扩展的p值的显著性水平。仅考虑所有数据集的平均性能。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。破折号(“–”)表示无法进行比较。表A3. 在不平衡设置中,使用BERT-large-uncased作为预训练语言模型,在表3中比较DART及其扩展以及P-Tuning及其扩展的p值的显著性水平。仅考虑所有数据集的平均性能。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。破折号(“–”)表示无法进行比较。表A4. 在平衡设置中,使用BERT-large-uncased作为预训练语言模型,在表3中比较DART及其扩展以及P-Tuning及其扩展的p值的显著性水平。仅考虑所有数据集的平均性能。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。破折号(“–”)表示无法进行比较。表A5. 当设置不平衡且PLM为RoBERTa-large时,在表6中比较DART及其扩展以及P-Tuning及其扩展的p值的显著性水平。仅考虑所有数据集的平均性能。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。破折号(“–”)表示无法进行比较。表A6. 当设置不平衡且PLM为BERT-large-uncased时,在表6中比较DART及其扩展以及P-Tuning及其扩展的p值的显著性水平。仅考虑所有数据集的平均性能。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。破折号(“–”)表示无法进行比较。表A7. 当设置不平衡且比例不同时,在表7中比较DART及其扩展的p值的显著性水平。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。破折号(“–”)表示无法进行比较。表A8. 当我们使用平衡设置时,在表4中比较基于基础模型(Roberta和Bert)的改进的显著性。表A9. 当我们使用不平衡设置时,在表4中比较基于基础模型(Roberta和Bert)的改进的显著性。表A10. 当我们使用不平衡设置时,在表5中比较基于基础模型(Roberta和Bert)的改进的显著性。表A11. 当设置平衡时,在表8中比较GPT-3.5、openchat、DART和DART + SCL的p值的显著性。对于GPT-3.5和openchat,我们考虑了不同设置中的最佳性能。仅考虑所有数据集的平均性能。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。破折号(“–”)表示无法进行比较。表A12. 当设置不平衡时,在表8中比较GPT-3.5、openchat、DART、DART + SCL、DART + BBSCL(随机)、DART + BBSCL(分区)和DART + SCL(over)的p值的显著性。仅考虑所有数据集的平均性能。显著性标记如下分配:“***”表示p值< 0.001,“**”表示p值< 0.01,“*”表示p值< 0.05,否则为空字符串。注释 1 训练和未标记测试:https://huggingface.co/datasets/ought/raft 测试标签:https://huggingface.co/datasets/ought/raft-submission 2 https://github.com/zjunlp/DART 3 https://www.kaggle.com/ 4 https://github.com/hiyouga/Dual-Contrastive-Learning 5 https://cl.gy/fTiRK 6 https://github.com/AliEdalat/Supervised-Contrastive-Learning-in-Few-Shot-Soft-Prompt-Tuning.git