使用prompts去调节预训练模型处理文本分类任务在小样本上已经取得了比直接finetuning模型更好的效果,prompt-tuning的核心思想就是嵌入一小段文本,比如对于文本分类任务,将其转变成填空任务,还有就是构建个映射器(verbalizer)可以在label和word之间相互映射,verbalizer是人工精妙设计的且用梯度下降学习的。论文提到verbalizer可能缺少覆盖度且引入很高的偏差和方差,所以论文提出引入额外知识到verbalizer里,构建一个Knowledgable Prompt-tuning(KPT)去提升效果。Finetuning虽然效果很好,但是也需要充足的样本去重新训练网络,在模型tuning领域,有很多prompts的研究在预训练目标和下游任务构建了桥梁。论文给了个很好的例子:

句子: 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
  2. Prompt-Tuning这么好用?

Prompt-Tuning这么好用?相关推荐

  1. 直播活动丨BMMeetup第1期:大模型Prompt Tuning技术,8场学术报告和Poster提前下载...

    「Big Model Meetup」系列活动是由智源研究院悟道团队.青源会.清华大学计算机科学与技术系博硕论坛.中国中文信息学会青年工作委员会共同组织,智源社区提供社区支持,PaperWeekly提供 ...

  2. 线下活动丨Big Model Meetup 第1期:大模型Prompt Tuning技术,8场学术报告和Poster展示...

    「Big Model Meetup」系列活动是由智源研究院悟道团队.青源会.清华大学计算机科学与技术系博硕论坛.中国中文信息学会青年工作委员会共同组织,智源社区提供社区支持,PaperWeekly提供 ...

  3. 清华大学刘知远组:基于Prompt Tuning对低维本征任务子空间进行探索

    ©作者 | 曾伟豪 学校 | 北京邮电大学 研究方向 | 对话摘要生成 论文标题: Exploring Low-dimensional Intrinsic Task Subspace via Prom ...

  4. CPT:刷爆少样本REC任务!清华刘知远团队提出跨模态预训练Prompt Tuning

    关注公众号,发现CV技术之美 本文分享论文『CPT: Colorful Prompt Tuning for Pre-trained Vision-Language Models』,由清华刘知远团队提出 ...

  5. 清华刘知远团队巨作!Pre-trained Prompt Tuning框架,让超大模型调参变简单

    点击 机器学习算法与Python学习 ,选择加星标 精彩内容不迷路 机器之心报道 来自清华大学的刘知远.黄民烈等研究者提出了一个名为「PPT」的新框架.PPT=Pre-trained Prompt T ...

  6. 【NLP】五万字综述!Prompt Tuning:深度解读一种新的微调范式

    作者 | 王嘉宁 整理 | NewBeeNLP https://wjn1996.blog.csdn.net/article/details/120607050 这绝对是我看过最全面细致的Prompt ...

  7. prompt tuning

    Prompt-Tuning--深度解读一种新的微调范式 prompt tuning 整体解读 连续pattern构建论文解读整理 prompt tuning 整体解读 1级:Prompt是一种对任务的 ...

  8. P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks论文笔记

    论文链接:P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks ...

  9. The Power of Scale for Parameter-Efficient Prompt Tuning及prefix tuning与prompt tuning的区别

    1.本文贡献 (1)提出prompt tuning,并在大型语言模型领域展示其与model tuning(fine tuning)的竞争力: (2)减少了许多设计选择,显示质量和鲁棒性随着规模的增加而 ...

  10. 多模态Prompt Tuning,你到底行不行?

    作者丨霜清老人@知乎 编辑丨极市平台 https://zhuanlan.zhihu.com/p/550544232 一次关于将prompt tuning应用到生成式多模态预训练模型的尝试. 最近两个月 ...

最新文章

  1. 大型分布式网站术语分析 15 条,你知道几条?
  2. 【详解,小白也能看懂】javaweb-Servlet中, OutputStream与PrintWriter的使用和区别
  3. jquery1.9学习笔记 之选择器(基本元素四)
  4. Java Mission Control 5.2终于来了! 欢迎7u40!
  5. c语言掌握常用函数,c语言一些常用函数.pdf
  6. android右上角设置按钮,Android:如何在右上角的按钮角添加三角形
  7. 简单易用线上引流测试工具:GoReplay
  8. Objective-C 常用结构体
  9. 为资产分类定义折旧范围_SAP使用权资产配置浅析
  10. ACM竞赛入门,从零开始
  11. Android统计图控件之圆饼图
  12. HTML动态分页函数
  13. 数据库——T-SQL方式创建数据库
  14. 2022苹果AppStore应用商店上传与APP上传流程必看(基础篇)
  15. Js-Html转文本
  16. QML之gradient
  17. ECSHOP全部品牌页实现分页换页功能方法
  18. Cura参数设置-避免支撑拆除带来的困难
  19. 砍价群怎么做引流?如何运用砍价群引流?砍价群引流技巧
  20. ping 计算机名判断机器是否在线,通过ping命令检测主机的存活性

热门文章

  1. JavaScript eval() 函数的用法
  2. webpack入门(四)——webpack loader 和plugin
  3. mybatis知识点
  4. BootStrap学习(6)_模态框
  5. 高质量程序设计指南c++/c语言(17)--函数
  6. 细胞培养中出现黑胶虫污染处理方法
  7. 计算机视觉与深度学习 | 基于Faster R-CNN的目标检测(深度学习Matlab代码)
  8. 安装 | Android studio连接不上真机解决办法(电脑安装虚拟机不成功的情况下)
  9. Python练习 | Python中的strip()函数使用???(求解决方法)
  10. 苹果笔记本电脑好用吗_笔记本电脑市场格局重塑 可能比我们想象的来得更迅猛一些...