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

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

论文来源: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}学习连续标签词,以快速适应。

实验

整体及消融实验

 鲁棒性验证

 训练数据影响

相关文章:

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

论文来源: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]//Proceedi…...

光耦知识分享 | AC晶体管光耦在照明控制领域的应用与选型推荐

随着智能建筑与智能家居技术的迅猛崛起,照明控制技术亦随之日新月异。传统的照明控制手段已难以适应现代化、智能化的新需求。在这样的技术革新浪潮中,AC晶体管光耦以其卓越的性能和可靠性,成为了照明控制领域中不可或缺的一环。AC晶体管光耦…...

RBTree(红黑树)的介绍和实现

欢迎来到杀马特的主页:羑悻的小杀马特.-CSDN博客 目录 ​编辑 一红黑树介绍: 1.1红黑树概念: 1.2红黑树遵循的原则: 1.3红黑树效率分析: 二.红黑树的实现: 2.1红黑树结构: 2.2红黑树节点…...

信息安全数学基础(30)指数及其基本性质

一、指数的定义 数学定义: 指数是幂运算a3表示3个a相乘。 经济学定义: 广义地讲,任何两个数值对比形成的相对数都可以称为指数。狭义地讲,指数是用于测定多个项目在不同场合下综合变动的一种特殊相对数。 二、指数的基本性质…...

Android开发首页底部tab切换图标有动画效果

Android开发首页底部tab切换图标有动画效果 主页tab切换很正常,但往往加上写动画更好看 一、思路: 用属性动画,并且事先准备多张图片,用于切换后播放动画 二、效果图: 单纯图看不出来,看下视频效果 An…...

Web前端高级工程师培训:异步处理专题

异步处理专题 课前准备 工具 编辑器 VSCode浏览器 Chorme 前置知识 ES6基础语法 课堂主题 同步及异步概念方块运动的实现promise的用法then的返还值Async 函数 和 await 课堂目标 理解并学会使用promise使用方式以及async 、await的使用 同步异步概念 js是单线程 单线程…...

ESP32-C3实现热点并在浏览器中输入域名访问网页

源代码 #include <WiFi.h> // 引入 WiFi 库&#xff0c;用于处理网络连接 #include <WebServer.h> // 引入 WebServer 库&#xff0c;用于创建 HTTP 服务器 #include <DNSServer.h> // 引入 DNSServer 库&#xff0c;用于处理 DNS 请…...

基于Python的自然语言处理系列(32):spaCy属性扩展

1. 介绍 在 spaCy 中,自定义扩展属性让我们能够为 Doc、Token 和 Span 对象添加元数据。通过这些扩展属性,开发者可以根据需要存储额外的上下文信息,或者动态计算属性值。 自定义属性通过点下划线(dot-underscore)属性访问,例如 token._.is_color。这种命名方式确保这些属…...

STM32 输入捕获模式详解:PWM 输入捕获与 PWI 模式(续篇)

在前两篇文章中&#xff0c;我们探讨了 STM32 输入捕获的基础和 PWI 模式的工作原理&#xff0c;特别是定时器的两个通道如何协同工作以捕获 PWM 信号。本文将进一步结合 STM32 标准库函数中的 TIM_PWMIConfig()&#xff0c;来讲解如何通过库函数配置定时器实现 PWI 模式。 我…...

【C++】set/map(重点解析)

目录 一、关联式容器和序列式容器 二、C中的键值对——pair 1.概念 2.定义 3.构造pair 三.set 1.construct构造 2.iterator迭代器 3.insert插入 4.erase删除 5.find查找 6.lower_bound和upper_bound 7.count 四.multiset 五.map 1.insert 2.operator[] 一、…...

【算法篇】动态规划类(1)(笔记)

目录 一、理论基础 1. 大纲 2. 动态规划的解题步骤 二、LeetCode 题目 1. 斐波那契数 2. 爬楼梯 3. 使用最小花费爬楼梯 4. 不同路径 5. 不同路径 II 6. 整数拆分 7. 不同的二叉搜索树 一、理论基础 1. 大纲 动态规划&#xff0c;英文&#xff1a;Dynamic Programm…...

mysql学习教程,从入门到精通,SQL 约束(Constraints)(41)

