论文笔记:Prompt-Based Meta-Learning For Few-shot Text Classification

news2024/10/17 12:18:33

论文来源:EMNLP 2022

论文地址:2022.emnlp-main.87.pdf (aclanthology.org)

代码地址:GitHub - MGHZHANG/PBML

GB/T 7714

Zhang H, Zhang X, Huang H, et al. Prompt-Based Meta-Learning For Few-shot Text Classification[C]//Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. 2022: 1342-1357.


摘要

        元学习方法在各种小样本场景下取得了令人满意的结果,但是元学习方法通常需要大量的数据来构建许多用于元训练的小样本任务,这在实际小样本场景中是不切实际的。提示学习弥合了预训练任务和下游任务之间的差距,是另一种高效的小样本学习器。本文在结构上紧密结合了这两种小样本学习方法,并提出一种基于提示的元学习模型(PBML),通过添加提示机制来克服上述元学习问题。PBML为基础学习器分配标签词学习,为元学习器分配模板学习

引言

关于元学习和提示学习方面的内容在此不再赘述,感兴趣者可以阅读相关论文。

        PBML在提示方面,采用软策略,即使用连续可微的标签词和模板;元学习器主要学习软模板嵌入和基于MLM的编码器。两种方法相结合的核心思想是将模板和编码器学习分配给元学习,将标签词学习分配给基础学习器。

        由于不同的任务可能涉及不同的类别,标签词需要考虑特定的类别,因此标签词的学习要交给基础学习器进行任务特定的适应。相应地,通过提示方法在[MASK]位置嵌入的输出反映了模型对文本的理解。各种任务应该共享这种自然语言理解(NLU)的能力,这就是为什么模板和编码器的学习被分配给元学习者的原因。

前期知识

小样本学习略

元学习的目的是通过不同的元任务训练元学习器,使得元学习器可以在小的支持集上快速获得特定任务的基础学习器。形式上,可以考虑元训练和元测试两个阶段。

提示学习略

方法

        PBML框架如Figure 2 所示。PBML由3部分组成:首先,元学习器对实例进行编码,并为每个实例获得[MASK]标记的嵌入;其次,探索了一个外部知识图谱用于连续标签词初始化;然后基础学习器将使用支持集实例的预测嵌入来更新标签词嵌入。查询集的推理是基于自适应的标签词嵌入,并使用查询集上的损失进行元优化

 元编码器和模板设计

        给定语句x,首先将模板链接到x,并获得x_{prompt},以主题分类为例,提示文本可以表示为:

x_{prompt}=x The topic is [MASK].

 然后,MLM作为元编码器,将x_{prompt}作为输入,输出h,即[MASK]的隐藏状态作为预测答案表示。

       本文采用了一种软提示策略,使用可学习的嵌入向量替代离散的模板标记,并使用它们的词嵌入来进行向量初始化。离散模板和软模板之间的比较如Figure 6和7所示。这种软策略允许对模板进行连续优化,而不是受离散标记的限制。将编码器参数表示为\theta_e,软模板嵌入表示为\theta _s,则元编码器被表述为:

