学习笔记【Prompt Learning进展】

Prompt Learning进展

1. Background

什么是prompt learning:Prompt Learning-使用模板激发语言模型潜能

1.1 Transformer/Self-supervision

  • 在transformer兴起之前主要是有supervised learning;
  • 在transformer发展起来之后逐渐变成pre-train+fine-tuning这样的范式。
  • 而Prompt Learning也是这个时期的另一种范式:pre-train+prompt

1.2 Language Modal

  • 掩码语言模型:BERT。输出为掩码的初始单词条件概率
    学习笔记【Prompt Learning进展】_第1张图片
    使用:pre-train + fine-tuning
  • 自回归语言模型:GPT。输出为下一个单词的条件概率,然后递归生成单词。
    学习笔记【Prompt Learning进展】_第2张图片
    GPT提出可以使用prompt而不用fine-tuning模型参数,直接做下游任务。

1.3 introduction

  • 具体而言可以针对任务设计一些模板,将输入带入模板。例如在影评任务中,可以将模板设计为:[input sentence],the movie is [Y],而Y就是输入对应的输出
  • 优势:模型参数是固定的。(1)计算代价低,模型参数是固定的,不需要微调。因为训练和下游任务的训练方式是一样的,都是“填空”。(2)存储代价低。fine-tuning对应的每个任务都需要存储一份参数。适用于小样本

2. Methods

2.1 training

  • 模板也可以通过模型学习而非人工设计。具体做法为:在模型的输入之前加入一些可训练的embedding。在接下游任务时,只有新加入的embedding和任务头的参数需要训练,其他部分都是冻结的。
    学习笔记【Prompt Learning进展】_第3张图片
  • 在此基础上的改进:在每一层都加入可学习的embedding,而不是简单地利用上一层的参数,增强了模型的拟合能力

2. 2 why work

essence

让下游任务的数据分布向训练数据进行迁移。prompt的目的是让训练的绝大多数参数固定,所以能改变的只有输入数据,对输入数据进行变换使得其分布向训练数据靠拢,可以从统计上实现更好的效果。

  • More idea:现阶段只是对输入进行了简单的添加一些embedding,可以考虑对输入进行更复杂的操作如线性变换、加上一个向量等
    学习笔记【Prompt Learning进展】_第4张图片
why work—attention guidance
  • 在prompt中加入的embedding其实是在transformer中加入了注意力指导机制,可以指导tokens对某个任务关注哪些信息。例如影评的情感任务,加入的prompt会更接近与情感相关的词,这样在做点积的时候,那些与情感相关的词就会获得更多的注意力。这样看来,这种prompt embedding在一定程度上提供了一种描述任务特性的一种作用,从而去指导transformer内部注意力分布的改变。
    其实我觉得,就是让下游任务与预训练任务更接近,从而大大提高训练参数的使用效率和准确率
when work

根据上述分析,我们可以推测对于那些具有全局特征的任务,prompt learning会有较大的作用;而那些强调输入本身token与token之间交互的任务不work。

  • 全局:例如情感分类任务具有全局特性,因此仅仅需要标注一些正/负向词就很容易区分影评的正负性。词性标注任务也具有全局特性,只需要用名词/形容词去描述整个任务就可以很容易地提取特征。
  • 局部交互:抽取式问答这种任务不容易work。难以用全局特征描述相应问题需要关注的位置

3. Relation to CV

目前尚不成熟

  • NLP 领域的prompt发展得并不成熟。添加embedding的位置和长度并没有系统的统一的研究结果等
  • CV领域的BERT发展也并不成熟。BERT系列的研究还处于刚起步的阶段,而prompt需要大量的公开的预训练模型
  • 但是prompt在多模态领域已经有了相关研究,例如在多模态问答中的CPT用色块指导问答情景;根据文字生成图片中CogView使用prompt进行风格控制
  • 总结:nlp中的prompt还需要改进;cv中的prompt发展还需要预训练模型的大量研究和公开;多模态中的prompt有研究潜力

学习参考视频Prompt Learning

你可能感兴趣的:(学习笔记,学习,机器学习,深度学习)