当前位置: 首页 > news >正文

论文笔记:Prototypical Verbalizer for Prompt-based Few-shot Tuning

论文来源:ACL 2022

论文地址:https://arxiv.org/pdf/2203.09770.pdficon-default.png?t=O83Ahttps://arxiv.org/pdf/2203.09770.pdf

论文代码:https://github.com/thunlp/OpenPrompticon-default.png?t=O83Ahttps://github.com/thunlp/OpenPrompt


 Abstract

        基于提示的预训练语言模型(pre-trained language models, PLMs)调优已经在小样本学习中显示出其优越性。通常,基于提示的调优将输入文本包装成完形填空问题,为了做出预测,模型通过人工设计或者自动构建的表达器(verbalizer)将输出的单词映射到标签上。但是,人工表达器严重依赖于特定领域的先验知识,而自动寻找合适的标签仍然具有挑战性本文提出了直接从训练数据中构建的原型表达器(ProtoVerb)。具体来说,ProtoVerb通过对比学习将学到的原型向量作为语言表达器。通过这种方式,原型归纳了训练实例,并能够包含丰富的类级别语义。本文对主题分类和实体分类任务进行了实验,结果表明,ProtoVerb显著优于当前的自动生成的表达器,特别是在训练数据极其稀缺的情况下。更令人惊讶的是,即使在未调优的PLM上,ProtoVerb也始终支持基于提示的调优,这表明使用PLM是一种优雅的非调优方式。

Introduction

        为了使PLMs适应下游任务,如分类,传统方法通过一个额外的分类器对语言模型进行微调,但是当特定任务的数据有限时,由于预训练任务和微调任务之间的差距,训练额外的高效分类器具有挑战性,并阻碍了PLMs对下游任务的快速适应。

        在基于提示的调优中,输入文本被特定任务的模板包装,将原始任务重新形式化为完形填空任务。例如,在主题分类任务中,可以使用模板“<text> This topic is about [MASK]”,PLMs推断[MASK]位置的单词,然后通过语言表达器将单词映射到对应的标签。语言表达器在基于提示的调优中是非常重要的,是建立在模型输出和最终预测结果之间的桥梁。

        目前大多数工作采用三种类型的语言表达器:人工表达器、基于搜索的表达器和软表达器。如Figure 1所示,人工设计的表达器选择一些标签词来描述类,缺点是要求设计者对下游任务有准确的理解,并且每个类能够用几个词来概括;基于搜索的表达器是通过算法从词表中找到合适的标签词;软表达器使用可训练的token在调优阶段进行优化。在大型词汇表或者低数据环境下的嵌入空间中进行充分搜索或者优化是具有挑战性的,使得自动表达器比人工表达器更不理想。

         本文直接通过训练实例计算每个类的原型向量作为语言表达器(封装了一些类级别的语义特征)进行基于提示的调优,并对主题分类和实体分类任务进行了两组实验:当人工表达器可用时,ProtoVerb作为一个额外的表达器;当样本有限,不提供人工表达器时,ProtoVerb也能生成高质量的表达器。

对比学习:是一种自监督学习方法,用于在没有标签的情况下,通过让模型学习哪些数据点相似或不同来学习数据集的一般特征。

Prototypical Verbalize

        如Figure 2所示,首先获取[MASK]的隐藏层状态来表示实例,然后将其映射到另一个嵌入空间进行原型学习。 原型被用作预测的语言表达器

Instance Representation and Similarity Function

         给定一个用模板包装的训练文本x,将[MASK]的最后一层隐藏状态h_{[MASK]}作为文本的初始表示,使用被\varphi参数化的编码器E_\varphi \left ( \cdot \right ),将x的实例表示为V=E_\varphi \left ( x \right )=Wh_{[MASK]}。然后,采用权重为W的线性编码器来度量实例之间的余弦相似度。

Loss Function

        两个目标:对于实例对,类内对应该比类间对获得更高的相似度分数;对于实例-原型对,类n的实例与原型c_n之间的相似度得分应该高于c_n与其他类实例之间的相似度得分。 为此,基于对比学习中的InfoNCE损失定义目标函数:

       

 Inference