h=M\left ( x_{prompt;\theta _e,\theta _s} \right )

  

         软提示方法首先将离散的token-ids从原始文本映射到单词嵌入中,然后将可学习的向量之间连接到这些单词嵌入中。模型冻结了MLM的词嵌入层,并且只能从编码器层更新软模板嵌入和参数。

 标签词初始化

        虽然直接将类名作为标签词最为直观,但是类名的语义有时过于概念化,没有足够的语义信息。本文引入了外部知识图谱Related Words,用于从类名为每个类扩展丰富的标签词。具体而言,从知识图谱中探索以获得top N_{KG}=20类名相关单词作为候选词。获得的候选词集\left \{ w_k^i \right \}^{N_{KG}}_{k=1}包括同义词和以类名高度相关的单词。例如,与“Politics”相关的候选词有“policy”、“government”、“low”和“diplomatic”等。然后,通过平均候选词嵌入\left \{ w_k^i \right \}^{N_{KG}}_{k=1},将候选词合并到每个类的一个原型中。最后,得到了N个合成的连续标签词嵌入W^{\left ( 0 \right )}\in \mathbb{R}^{N\times D},即包含初始N个标签词嵌入的矩阵。其中W^{\left ( 0 \right )}表示N个类的大致语义,并将在下一个模板中进一步调整。

 标签词快速调优

        基础元学习器将使用支持集实例来连续优化初始化的标签词嵌入W^{\left ( 0 \right )}。本文的目标是通过合并来自支持集的上下文信息,使标签词嵌入更具有鉴别性。

        具体来说,本文强加了两个需要通过快速调优来实现的目标。(a)对于来自类C_i的支持集实例s_i^jh_i^j是[MASK]位置上的隐藏状态。期望h_i^jw_iC_i的标签词嵌入)之间的相似度高于h_i^j与其他标签词之间的相似度。(b)对于每个类C_i,其标签词w_i与属于C_i的支持实例之间的相似度应该大于w_i与其他类实例之间的相似度。为实现这两个目标,定义如下两个对比损失:

 为了提高自适应的鲁棒性,通过系数\alpha _i^j增加了实例级注意力机制,该注意力得分用于衡量每个支持实例的信息程度(包含噪声数据等)。\alpha _i^j的定义如下:其中\gamma为温度超参数,设为3

 如果h_i^j与初始标签词嵌入越相似,则认为其信息量越大,\alpha _i^j的关注度越高,相比之下,在两个损失中为噪声实例分配了很少的关注,产生更小的梯度步长和更健壮的适应轨迹。

        在每次快速调优的迭代中,应用的梯度下降如下:其中,\beta _{task}为学习率,L^{att}=L_{s2w}^{att}+L_{w2s}^{att},快速调优将迭代T步,并输出W^{(T)}

 查询推理

         通过计算查询嵌入h_q和任务适应的标签词嵌入W^{(T)}之间的内积来预测查询实例的标签,查询实例属于类C_i的概率为:

 然后使用argmax函数进行预测。

 元优化

         在元训练过程中,从元训练集中随机构建了许多小样本元任务。基础元学习器的每一轮学习任务特定的标签词嵌入W^{(T)},然后从任务中元学习模板和编码器,考虑到查询集Q上的损失,更新元学习器M。元学习器的优化规则可以表述为:

 其中,\beta _{meta}是元参数\theta =\left ( \theta _e,\theta _s \right )的元学习率,L是P\left ( C_i|q \right )上的交叉熵损失。

将提示调优与元学习结合起来,既可以学习任务特定的知识,也可以学习任务不可知的知识。具体来说,(1)元学习器以较低的速度\beta _{meta}为软模板嵌入和编码器找到合适的参数;(2)基础学习器以更快的速度\beta _{task}学习连续标签词,以快速适应。

实验

整体及消融实验

 鲁棒性验证

 训练数据影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2209583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

selenium:操作滚动条的方法(8)

selenium支持几种操作滚动条的方法,主要介绍如下: 使用ActionChains 类模拟鼠标滚轮操作 使用函数ActionChains.send_keys发送按键Keys.PAGE_DOWN往下滑动页面,发送按键Keys.PAGE_UP往上滑动页面。 from selenium import webdriver from se…

使用js和canvas实现简单的网页贪吃蛇小游戏

玩法介绍 点击开始游戏后&#xff0c;使用键盘上的↑↓←→控制移动&#xff0c;吃到食物增加长度&#xff0c;碰到墙壁或碰到自身就游戏结束 代码实现 代码比较简单&#xff0c;直接阅读注释即可&#xff0c;复制即用 <!DOCTYPE html> <html lang"en"…

windows环境,同一个服务器安装多个相同版本的mysql数据库

