【NLP论文】Prompt Learning提示学习相关论文

1. Exploiting Cloze Questions for Few Shot Text Classifification and Natural Language Inference

论文:https://arxiv.org/pdf/2001.07676v3.pdf

代码:https://github.com/timoschick/pet

摘要

监督学习依赖于大量的有标签数据,而大多数NLP任务的有标签数据都是有限的,这使得小样本学习变得十分重要。论文提出了一种半监督的训练过程,制定了一些模板(大多是对任务的文本描述)将有标签数据的输入设计成完形填空的形式,使用预训练语言模型预测填空内容,给大量的无监督数据学习到软标签,打上软标签的数据作为监督数据再进行下游任务的训练。

方法介绍

记原始输入为x=(s_1,...,s_k)(其中k是序列的个数,如输入是一个文本对,k=2),模板pattern是一个函数,它将输入映射为只含一个mask token的文本P(x)

再定义一个verbalizer为一个函数v:L\to V, 它将每个真实标签(y\in L)映射为模型词表里的一个单词

我们将一对(P, v)作为pattern-verbalizer pair (PVP)

举例: 

x=("Mia likes pie", "Mia hates pie"); P(x)="Mia likes pie? [mask], Mia hates pie."

真实标签y_0=contradiction,y_1=agreement;v_{y_0}="Yes",v_{y_1}="No",这里的也就是预训练语言模型对[mask]可能的预测结果。

数据集

- 有标签的训练集T,预训练语言模型M在这个训练集(输入转换为完形填空形式)上预测mask token,也就是学习软标签

- 无标签数据集D(比T大得多),训练好的模型给这个数据集打软标签,打上软标签后的数据集作为下游任务的训练集

PVP训练和预测

给定一个PVP p=(P,v)和一个输入x, 模型M给标签l预测的score s_p和所有标签的概率分布如下:

模型结合交叉熵损失和MLM损失作为最终损失:

多个PVP的结合

该方法的一个难点,由于验证集数量较少,难以决定哪个模板的表现较好。基于此,论文提出了一种结合多个PVP的策略。对于每个模板p在训练集T上训练一个模型M_p,每个M_p给无标签数据集的一个数据x预测一个分数s_p,而x的最终分数是所有模型分数的加权平均:

这里w(p)是每个模型分数的权重,论文给出了两种实现方法:

- uniform: 对于每个p都有w(p)=1

- weighted: w(p)是在训练之前 (zero-shot),模型使用模板p在训练集上得到的准确率

打上软标签后的数据集D作为训练数据(T_C)来微调一个分类器C(对于分类任务),作为任务的最终目标模型

Iterative PET (iPET)

由于不同模板的表现有所差异,如某个模板相比其他模板表现较差,上述方法将这些模板独立开来,而无法互相学习,可能会造成较多的错误标注的软标签。iPET就是为了解决这个问题,中心思想是在逐次增多的数据集上迭代模型。具体过程如下图所示:

模型M_i^j(对应训练集为T_i^j)中i指的是第i个PVP (p_i),j指的是迭代次数,第0次迭代模型在有标签训练集T上训练,之后每次迭代,增加的数据从打上软标签的数据里随机抽取,使得训练集大小都是前一次迭代训练集大小的d倍(保持训练集中标签分布不变);每次迭代都从现有的n个模型中随机选取\lambda(n-1)个(\lambda\in (0,1])做结合,经过k次迭代后产生的软标签数据集作为最终分类器的训练集。

2. Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classifification

论文:https://arxiv.org/pdf/2108.02035.pdf

摘要

提示学习的基本思想是在输入文本中插入一些模版(如完形填空的形式),将下游的分类任务转换为mask language modeling任务,预测模板中被mask的tokens。其中的关键过程是如何将预测出的文本(作为软标签)映射为分类任务的真实标签,这个映射过程称为verbalizer。一般通过手动设计或梯度下降法优化得到的verbalizer覆盖面不够广,可能带来偏差和结果上的巨大差异。基于此,论文提出在verbalizer中整合额外的知识库信息扩充软标签,并在预测之前优化软标签来提升提示学习的表现。实验证明基于知识的提示学习(KPT: knowledgealbe prompt-tuning)在小样本和零样本的分类任务上都取得了较好的表现。

方法介绍

M为一个预训练语言模型, \mathbf{x}=(x_0,x_1,x_2,...x_n)是输入序列, \mathbf{x_p}是加入模板后的输入序列 (带[MASK] token),对于一个二分类问题,真实标签y_1=SCIENCE, y_2=SPORTS, 每个标签的概率计算为

其中v是预训练语言模型M词表中的词,V是所有软标签的集合,V_y是其中映射为真实标签y的软标签,函数g将软标签的概率映射为真实标签的概率。

KPT方法主要分为一下3个过程:1. 利用知识库生成多个软标签;2. 进一步提升软标签的质量;3. 平均或加权平均多个软标签的结果做最终预测。接下来对这几个过程做详细介绍。

Verbalizer Construction

软标签需要有两个性质:覆盖面广和少的主观偏见。而结构化知识可以同时满足这两个条件。