计算查询实例与原型之间的相似度分数,

 然后通过argmax函数做预测。

        当存在其他的表达器时,首先用一个标准标量来处理不同语言表达器的logits,然后取分数的平均值得到最终分数。

Experiments

Single Verbalizer Results:

 Multiple Verbalizer Results:

相关文章:

论文笔记:Prototypical Verbalizer for Prompt-based Few-shot Tuning

论文来源&#xff1a;ACL 2022 论文地址&#xff1a;https://arxiv.org/pdf/2203.09770.pdfhttps://arxiv.org/pdf/2203.09770.pdf 论文代码&#xff1a;https://github.com/thunlp/OpenPrompthttps://github.com/thunlp/OpenPrompt Abstract 基于提示的预训练语言模型&#…...

nn.functional.softmax(X, dim=-1)

dim-1表示在最后一个维度&#xff08;大概率是一行&#xff09;应用Softmax函数&#xff0c;将值标准化为概率分布。 实例 假设我们有一个张量X&#xff0c;形状为&#xff08;2&#xff0c;3&#xff09;&#xff0c;内容如下&#xff1a; import torch import torch.nn.…...

【动态规划】子数组系列(上)

1. 最大子数组和 53. 最大子数组和 状态表示&#xff1a;以 i 位置为结尾时的所有子数组中的最大和 状态转移方程&#xff1a; i 位置为结尾的子数组又可以分为长度为 1 的和大于 1 的&#xff0c;长度为 1 就是 nums[i] &#xff0c;长度不为 1 就是 dp[i - 1] nums[i]&…...

字节青训营入门算法题:飞行棋分组

链接&#xff1a;飞行棋分组&#x1f517;&#x1f517; 题目 现在有一堆飞行棋棋子&#xff0c;每个棋子上标有数字序号。需要将这些棋子分成若干组&#xff0c;每组包含5个棋子&#xff0c;且组内所有棋子的数字序号必须相同。需要判断是否可以完成这样的分组。 解答 为了…...

# 执行 rpm -qa | grep qq 查询软件安装情况时报错 数据库损坏 db3 error(-30974)

执行 rpm -qa | grep qq 查询软件安装情况时报错 数据库损坏 db3 error(-30974) 一、问题描述&#xff1a; 在 linux 系统上&#xff0c;使用包管理工具 rpm 查询某一个软件安装情况&#xff0c;如&#xff1a;执行 rpm -qa | grep qq 时&#xff0c;报错 数据库损坏 db3 err…...

离线服务器上复现G3SR论文实验

代码地址:https://github.com/AllminerLab/Code-for-G3SR-master 论文地址:https://ieeexplore.ieee.org/abstract/document/9741079/ 因为直接按照作者的方法操作会出现问题,故笔者在这里记录一下的实验过程。 实验环境 python=3.6 pytorch pytorch的下载命令需要自行前往…...

Android 未来可能支持 Linux 应用,Linux 终端可能登陆 Android 平台

近日&#xff0c;根据 android authority 的消息&#xff0c;Google 正在开发适用于 Android 的 Linux 终端应用&#xff0c;而终端应用可以通过开发人员选项启用&#xff0c;并将 Debian 安装在虚拟机中。 在几周前&#xff0c;Google 的工程师开始为 Android 开发新的 Termi…...

PostgreSQL学习笔记十四:PL/Python自定义函数

在 PostgreSQL 中可以使用 PL/Python 语言来创建自定义函数。以下是一个示例步骤&#xff1a; 一、创建自定义函数 连接到 PostgreSQL 数据库&#xff0c;可以使用 psql 命令行工具或者通过数据库管理工具。 执行以下 SQL 语句创建一个简单的 PL/Python 函数&#xff1a; C…...

计算机毕业设计 | springboot商城售后管理系统 购物平台(附源码)