windows环境&#xff0c;同一个服务器安装多个相同版本的mysql数据库 1、第一个数据库 1.下载 mysql官网MySQL :: Download MySQL Community Server (Archived Versions)下载对应版本的zip文件 2.解压 解压zip文件夹 3.配置my.ini 打开my.ini配置文件&#xff0c;如果没…

Vistual Studio 使用

下载安装 安装管理工具 在安装管理工具里勾选如下内容 快捷键 F5&#xff1a;运行或调试F9&#xff1a;设置或删除断点F10&#xff1a;单步执行&#xff08;Step Over&#xff09;F11&#xff1a;进入函数内部&#xff08;Step Into&#xff09;ShiftF11&#xff1a;退出当…

智能伺服,精准控制:匠芯创科技M6800系列方案助力工业升级

匠芯创科技低压伺服硬件方案 随着工业4.0的推进和智能制造的兴起&#xff0c;工业机器人和电子制造设备经历了迅猛发展。低压伺服系统作为关键动力与控制组件&#xff0c;提高了生产效率和精度&#xff0c;促进制造工艺的自动化和智能化&#xff0c;在新兴产业中的应用日益增多…

智能的精髓在于避免单纯的计算

一、智能的精髓在于避免计算 智能通常被定义为一种能够适应环境、解决问题以及学习新知识的能力。计算在这个过程中扮演着重要角色&#xff0c;但并非唯一的因素。智能的真正精髓在于如何有效地避免不必要的计算&#xff0c;通过简化决策过程来提高效率。计算往往涉及大量的数…

智慧油田智能安全管控方案-AI助力油气田安全管控升级

在科技日新月异的今天&#xff0c;万物纵横科技凭借其前沿的智慧油田智能安全管控方案&#xff0c;正引领着油气田行业向智能化、高效化转型。该方案深度融合了AI视频智能分析与AIoT&#xff08;物联网人工智能&#xff09;技术&#xff0c;为采油场、油气场的设备运维、环境监…

腾讯音乐:从 Elasticsearch 到 Apache Doris 内容库升级,统一搜索分析引擎,成本直降 80%

导读&#xff1a; 为满足更严苛数据分析的需求&#xff0c;腾讯音乐借助 Apache Doris 替代了 Elasticsearch 集群&#xff0c;统一了内容库数据平台的内容搜索和分析引擎。并基于 Doris 倒排索引和全文检索的能力&#xff0c;支持了复杂的自定义标签计算&#xff0c;实现秒级查…

如何利用Fiddler进行抓包并自动化

首先一般使用Fiddler都是对手机模拟器进行抓包 接下来以MUMU模拟器为例 首先打开Fiddler-->tool-->options-->connection 将要打上的勾都打上&#xff0c;可以看到代理的端口是8888 打开HTTPS选项 把要打的勾打上&#xff0c;这样子才可以接收到HTTPS的包 MUMU打开…

im架构分享 即时通讯架构 即时消息 全球架构师峰会im分享 im分布式 企业级im架构 分布式im 即时通讯im架构

1. 之前收藏的淘宝李厉岷老师在全球架构师峰会上做的im技术分享&#xff0c;贴出来备注下。 2. 李老师infoQ主页链接&#xff1a; 李历岷 3. 文章&#xff1a; 电商IM消息系统架构演进_ArchSummit_李历岷_InfoQ精选文章 4. ppt下载地址 &#xff08;注&#xff1a;同期还有…

I2C(IIC)协议讲解

目录 1.I2C框架介绍1.1 I2C硬件框架1.2 I2C软件框架1.3 对于Linux 2. I2C协议2.1 传输数据的格式2.2 时序图2.3 协议细节 专栏 1.I2C框架介绍 1.1 I2C硬件框架 I2C&#xff08;Inter-Integrated Circuit&#xff09;是一种用于短距离通信的总线协议&#xff0c;它允许多个设备…

