首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

论文解读:NSP-BERT: A Prompt-based Zero-Shot Learner Through an Original Pre-training Task——Next Sentence

  • 25-03-02 14:01
  • 2093
  • 13874
blog.csdn.net

论文解读:NSP-BERT: A Prompt-based Zero-Shot Learner Through an Original Pre-training Task——Next Sentence Prediction

  先前的一些基于Prompt的方法都是建立在Masked Language Modeling(MLM)任务上,即将下游任务转换为完形填空型任务。本文则换一种角度,将Prompt用在了被大多数语言模型摒弃掉的Next Sentence Prediction(NSP)上。

简要信息:

序号属性值
1模型名称NSP-BERT
2发表位置ArXiv 2021
3所属领域自然语言处理、预训练语言模型
4研究内容Prompt-tuning
5核心内容NSP, Prompt-tuning, Few-shot
6GitHub源码https://github.com/namisan/mt-dnn
7论文PDFhttps://arxiv.org/pdf/2109.03564

一、动机:

  现有的工作都关注基于GPT的 left-to-right 或BERT的Masked Language Model(MLM)的prompt方法(即基于token-level的prompt);本文则使用被RoBERTa等摒弃掉的NSP任务来实现,并应用在Zero-shot场景。

二、贡献:

  • 提出NSP-BERT,基于sentence-level的pre-training任务实现prompt-learning;
  • 提出两个可选择的label/answer映射方法,在sentence-pair上提升效果;

三、Prompt

  目前Prompt-tuning可以分为两种类型,分别是:
Token-level Prompt-learning
  给定一个句子,添加一个带有[MASK]的prompt模板,设计verbalizer来获得[MASK]预测的词以及对应的标签;因此可以将一些任务转换为完形填空式任务。
在这里插入图片描述
Sentence-level Prompt-learning
  将NLP转换为文本蕴含任务,例如:
在这里插入图片描述
换句话说,可以将原始的文本、设计的Template以及候选的答案一起拼接起来后,构造为NSP的任务数据,并让模型来判断候选答案是否符合上下文语义。

四、NSP-BERT

  NSP可以用于多种不同的任务,所有任务均可以转换为NSP的格式,具体情况如下图所示:
在这里插入图片描述
MLM与NSP的对比如下图所示:
在这里插入图片描述

  • 基于MLM的prompt-tuning旨在添加一个额外的模板,并让模型预测[MASK]对应的预测结果,并映射到相应的类别上,从而只需要利用预训练好的MLM head,避免引入新的参数;
  • 基于NSP的prompt-tuning则是完全利用预训练好的NSP head,将所有任务转换为类似自然语言推理(NLI)的模式,并让模型判断候选的答案是否正确。

  具体地说,在预训练过程中,NSP的目标始终是一个二分类任务,即在NSP头部([CLS])添加一个分类器:

q M ( n k ∣ x i ) = exp ⁡ s ( n k ∣ x i ( 1 ) , x i ( 2 ) ) ∑ exp ⁡ s ( n k ∣ x i ( 1 ) , x i ( 2 ) ) q_{\mathcal{M}}(n_k|\mathbf{x}_i)=\frac{\exp s(n_k|\mathbf{x}_i^{(1)}, \mathbf{x}_i^{(2)})}{\sum\exp s(n_k|\mathbf{x}_i^{(1)}, \mathbf{x}_i^{(2)})} qM​(nk​∣xi​)=∑exps(nk​∣xi(1)​,xi(2)​)exps(nk​∣xi(1)​,xi(2)​)​

其中 n k ∈ { I s N e x t , I s N o t N e x t } n_k\in\{IsNext, IsNotNext\} nk​∈{IsNext,IsNotNext}, s ( ) s() s() 表示NSP head的相似度计算函数

NSP-BERT可以用于多个任务

single-sentence task

  输入原始句子,以及对应的一个模板:
在这里插入图片描述
  预测的概率则为
在这里插入图片描述

sentence pair task

  输入两个文本:
在这里插入图片描述
  在NSP头部输出结果:
在这里插入图片描述

cloze-style task

  输入一个文本,每个标签 j j j 都对应一个带有[MASK]的模板 p i ( j ) p_i^{(j)} pi(j)​:

在这里插入图片描述
  输出isNext的概率分布:
在这里插入图片描述

备注:在cloze-style时,[MASK]部分(文本为[BLANK])与候选文本的位置应该相等,即soft-position:
在这里插入图片描述

Word Sense Disambiguation

  认为,NLI要提升推理能力,需要避免指代问题,提出two-stage prompt:
在这里插入图片描述

Answer Mapping

  如何将预测的答案映射到对应的标签上呢?因为NSP只是一个二分类任务(IsNext)。提出两种方法:

  • candidates-contrast:如果某个task包含多个候选标签,则为每个标签设计一个prompt模板,然后通过NSP预测这个标签与原文匹配的关系概率;对所有的标签,取概率最大的
    在这里插入图片描述
    在这里插入图片描述

  • samples-contrast
    对于一些没有候选标签的数据,则基于样本和排序完成预测对应的标签:
    在这里插入图片描述

注:本文转载自blog.csdn.net的华师数据学院·王嘉宁的文章"https://blog.csdn.net/qq_36426650/article/details/122255324"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top