1&#xff0c;绪论 1.1 开发背景 在数字化时代的推动下&#xff0c;产品售后服务管理机构面临着信息化和网络化的挑战。传统的手工管理和纸质档案已经无法满足管理人员和读者的需求。为了提高产品售后服务管理机构的管理效率和服务质量&#xff0c;开发和实现一个基于Java的售…...

(全网独家)面试要懂运维真实案例:HDFS重新平衡(HDFS Balancer)没触发问题排查

在面试时&#xff0c;面试官为了考察面试者是否真的有经验&#xff0c;经常会问运维集群时遇到什么问题&#xff0c;解决具体流程。下面是自己遇到HDFS Balancer没执行&#xff0c;花了半天时间进行排查&#xff0c;全网独家的案例和解决方案。 目录 使用CDH自带重新平衡操作…...

【数据结构笔记】搜索树

二叉搜索树 任一节点x的左/右子树中&#xff0c;所有非空节点均不大于&#xff08;不小于&#xff09;x 必须是所有的非空节点&#xff0c;仅左右孩子不够&#xff08;左孩子的右孩子可能很大&#xff09;一棵二叉树是二叉搜索树当且仅当中序遍历序列是单调非降序列 两棵二叉…...

如何使用UART(STM32 HAL库)

UART &#xff08;通用异步收发器&#xff09;是在 USART &#xff08;通用同步异步收发器&#xff09;基础上裁剪掉了同步通信功能&#xff0c;只剩下异步通信功能。关于通信和串口的基本知识&#xff0c;可参见文章《串口通信简介-CSDN博客》和《数据通信的一些基础概念-CSDN…...

星巴克英语

用流利的英文点星巴克 一杯咖啡 英文中文英文中文barista咖啡师coffee maker家用咖啡机cup sleeve杯套coffee stirrer咖啡棒coffee cup lid咖啡杯盖子straw吸管latte art咖啡拉花for here内用to go外带 例句&#xff1a; Could I have a cup sleeve for my coffee , please…...

权重衰减与暂退法——paddle部分

权重衰减与暂退法——paddle部分 本文部分为paddle框架以及部分理论分析&#xff0c;torch框架对应代码可见权重衰减与暂退法torch import paddle print("paddle version:",paddle.__version__)paddle version: 2.6.1当我们谈论机器学习模型的性能时&#xff0c;经…...

golang获取当天最小的时间,以DateTime的string格式返回

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…...

2025 - 中医学基础 - 考研 - 职称

2025 - 中医学基础 - 考研 - 职称 第1章 中医学导论 1.中医学的指导思想是&#xff08;&#xff09;( ) [单选] A&#xff0e;阴阳学说 B&#xff0e;五行学说 C&#xff0e;精气学说 D&#xff0e;整体观念 E&#xff0e;辨证论治 正确答案: D 2.中医学的理论核心是&…...

Pandas库

一、安装 Pandas是一个基于Python构建的专门进行数据操作和分析的开源软件库&#xff0c;它提供了高效的数据结构和丰富的数据操作工具。 安装 pip install pandas 二、核心数据结构 Pandas库中最常用的数据类型是Series和DataFrame&#xff1a; Series&#xff1a;一维数…...

Qt网络编程: 构建高效的HTTP文件下载器

文章目录 注意事项调用示例在使用Qt进行HTTP下载时,通常会使用QNetworkAccessManager类来管理HTTP请求和响应。这个类提供了进行网络请求的能力,包括下载文件。下面是使用Qt进行HTTP下载的一个示例,以及在实现时应考虑的一些注意事项。 注意事项 1.错误处理 始终检查QNetwo…...

Python 将Word, Excel, PDF和PPT文档转换为OFD格式

目录 使用工具 Python 将Word文档转换为OFD Python 将Excel文档转换为OFD Python 将PDF文档转换为OFD Python 将PPT文档转换为OFD OFD&#xff08;Open Fixed-layout Document&#xff09;是中国国家标准的电子文档格式&#xff0c;主要用于政府、金融等行业的正式文档传输…...

QD1-P21-P22 CSS 基础语法、注释、使用方法