对于主题分类,希望捕捉到和主题相关的软标签,论文采用知识图谱Related Words作为额外的知识库G。图谱中的edge由软标签和主题之间的相关性分数来表示。对于主题v(图谱中的一个anchor node),将相关性分数大于某个阈值的词作为该主题词的相关词 (图谱中node v的neighborhood nodes N_G(v)),得到每个真实标签y对应的软标签V_y=N_G(v)\cup \{v\}。

对于二分类的情感分类,目标是得到尽可能多的表达正面和负面情绪的词。论文采用了前人总结的sentiment dictionary作为知识库。

Verbalizer Refinement

上一步通过知识库得到了较全面的软标签,接下来要对这些词作进一步的筛选,保留高质量的词,去除不太相关的词。对于零样本和小样本有不同的优化方法。

- 对于零样本

有三个问题需要解决:

1) 一些软标签不在模型的词表里(out-of-vocabulary),但这些词仍能提供一些信息,所以不能完全去除。对于这些词,对它们tokenize后得到的每个token的概率取平均作为它们本身的概率。

2) 一些知识库中的词在模型词表中比较少见,所以模型对这些词的预测可能不准确。论文采用软标签词的contextualized先验来移除这些词。记语料中输入句子\mathbf{x}的分布为D,对于加入模板后的输入\mathbf{x_p},软标签v在[MASK]位置的概率为P_M([MASK]=v|\mathbf{x_p})。取所有句子预测概率的期望作为软标签v出现在[MASK]位置的先验分布:

可以通过一个小的无标签数据集\tilde{C}(从训练集中抽样,移除它们的标签)可以得到以上期望的近似值 (假设\{\mathbf{x}\in \tilde{C}\}有均匀先验分布)。这样,我们可以移除先验概率低于某阈值的软标签词。

3) 第三个问题是软标签先验概率的巨大差异,导致很多软标签相对其他的更不可能被预测到。论文采用软标签的contextualized先验对预测结果的分布作一个校准, 这个方法称为contextualized calibration (CC):

- 对于小样本

首先移除那些可以被拆分成多个tokens的软标签,因为它们在目标函数中更难处理。为了处理那些有噪声的软标签,给每个软标签v一个可学习的权重w_v(初始化为0),被归一化为

直觉上来说,在训练过程中,这些noisy软标签会学习到一个小的权重。

Verbalizer Utilization

最后一步是怎么把优化后的软标签映射为对应的真实标签,也就是映射函数g

对于零样本,可以假设一个类的每个软标签对预测真实标签的贡献是相等的。所以,可以采用V_y上预测得分的平均值作为标签y的预测得分。

对于小样本,采用软标签分数的加权平均作为最终的预测得分,权重为\alpha_i。

可以通过对预测概率应用交叉熵损失来进行分类模型的最终优化。

3. GPT Understands, Too

论文:https://arxiv.org/pdf/2103.10385.pdf

代码:https://github.com/THUDM/P-tuning

摘要

传统的通过微调的GPTs在natural language under�standing (NLU)任务上相对BERTs型的预训练语言模型来说表现不好。虽然GPT-3利用手动设计的prompt在小样本和零样本学习上取得了一定成果,但是要找到一个表现好的prompt需要巨大量的验证集,也常常会在测试集出现过拟合。也有研究尝试自动寻找离散的prompts,但神经网络本质上是连续的,离散的prompts往往不会是最优解。论文提出了P-tuning方法,利用可训练的连续的prompt embeddings,通过梯度下降优化连续的prompts。使用了P-tuning的GPTs模型在NLU任务上达到了可比拟BERT模型的表现,也对BERT模型在小样本和监督学习上的表现有所提升。

方法介绍

P-tuning方法将预训练语言模型的input embeddings替换成它的可微的output embeddings.

给定预训练语言模型M(词表为V), 一个离散的输入序列\mathbf{x_{1:n}}=\{x_0,x_1,...x_n\}经过模型的embedding层后为\{\mathbf{e}(x_0),\mathbf{e}(x_1),...,\mathbf{e}(x_n)\}。提示学习利用模板将原始输入、目标输出和prompts都整合到一起,如:

模板T= "The capital of Britain is [MASK]." 其中

prompt P= "The capital of ... is ..." ([P_i]是模板里第i个prompt token); \mathbf{x}= "Britain"; \mathbf{y}= "[MASK]"

对于T=\{[P_{0:i}],\mathbf{x},[P_{i+1:m}],\mathbf{y}\}, 传统的离散prompts(事先定义好的)会被映射为\{\mathbf{e}([P_{0:i}]),\mathbf
{e}(\mathbf{x}),\mathbf{e}([P_{i+1:m}]),\mathbf{e}(\mathbf{y})\}

而P-tuning将[P_i]视为伪tokens(可以是词表里的[unused] token),并将模板映射为

h_i是可训练的embeddings。利用下游任务的损失函数,可以优化这些h_i, 也就是说连续的prompts不一定是真实存在的词,而是通过训练,得到的最优token embedding.

论文提出利用一个prompt编码器,将h_i作为一个输入序列,通过训练编码器来更新这些伪tokens的embeddings

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351

推荐阅读更多精彩内容