在数据库设计中&#xff0c;约束&#xff08;Constraints&#xff09;用于确保数据的准确性和完整性。它们通过限制可以插入到数据库表中的数据类型来防止无效数据。SQL 中有几种常见的约束类型&#xff0c;包括主键约束&#xff08;Primary Key&#xff09;、外键约束&#xf…...

使用CSS3与JavaScript实现炫酷的3D旋转魔方及九宫格交换动效

文章目录 前言一、项目需求背景二、CSS3 3D基础知识介绍2.1 什么是CSS3 3D&#xff1f;2.2 主要使用的CSS属性 三、使用HTML和CSS搭建魔方结构四、让魔方动起来&#xff1a;CSS3动画五、九宫格数字交换的JavaScript实现5.1 九宫格布局5.2 随机交换数字 六、随机交换与相邻格子的…...

springboot项目通过maven的profile功能实现通过不同文件夹的方式来组织不同环境配置文件

写在前面 本文看下springboot项目如何通过文件夹的方式来组织不同环境配置文件。 1&#xff1a;正文 一般的我们写springboot项目时配置文件是这个样子的&#xff1a; appliction.yaml --> 通过spring.profiles.activexxx来激活某个指定后缀的配置文件 application-evn1…...

GAN(Generative Adversarial Nets)

GAN(Generative Adversarial Nets) 引言 GAN由Ian J. Goodfellow等人提出&#xff0c;是Ian J. Goodfellow的代表作之一&#xff0c;他还出版了大家耳熟能详的花书&#xff08;Deep Learning深度学习&#xff09;&#xff0c;GAN主要的思想是同时训练两个模型&#xff0c;生成…...

linux下使用mpi求自然数和

搭建MPI并行计算环境&#xff0c;编写 MPI程序&#xff0c;求和 1 23....1 0000。 要求: 1.使用100个进程; 2.进程0计算1 2...100, 进程1计算101 102... 200, ..... 进程99计算9901 9902... 10000; 3.调用计时函数,分别输出每个进程的计算时间; 4.需使用MPI集群通信函数和同…...

WebGl学习使用attribute变量绘制一个水平移动的点

在WebGL编程中&#xff0c;attribute变量是一种特殊类型的变量&#xff0c;用于从客户端传递数据到顶点着色器。这些数据通常包括顶点的位置、颜色、纹理坐标等&#xff0c;它们是与每个顶点直接相关的信息。attribute变量在顶点着色器中声明&#xff0c;并且对于每个顶点来说都…...

机器学习四大框架详解及实战应用:PyTorch、TensorFlow、Keras、Scikit-learn

目录 框架概述PyTorch&#xff1a;灵活性与研究首选TensorFlow&#xff1a;谷歌加持的强大生态系统Keras&#xff1a;简洁明了的高层 APIScikit-learn&#xff1a;传统机器学习的必备工具实战案例 图像分类实战自然语言处理实战回归问题实战 各框架的对比总结选择合适的框架 1…...

linux源码安装slurm以及mung和openssl

一、源码安装munge 1、编译安装munge &#xff08;1&#xff09;下载munge地址&#xff1a;https://github.com/dun/munge/releases &#xff08;2&#xff09;解压编译安装&#xff1a; 1 2 3 4 5 6 7 8 创建/data目录 复制文件munge-0.5.15.tar.xz 到/data目录下 tar -Jx…...

分享蓝牙耳机A2DP音频卡顿原因及解决思路

背景 最近一直在更新博客&#xff0c;我觉得写博客有三个好处&#xff0c;一是很多东西时间久了就会忘&#xff0c;记下来方便自己以后回忆和总结&#xff0c;二是记下来可以加深自己对知识的理解&#xff0c;三是可以知识分享&#xff0c;方便他人。 言归正传&#xff0c;今天…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

多元隐函数 偏导公式

我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式&#xff0c;给定一个隐函数关系&#xff1a; F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 &#x1f9e0; 目标&#xff1a; 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z​、 …...

基于Python的气象数据分析及可视化研究

目录 一.&#x1f981;前言二.&#x1f981;开源代码与组件使用情况说明三.&#x1f981;核心功能1. ✅算法设计2. ✅PyEcharts库3. ✅Flask框架4. ✅爬虫5. ✅部署项目 四.&#x1f981;演示效果1. 管理员模块1.1 用户管理 2. 用户模块2.1 登录系统2.2 查看实时数据2.3 查看天…...