本节学习&#xff1a;CSS 基础语法和注释&#xff0c;以及如何使用CSS定义的样式。 本节视频 https://www.bilibili.com/video/BV1n64y1U7oj?p21 CSS 基本语法 CSS&#xff08;层叠样式表&#xff09;的基本语法相对简单&#xff0c;由选择器和一组包含在花括号 {}​ 中的声…...

打破平台壁垒:Windows上安装APK文件的完整解决方案

打破平台壁垒&#xff1a;Windows上安装APK文件的完整解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想过在Windows电脑上直接运行安卓应用&#xff…...

【技术解析】基于主成分分析与神经网络的航空安全风险建模:从QAR数据预处理到实时预警仿真

1. 航空安全风险建模的技术背景 每次坐飞机时&#xff0c;你可能都好奇过&#xff1a;机长是如何确保飞行安全的&#xff1f;其实背后有一整套数据驱动的安全体系在支撑。QAR&#xff08;快速存取记录器&#xff09;就像飞机的"黑匣子"&#xff0c;记录了上百项飞行参…...

构建轻量级LLM工具集:模块化设计、多模型集成与本地化部署实践

1. 项目概述&#xff1a;一个面向日常的轻量级LLM工具集最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫“Daily-LLM”。光看名字&#xff0c;你可能会觉得这又是一个庞大的、需要海量算力才能跑起来的“大模型”项目。但点进去仔细研究后&#xff0c;我…...

openpilot自动驾驶系统深度解析:架构剖析与实战指南

openpilot自动驾驶系统深度解析&#xff1a;架构剖析与实战指南 【免费下载链接】openpilot openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300 supported cars. 项目地址: https://gitcode.com/GitHub_Trending/…...

中文长文本语音崩溃?ElevenLabs API超时/截断/静音突变?20年语音架构师紧急发布的6行容错重试+分段重对齐代码(已验证10万+字符稳定输出)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;中文长文本语音崩溃的根因诊断与现象复现 中文长文本语音合成&#xff08;TTS&#xff09;在处理超长段落&#xff08;如 >3000 字&#xff09;时频繁出现进程中断、内存溢出或静音输出&#xff0c;…...

智能体开发实战:从框架选型到部署优化的完整指南

1. 项目概述&#xff1a;一个为智能体开发者准备的“军火库”如果你正在或打算踏入智能体&#xff08;Agent&#xff09;开发这个领域&#xff0c;那么你很可能已经体会过那种“万事开头难”的迷茫。从选择哪个框架开始&#xff0c;到如何设计一个有效的智能体工作流&#xff0…...

Arm Neoverse CMN-700多芯片架构与一致性哈希解析

1. Arm Neoverse CMN-700多芯片架构解析在现代高性能计算领域&#xff0c;多芯片系统架构已成为突破单芯片性能瓶颈的关键技术路径。Arm Neoverse CMN-700作为第二代一致性网状网络控制器&#xff0c;其设计哲学体现在三个维度&#xff1a;首先是通过模块化设计实现计算单元的可…...

氛围驱动开发:数据化提升开发者效率与团队协作的实践指南

1. 项目概述&#xff1a;当开发节奏遇上“氛围感”最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“vibe-driven-dev”。光看名字&#xff0c;你可能会有点摸不着头脑——“氛围驱动开发”&#xff1f;这听起来不像是一个传统的技术框架或工具库。没错&#xff0c;它确实…...

如何让Photoshop图层批量导出速度提升3倍?这个开源脚本做到了!

如何让Photoshop图层批量导出速度提升3倍&#xff1f;这个开源脚本做到了&#xff01; 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Ado…...

Godot游戏引擎与强化学习结合:从零构建AI智能体的实战指南

1. 项目概述&#xff1a;当游戏开发遇上强化学习如果你是一名游戏开发者&#xff0c;或者对游戏AI的实现抱有浓厚兴趣&#xff0c;那么“edbeeching/godot_rl_agents”这个项目绝对值得你花时间深入研究。简单来说&#xff0c;这是一个将当下最热门的强化学习技术与免费、开源的…...