PyCharm+ssh跳板机+服务器

PyCharmssh跳板机服务器 文章目录 PyCharmssh跳板机服务器准备工作登录服务器查看CUDA查看conda创建虚拟环境 前言配置ssh免密登录设置ssh隧道配置pycharm测试第一种第二种 服务器空闲查询传输数据 准备工作 登录服务器 直接ssh连接就行,在终端(命令行)直接输入下面命令: 跳…

数学建模算法与应用 第13章 数字图像处理

目录 13.1 数字图像概述 13.2 图像的基本空域处理 Matlab代码示例&#xff1a;均值滤波与锐化滤波 13.3 图像的频域处理 Matlab代码示例&#xff1a;傅里叶变换与频域滤波 13.4 图像的边缘检测 Matlab代码示例&#xff1a;Sobel与Canny边缘检测 13.5 图像的形态学处理 …

恒创科技:香港服务器无法建立 SSL 连接如何解决?

在当今的数字时代&#xff0c;安全通信对于在线业务、网站和应用程序至关重要。建立安全通信的方法之一是通过 SSL(安全套接字层)协议。但当无法在用户的设备和托管您网站的香港服务器之间建立安全连接时&#xff0c;就会发生 SSL 连接错误。这通常是由于SSL 证书无效或您的设备…

【Adobe全家桶】 Adobe 全家桶 AE AU PR ME WIN MAC 各个版本

话不多说今天直接分享 Adobe 全家桶&#xff0c;2017-2024版本 包含 window版本 和MAC版本 Adobe Photoshop 2017-2023 CS5-6 mac版本下载地址 WIN版本下载地址 Adobe After Effects 2017-2024 CS5-6 WIN版本下载地址 mac版本下载地址 Adobe Media Encoder 2017-2024 WIN版…

VSCode 使用 EmmyLua 对lua进行调试

时间&#xff1a;2024年10月 其他&#xff1a;win10&#xff0c;EmmyLua v0.8.20 参考&#xff1a;https://blog.csdn.net/ShenHaoDeHao/article/details/140268354 有几个概念搞清楚就好理解了。一般开发中&#xff0c;我们编写的lua文件由宿主程序的来解析、执行&#xff1…

您是否也在寻找免费的 PDF 编辑器工具?10个备选PDF 编辑器工具

您是否也在寻找免费的 PDF 编辑器工具&#xff1f; 如果是&#xff0c;那么您在互联网上处于最佳位置&#xff01; 本指南中提到的所有 10 大免费 PDF 编辑器工具都易于使用&#xff0c;可以允许您添加文本、更改图像、添加图形、填写表格、添加签名等等。 因此&#xff0c;…

科技赋能,数字化项目管理发展新方向

项目管理作为推动业务发展的重要手段&#xff0c;正经历着深刻的变革。科技的赋能为数字化项目管理带来了全新的发展机遇&#xff0c;使其朝着更加高效、智能和协同的方向迈进。 一、项目管理发展的现状 当前&#xff0c;项目管理在各个领域得到了广泛应用&#xff0c;但也面临…

后端——eclipse实现前端后端的交互(2)

1.新建前后端文件 新建HTML文件和后端交互Servlet文件。新建文件的地址也有所要求&#xff0c;Servlet文件要在JavaResources下的src中。HTML文件在WebContent下 2. 引入jqury文件 后端与前端的互传需要通过jQuery的ajax,所以要传入jQuery的包到eclipse中&#xff0c;传入位置…

STM32 GPIO输出输入配置:【图文讲解】

1&#xff1a;输出配置 STM32 GPIO输出有四种配置&#xff1a;开漏输出\推挽输出\复用开漏\复用推挽 1&#xff1a;开漏输出&#xff1a; 输出端相当于三极管的集电极。要得到高电平状态需要上拉电阻才行&#xff0c;适合于做电流型的驱动&#xff0c;其吸收电流的能力相对强…