提示学习 | Prompt-Tuning这么好用?
每天给你送来NLP技术干货!
干货
作者:十方
来自:炼丹笔记
使用prompts去调节预训练模型处理文本分类任务在小样本上已经取得了比直接finetuning模型更好的效果,prompt-tuning的核心思想就是嵌入一小段文本,比如对于文本分类任务,将其转变成填空任务,还有就是构建个映射器(verbalizer)可以在label和word之间相互映射,verbalizer是人工精妙设计的且用梯度下降学习的。论文提到verbalizer可能缺少覆盖度且引入很高的偏差和方差,所以论文提出引入额外知识到verbalizer里,构建一个Knowledgable Prompt-tuning(KPT)去提升效果。Finetuning虽然效果很好,但是也需要充足的样本去重新训练网络,在模型tuning领域,有很多prompts的研究在预训练目标和下游任务构建了桥梁。论文给了个很好的例子:
句子x: What's the relation between speed and acceleration?
category: SCIENCE
模板: A [MASK] question: x
预估结果基于[MASK]所填word的概率,如果[MASK]填science概率比较高,那verbalizer的作用就是把science映射到真正的类别SCIENCE上。verbalizer就是构建vocabulary和label之间的桥梁。
现存很多工作都是人工制定verbalizer的,人工指定verbalizer就有很多问题,比如上述例子只把science映射成SCIENCE类,就很多限制,因为physics和maths同样可以映射到SCIENCE,因此这种人工one-one映射限制了模型的收敛,同时预估也会有问题,也容易在verbalizer中引入偏差。还有很多工作尝试缓解人工verbalizer的缺陷,用梯度下降寻找最好的verbalizer,然而这样的方法很难推断science和physics之间的联系。如果我们能把{science, physics}->SCIENCE这种信息直接注入到verbalizer,预估的效果就会显著提升,这就是KPT做的事。
KPT概述
KPT有3步
construction stage
用external KBs为每个label创建一系列的label words。值得注意的是扩展label words不仅仅是找同义词,而是从各种粒度视角。
refinement stage
用PLM本身去给扩展的label words降噪。对于zero-shot的效果,该文提出了contextualized calibration去删除一些先验概率较低的words。对于few-shot learning,该文又提出了一个可学习的权重用于verbalizer的降噪。
utilization stage
最后用个average loss function去优化expanded verbalizers,把对一系列label words的打分映射到真正标签的打分上。
整体框架如下图:
该文的重点就是构建一个优秀的融合各种外在知识的verbalizer。verbalizer就是把vocabulary中的少数词的概率,映射到label的概率,label words的集合是V,label空间是Y,Vy表示标签y的label words集合,是V的子集,最终预估y的概率就是下式,g就是把label words的概率转成label的概率:
KPT Method
基于上下文预估masked的word并不是一个单选问题,是没有标准答案的,所以verbalizer必须有两个特性,广覆盖和少主观偏差。幸运的是external structured knowledge在主题分类和情感分类会同时满足这两个特性。对于主题分类而言,核心就是要从各个角度找到与topic相关的label words,论文选了个知识图谱作为外部信息(external KB),该图谱可以用来衡量label words和topic直接的相关性,用此选出与topic最相关的label words集合,如下表所示:
尽管用了个知识图谱构建了一个verbalizer,但是这个verbalizer是充满噪声的,因为PLM可能根本不认可,所以需要refinement的过程。对于zero-shot learning,有3个问题需要解决。首先就是OOV问题,PLM没见过KB推荐的词咋办呢?这些词可能有很多类目的信息,处理这个问题,可以简单的把没见过的词mask后预估应该填的词的平均概率,作为这个词的概率。第二个问题是处理一些长尾词汇,PLM预估长尾词汇的概率往往是不准确的。该文提出用contextualized calibration去删除一些先验概率较低的words,具体是我们可以计算label words的概率期望:
我们从训练集采样一批样本然后mask掉word v并近似计算其期望:
如果这个值小于一个阈值就删除。
第三个问题就是有些label words和其他相比,很难被预估个比较高的score,所以KB中的label words的概率需要被修正,用下公式:
对于Few-shot learning,处理起来就相对简单了,给每个label words使用一个可学习的wv,最终weight归一化后如下:
最后就是优化的目标了,一种是averge的方式,一种是加权,如下所示:
实验
实验效果如图所示:
参考文献
1 KnowLedgeble Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification
https://arxiv.org/pdf/2108.02035.pdf
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注呦
整理不易,还望给个在看!
提示学习 | Prompt-Tuning这么好用?相关推荐
- 广告行业中那些趣事系列59:详解当前大火的提示学习prompt learning
导读:本文是"数据拾光者"专栏的第五十九篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践.本篇主要从理论到实践介绍了当前超火的提示学习Prompt Learning,对 ...
- 提升学习 Prompt 总结
NLP现有的四个阶段: 完全有监督机器学习 完全有监督深度学习 预训练:预训练 -> 微调 -> 预测 提示学习:预训练 -> 提示 -> 预测 阶段1,word的本质是特征 ...
- prompt learning 提示学习初步心得及示例 代码
先看下简单的情感分类示例 : 基于prompt learning的情感分类示例代码_znsoft的博客-CSDN博客 NLP 目前为止经历了四个阶段: 1. 完全监督机器学习 2. 完全监督深度神经网 ...
- 【ICLR 2023】Diffusion Models扩散模型和Prompt Learning提示学习:prompt-to-prompt
Diffusion Models专栏文章汇总:入门与实战 前言:今年prompt learning提示学习和diffusion models扩散模型实在是太火了,最新的ICLR 2023的一项工作把两 ...
- 直播活动丨BMMeetup第1期:大模型Prompt Tuning技术,8场学术报告和Poster提前下载...
「Big Model Meetup」系列活动是由智源研究院悟道团队.青源会.清华大学计算机科学与技术系博硕论坛.中国中文信息学会青年工作委员会共同组织,智源社区提供社区支持,PaperWeekly提供 ...
- 线下活动丨Big Model Meetup 第1期:大模型Prompt Tuning技术,8场学术报告和Poster展示...
「Big Model Meetup」系列活动是由智源研究院悟道团队.青源会.清华大学计算机科学与技术系博硕论坛.中国中文信息学会青年工作委员会共同组织,智源社区提供社区支持,PaperWeekly提供 ...
- CPT:刷爆少样本REC任务!清华刘知远团队提出跨模态预训练Prompt Tuning
关注公众号,发现CV技术之美 本文分享论文『CPT: Colorful Prompt Tuning for Pre-trained Vision-Language Models』,由清华刘知远团队提出 ...
- 清华刘知远团队巨作!Pre-trained Prompt Tuning框架,让超大模型调参变简单
点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 机器之心报道 来自清华大学的刘知远.黄民烈等研究者提出了一个名为「PPT」的新框架.PPT=Pre-trained Prompt T ...
- 【NLP】五万字综述!Prompt Tuning:深度解读一种新的微调范式
作者 | 王嘉宁 整理 | NewBeeNLP https://wjn1996.blog.csdn.net/article/details/120607050 这绝对是我看过最全面细致的Prompt ...
- 《CPT COLORFUL PROMPT TUNING FOR PRE-TRAINED》 论文笔记
文章目录 摘要 1. NTRODUCTION 2 PRELIMINARY 3. CROSS-MODAL P ROMPT TUNING (CPT) 3.1 OVERVIEW 3.2 VISUAL SUB ...
最新文章
- LeetCode实战:二叉树的最大深度
- ubuntu18.04.4 录制麦克风音频
- 元宇宙的“42条共识”
- Devexpress Xtraform 资源文件 汉化
- Spark RDD-行动算子
- java打包没有src_maven 打包时,src/main/java目录下的xml等资源文件没有打包进去的问题...
- Linux基本命令 (一)
- FreeRTOS如何结束和重新启动调度程序
- CVPR 2020 Workshop on Continual learning in Computer Vision 征稿
- Flink 合流水位线图解
- Ubuntu18.04安装配置Qt5.15
- paip.超实用 360浏览器最近频繁奔溃解决流程.
- Qt的project文件的设置相关
- 机动车驾驶证考场叫号和车牌识别
- Spring boot的定时任务调度
- MATLAB优化工具箱—Optimization Toolbox™
- c++动态存储空间分配
- java反射 enum参数_CookBook/3-Java反射.md at master · Byron4j/CookBook · GitHub
- 进军IT与安全行业:推荐学习路线图
- 引擎系列学习【一】Color Model(颜色模型)
热门文章
- 记录几种常用编码方式:BASE64、MD5
- 201671030116 宋菲菲 实验十四 团队项目评审课程学习总结
- 【eclipse】Multiple annotations found at this line:——解决方法
- Software Defined Networking(Week 2, part 2)
- ReflectionZ_测试_01
- 一个DataTable赋值给另一个DataTable的常用方法
- 2. 通用基础技术框架搭建
- C# Windows服务自动安装与注册
- JavaScript中函数式编程的原理
- Hyperledger Fabric 实战(十): Fabric node SDK 样例 - 投票DAPP