NLP自学笔记(三):提示学习(Prompt-learning)

目录

为什么要提示学习     

提示学习有什么用

提示学习

基本流程

提示设计(Prompt Design)

答案搜索(Answer Search)

答案映射(Answer Mapping)   

提示方法(Prompting Method)

预训练模型

提示工程(Prompt Engineering)

答案工程(Answer Engineering)

多提示学习(Multi-Prompt Learning)

基于提示的训练策略(Prompt-based Training Strategies)


为什么要提示学习     

   在传统的预训练-微调模型(Pre-trained and Fine-tune)中,通过在大规模无标记数据上预训练语言模型,然后在特定任务上进行微调。这种方法在许多任务上取得了成功,但也存在一些局限性:

  • 对标注数据的依赖。在微调过程中,通常需要大量标注数据,而获得高质量标注数据的成本高,且对于某些任务,标注数据可能会十分稀缺。
  • 任务特定性。传统方法需要为每一个任务设定特定的模型框架和训练流程。导致模型复用差,增加计算和存储成本。
  • 模型泛化能力有限。微调后的模型只在特定任务上表现好,在其他任务上表现差。微调过程中有可能过拟合到特定任务的标注数据上,从而丧失预训练模型中的通用知识。
  • 计算成本高。
  • 灾难性遗忘(Catastrophic Forgetting)。遗忘预训练阶段学到的通用知识。
  • 任务形式不统一。不同任务的形式和输入输出结构差异较大,导致模型难以统一处理。
  • 数据分布偏移问题。如果微调数据的分布与预训练数据差异较大,模型可能无法很好地适应新任务。

以上是预训练-微调模型的一些主要问题。

        为了充分利用预训练语言模型的强大能力和其通用性,并发掘预训练语言模型在少样本和零样本学习的潜力,同时,解决上述问题,我们要对模型使用提示学习。

提示学习有什么用

  • 少样本和零样本学习。提示学习可以通过设计提示模板,引导预训练模型完成任务。
  • 统一任务。提示学习通过设计提示模板,将多种语言任务统一为语言建模任务,从而实现任务的通用化,适应多种任务。
  • 可解释
  • 降低成本。提示学习不需要对预训练模型进行大规模微调也显著减少了对标注数据的依赖。

提示学习

基本流程

提示设计(Prompt Design)

        提示学习的核心是设计一个合适的提示模板(prompt template),将输入文本转换为一个包含空白或占位符的提示文本。提示模板通常包含两个部分:输入槽([X])用于插入输入文本,答案槽([Z])用于生成中间答案,最终映射到输出。

例如

输入:“I love this movie.”

提示模板:“[X] Overall, it was a [Z] movie.”

生成的提示文本:“I love this movie. Overall, it was a [Z] movie.”

不难发现,提示学习的核心和预训练过程中的掩码语言模型建模任务(MLM)几乎是一样的,这可能也是使提示学习能够不需要对预训练模型进行大规模调整和能取得较好效果的原因之一。

答案搜索(Answer Search)

        提示文本生成后,模型需要在一个预定义的答案空间(\texttt{Z})中搜索最合适的答案。形式化表示为:

\hat{z} = \underset{z\in Z}{search} \ P(f_{filled \ template}(x, z);\Theta )

答案映射(Answer Mapping)   

         在得到被答案槽中的词后,我们需要将生成的词进一步映射到最终输出。例如在情感分析中,我们得到的词是{“excellent”,“bad”},那么映射之后得到的将会是{“positive”,“negative”} 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值