论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
随着GPT-3模型的提出,现在的预训练模型形成了一个全新的无监督范式——引入task description (demostration)。本文,我们引入Pattern Exploiting Training (PET) 方法,将输入样本转换为一种完形填空(cloze-style)的类型文本帮助语言模型理解任务,并提出一种迭代式训练的无监督PET方法——iPET。
简要信息:
序号 | 属性 | 值 |
---|---|---|
1 | 模型名称 | PET |
2 | 所属领域 | 自然语言处理;文本分类 |
3 | 研究内容 | 预训练语言模型;Prompt框架 |
4 | 核心内容 | Prompt-based Fine-tuning |
5 | GitHub源码 | https://github.com/timoschick/pet |
6 | 论文PDF | https://aclanthology.org/2021.eacl-main.20.pdf |
核心要点:
- Template构建:人工构建;
- Verbalizer的构建:人工构建;
- 添加MLM辅助损失避免灾难性遗忘;
- 提出PET,以及迭代式iPET实现无监督学习;
一、动机
- 由于大量的language、domain和task以及人工标注数据的成本,在NLP的实际使用中,通常只有少量带标签的示例,所以few-shot是值得研究的部分;
- 如果依然使用传统的监督学习方法,效果会非常差,因为当仅有很少的样本时,仅有的文本无法让模型知道要具体如何进行分类,而如果添加一些文本解释(textual explanation),则可以帮助模型理解这个task是什么。目前可以在包括GPT、BERT、RoBERT等任何一个语言模型上进行扩展;
- 本文我们提出PET模型,一种半监督学习方法使用自然语言模式(natural language pattern)将输入的文本重构为完形填空模式。PET主要包括三个步骤:
- 对于每个pattern,分别使用一个语言模型(PLM)在小规模的数据集上进行微调;
- 集成所有的语言模型并为unlabeled数据集上进行标注,标注结果为soft-label(即每个label的概率分布);
- 使用带有soft-label的数据,使用标准的classifier进行分类。
二、方法
2.1 参数说明
假设 MMM 表示一个预训练语言模型,词汇表记做 VVV,其中包含一个[MASK](原文作者用下划线表示),LLL 表示目标任务 AAA 的所有标签集合。
任务 AAA 的输入记做 X=(s1,s2,...,sk)X=(s_1, s_2, ..., s_k)X=(s1,s2,...,sk) 。其中 sis_isi 表示一个句子。如果 k=2k=2k=2,则输入的 XXX 是两个句子,通常在自然语言推理或文本蕴含任务中使用。
定义一个函数 PPP,其将 XXX 作为输入,输出 P(X)P(X)P(X) 表示将 XXX 转化为带有[MASK]的phrase;
定义一个映射: v:L→Vv:L\rightarrow Vv:L→V 其表示将每个标签映射到具体的词。例如在情感分析中,我们可以为positive标签寻找一个词great作为替代。
最终 (P,v)(P, v)(P,v) 作为pattern-verbalizer-pair(PVP)。
2.2 PET的实现原理
给定一个sentence pair任务,其判断两个句子是否矛盾。输入则为两个句子,如图:
pattern映射为带有[MASK]的模板:
其原始的标签是entailment和contradiction,根据verbalizer vvv 可以设计映射关系为{entailment:yes、contradiction:no}\{entailment:yes、contradiction:no\}{entailment:yes、contradiction:no},因此模型可以对[MASK]的部分输出预测yes或no的概率。
2.3 PET的训练与推理
定义一个 M(w∣Z)M(w|Z)M(w∣Z) 表示给定带有一个[MASK]标记的序列 ZZZ,语言模型可以在该[MASK]位置填入词 w∈Lw\in Lw∈L 的非归一化得分,其次定义概率分布:
sp(l∣x)=M(v(l)∣P(x))s_{\mathbf{p}}(l|\mathbf{x}) = M(v(l)|P(\mathbf{x}))sp(l∣x)=M(v(l)∣P(x))
qp(l∣x)=esp(l∣x)∑l′∈Lesp(l∥x)q_{\mathbf{p}}(l|\mathbf{x}) = \frac{e^{s_{\mathbf{p}}(l|\mathbf{x})}}{\sum_{l'\in{\mathcal{L}}^{e^{s_{\mathbf{p}}(l\|\mathbf{x})}}}}qp(l∣x)=∑l′∈Lesp(l∥x)esp(l∣x)
使用cross-entropy进行训练。作者发现,由于这是在非常少的样本集合 T\mathcal{T}T 上进行训练,可能会导致灾难性遗忘,因此作者引入预训练模型的loss作为辅助损失(Auxiliary MLM loss),两个损失通过加权方式结合:
L=(1−α)⋅LCE+α⋅LMLML = (1-\alpha)\cdot L_{CE}+\alpha\cdot L_{MLM}L=(1−α)⋅LCE+α⋅LMLM
作者根据先前的工作,取了一个经验值 α=10−4\alpha=10^{-4}α=10−4。
2.4 模型训练
(1)首先在小样本数据集 T\mathcal{T}T 对一组预训练模型进行微调(上一节);
(2)其次将每一个预训练模型进行集成、对于每个预训练模型,分别对未标注的数据集 D\mathcal{D}D 进行标注,此时获得的是soft-label,即给定一个输入 XXX,标签 l∈Vl\in Vl∈V 的概率得分:
得到新的数据集 Tc\mathcal{T}_cTc;
(3)在 Tc\mathcal{T}_cTc 使用标准的微调方法进行微调。
(2)->(3)的过程比较类似knowledge distillation过程
2.5 Iterative PET
作者发现,如果只进行一次微调+生成,往往得到的新的数据集会有很多错误的数据,因此扩展提出iPET模型,即添加了迭代。iPET的核心思想是:
The core idea of iPET is to train several generations of models on datasets of increasing size.
iPET的大致流程如上图所示,首先随机从集成的预训练模型集合中抽取部分预训练模型,并在未标注数据集 D\mathcal{D}D 上标注部分数据,并扩增到 T\mathcal{T}T,其次再根据扩增后的 T\mathcal{T}T 分别微调预训练模型。上述过程一直迭代多次。
(1)假设初始化有 nnn 个预训练模型 M0=M10,...,Mn0\mathcal{M}^0 = {M_1^0, ... , M_n^0}M0=M10,...,Mn0 。在第 jjj 轮迭代,则先随机从上一轮迭代获得的预训练模型集合中抽取 λ⋅(n−1)\lambda\cdot(n-1)λ⋅(n−1) 个模型,记做:
(2)其次使用该预训练集合,生成一个标注数据集:
由上式可知,每次从每个类 lll 中挑选得分最高的样本,以避免引入大量的错误标注数据。其中 sN(l∣X)s_{\mathcal{N}}(l|X)sN(l∣X) 表示得分。
(3)合并原始的小样本标注数据和新生成的数据:
最后,iPET迭代 kkk 次后,将最后一次训练好的预训练模型集合 Mk\mathcal{M}^kMk 用来标注数据,并生成 TC\mathcal{T}_CTC。
2.6 推荐使用的PVP
(1)情感分析类型任务(例如五分类的Yelp)
任务描述:给定一个句子,判断其情感类型,例如电影评论等;
- pattern:
- verbalizer:
(2)主题分类型任务(例如AGNews、Yahoo)
给定一个句子,判断其主题类型,例如新闻分类等;
- pattern:
- verbalizer:可以直接将label class的词作为label word。
(3)句子对类型任务(例如MNLI)
给定两个句子,判断两个句子的相关性(MNLI等为判断前后句子是否有逻辑关系)
- pattern:
- verbalizer:
三、实验
挑选部分实验分析:
(1)训练集数量与效果提升的变化关系:
说明了PET在样本数量少的时候,基于Prompt的方法提升很明显,但是在数量较多时,相比传统方法只有小量提升。
(2)在所有数据集上的实验结果:
不论样本数量有多少,基于迭代的iPET模型均可以达到SOTA。(supervised表示直接使用RoBERTa-large传统的方法进行微调)。
论文解读:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference相关推荐
- 【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文信息 名称 内容 论文标题 Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inf ...
- 【论文分享】PET:Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
论文链接:https://arxiv.org/pdf/2001.07676.pdf 时间:2021年1月 特点:多模板 目录 背景 模型 PVP定义 组合PVP P: V: 结构 实验 背景 在小样本 ...
- 文献阅读——Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
附注 这篇文章中在最终提到模型的时候使用了一个 "知识蒸馏" 的点,这点需要注意.如果不懂的话,请参考知识蒸馏基本原理 其实,这里的知识蒸馏主要是在预训练模型的Fine-tunin ...
- 论文解读: Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
前言:在自然语言研究领域,某些自然语言处理任务可以利用"预训练模型+任务描述"方式的无监督学习来解决.然而,已有的"预训练模型+任务描述"的无监督学习方法不如有 ...
- Exploiting Cloze Questions for Few Shot Text Classification and NaturalLanguage Inference翻译
Abstract 一些NLP任务可以以完全无监督的方式解决,方法是用自然语言提供预先训练过的带有"任务描述"的语言模型(例如,Radford等人,2019).虽然这种方法的性能不如 ...
- EMNLP2020 | 近期必读Natural Language Inference精选论文
**AMiner平台**由清华大学计算机系研发,拥有我国完全自主知识产权.平台包含了超过2.3亿学术论文/专利和1.36亿学者的科技图谱,提供学者评价.专家发现.智能指派.学术地图等科技情报专业化服务 ...
- 【论文模型讲解】CLIP(Learning Transferable Visual Models From Natural Language Supervision)
文章目录 前言 0 摘要 1 Introduction and Motivating Work 2 Approach 2.0 模型整体结构 2.1 数据集 2.2 选择一种高效的预训练方法 2.3 模 ...
- 论文笔记翻译——Enhanced LSTM for Natural Language Inference(ESIM)
文章目录 0.前言 1. 模型结构 1.1 input encoding 1.2 local inference modeling 1.3 inference composition 2. 模型实现 ...
- 论文阅读笔记:Graph Convolutional Networks for Text Classification
Abstract 文本分类作为一个经典的自然语言处理任务,已经有很多利用卷积神经网络进行文本分类的研究,但是利用图卷积神经网络进行研究的仍然较少. 本文基于单词共现和文档单词间的关系构建一个text ...
最新文章
- Anaconda多环境多版本python配置指导
- 【最全解析】1050 螺旋矩阵 (25分)
- Docker搭建NSQ实时分布式消息集群
- TCP/IP 通信示例
- 关于pytorch里面的图像变换
- caj文件浏览器_史上最全:提高律师工作效率必不可少的27款浏览器插件
- WEB应用程序--概述
- html5鼠标悬停遮罩,js实现鼠标移动到图片产生遮罩效果
- 【14浙江省赛 B ZOJ 3777】Problem Arrangement 【状压dp】 【CCPC-Wannafly Winter Camp Day2 K Sticks】
- HTML入门学习教程:简单网页制作
- 网络口碑营销的优势和实施步骤
- 半监督学习之伪标签(pseudo label,entropy minimization,self-training)
- Android开发一个美食app
- 不同系统下的shell的不同_不同地区不同气候条件下杉木成材时间的区别
- 今日头条推广精品栏助力场景破壁
- nikebot nike机器人 如何做一个nikebot nike监控怎么能不延迟 nike如何过盾 bot 机器人 snkrs
- 人工智能并非万能,智慧停车怕难解决城市停车难题?
- ED2K的资源链接如何进行下载?
- 【VMware】安装虚拟机、Linux操作系统
- 【Shell】ln: Too many levels of symbolic links