深入理解深度学习——BERT派生模型:扩大掩码范围SpanBERT

news2024/11/14 11:05:06

分类目录:《深入理解深度学习》总目录


MLM训练方法是BERT拥有自然语言理解能力的核心训练方法。然而,BERT在预训练过程中挑选掩码词的概率是独立计算的,即BERT掩码词的粒度是最小的,可能是单个词,也可能是一个词的部分子词。SpanBERT的核心思想是,扩大掩码范围会让模型有更好的性能。具体而言,SpanBERT的主要改进如下:

  • 提出了Span Mask方案,扩大掩码词的粒度,即不再对单个词(子词)做掩码操作,而是对局部多个连续词做掩码操作。
  • 将Span Boundary Objective(SBO)作为训练方法,利用掩码词附近的词信息,预测某个掩码词的内容,加强了局部上下文的信息利用,以此增强BERT在语义理解上的性能。
  • 舍弃NSP训练方法,以获得更好的长文本语义理解能力。

SpanBERT没有修改BERT的结构,也没有使用更多的语料,仅仅通过设计更合理的预训练任务和目标,使模型有更好的性能表现,思路非常独特。

算法细节

掩码词的选择

相比于BERT随机挑选15%的词做掩码操作,SpanBERT在实施多个词的掩码操作时设计得更为精细。实施多词掩码操作的关键有二:

  • 连续掩码词的个数。
  • 连续掩码词的起点。

SpanBERT利用几何分布来决定连续掩码词的个数,计算公式如下:
I = Geo ( p ) I=\text{Geo}(p) I=Geo(p)

其中, Geo \text{Geo} Geo为几何分布采样函数, p p p为几何分布超参数,取值为0.2, l l l为连续掩码词的个数,限定在 [ 1 , 10 ] [1, 10] [1,10]。几何分布采样的概率分布如下图所示。 l l l取值为 k k k的概率计算公式如下:
P ( I = k ) = p ( 1 − p ) k − 1 ( 1 − p ) 10 P(I=k)=\frac{p(1-p)^{k-1}}{(1-p)^{10}} P(I=k)=(1p)10p(1p)k1
几何分布采样的概率分布
几何分布采样决定了连续掩码词的个数。值得注意的是,掩码词的个数计算的是完整词的个数,并非子词的个数(通过分词工具,一些非常见词会被分割成若干子词),而掩码词的起点是随机选取的,唯一的要求是掩码词的起点必须是一个独立的词,或者是被分为若干子词的第一个子词(即掩码必须覆盖完整的词,以确保语义连贯性)。

SBO训练目标

除了以BERT原有的预测掩码词的交叉熵作为训练目标,对连续掩码词引入掩码边界词作为辅助训练目标,可以让模型具有更好的性能。具体而言,在训练时,取掩码词前后边界的两个词,且这两个词并不在掩码范围内,通过这两个词提取得到的特征向量,与掩码词的位置编码向量联合预测最终的词,即SBO训练方法。

如下图所示, x 5 , x 6 , x 7 , x 8 x_5, x_6, x_7, x_8 x5,x6,x7,x8是掩码词对应的特征向量,以预测向量 x 7 x_7 x7对应的词为例,该词被正确预测为“football”的概率为:
L ( football ) = L MLM ( football ) + L SBO ( football ) = − log ⁡ P ( football ∣ x 7 ) − log ⁡ P ( football ∣ x 5 , x 9 , p 3 ) \begin{aligned} L(\text{football}) &= L_\text{MLM}(\text{football})+L_\text{SBO}(\text{football}) \\ &= -\log P(\text{football}|x_7) - \log P(\text{football}|x_5, x_9, p_3) \end{aligned} L(football)=LMLM(football)+LSBO(football)=logP(footballx7)logP(footballx5,x9,p3)

其中, L MLM L_\text{MLM} LMLM的计算方法与BERT的MLM计算方法一致, L SBO L_\text{SBO} LSBO则是通过两层全连接网络计算得到的, p 3 p_3 p3表示待预测词在掩码词中的位置编码。
SBO训练方法
综上所述,SpanBERT的主要改进点在于优化了掩码策略,引入SBO训练方法。在绝大部分下游任务中,SpanBERT的表现均优于BERT。它在抽取式问答任务上的表现尤其优异,证明改进后的掩码策略和训练模式与此类任务强相关。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[4] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[5] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[6] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[7] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/677658.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【连载】经历了十多年的电子开发,回过头来跟大家一起,看穿单片机!

「经历了十多年的单片机开发,站在我现在的高度来回看单片机,可谓望眼欲穿。」 下面振南要介绍的是“单片机的体系架构模型”,是超脱于任何一种具体型号的单片机芯片之上的(我感觉我要成仙),它具有很强的普适…

【Django】图形验证码显示及验证

图形验证码显示及验证 开发项目时,在登陆或者注册功能中为防止脚本恶意破坏系统,故而添加图形验证码。 文章目录 图形验证码显示及验证1 安装配置2 验证码显示及正确性验证3 效果显示 1 安装配置 安装第三方库 pip install django-simple-captcha配置s…

SpringBoot+Vue 的在线考试系统(附源码,数据库,教程)

文章目录 源码下载地址第一章第二章.主要技术第三章第四章 系统设计4.1功能结构4.2 数据库设计4.2.1 数据库E/R图4.2.2 数据库表 第五章 系统功能实现5.1系统登录注册5.2管理员功能模块 源码下载地址 源码下载地址 源码下载地址https://download.csdn.net/download/u013749113…

[python][yolov8][深度学习]将yolov8实例分割成一个类几句代码完成实例分割任务

大家都知道,yolov8目前支持图像分类、目标检测、姿态估计、实例分割,而实例分割一般都是用命令行去预测图片,这个如果要引入pyqt5或着嵌入其他python模块有点麻烦,因此需要封装一个类去预测图像,这样我们可以轻松完成各种实例分割…

Redis实战案例4-缓存更新策略

1. 缓存更新策略 缓存中的数据一致性问题(数据库更新数据,而Redis存的是旧数据) 内存淘汰策略:当内存很充足时,很长时间无法淘汰数据,所以很难控制淘汰,一致性差; 超时剔除&#xff…

【教学类-36】Midjounery生成的四张图片切片成四张小图

作品展示: 把一张正方形图片的四个等大小图切割成四张图片 背景需求 最近在学习ChatGPT的绘画(midjounery AI艺术) 我想给中班孩子找卡通动物图片(黑白边框),打印下来,孩子们练习描边、涂色…

C++11-右值引用与移动语义

右值引用与移动语义 一,右值引用概念右值引用简单例子左值引用与右值引用的比较 二,右值引用的使用场景函数对于其内部局部对象的传值返回insert,push等接口左值引用与右值引用总结 三,完美转发四,新的类功能默认成员函…

【数据分享】1929-2022年全球站点的逐月平均海平面压力数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 对于具体到监测站点的气象数据,之前我们分享过1929-2022年全球气象…

机器学习小结之决策树

文章目录 前言一、介绍1.1 原理1.2 流程1.3 信息熵,信息增益和基尼不纯度 二、构建决策树2.1 特征选择2.2 决策树生成2.3 剪枝 三、经典算法3.1 ID33.2 C4.53.3 CART 四、案例4.1 Iris 数据集 鸢尾花 分类4.2 基于决策树的英雄联盟游戏胜负预测 参考 前言 决策树(D…

GDPU 模电(电工) 作业答案

🍑 配套资源 📚 电子技术基础:电路与模拟电子[第2版] 提取码: 345r 第2章 电阻电路分析 第4章 正弦稳态电路分析 第6章 半导体器件 第7章 放大电路分析 第8章 负反馈放大电路 第9章 集成运算放大器及其应用 第11章 直流稳压电源 &#x1f6…

深度学习(10)之Roboflow 使用详解:数据集标注、训练 及 下载

Roboflow 使用详解:数据集标注、训练 及 下载 本文在 用YOLOv8推荐的Roboflow工具来训练自己的数据集 的基础上进行了修改 介绍如何从网站下载开源数据集详细介绍如何借助 roboflow 标注数据集并自动转换为可直接训练的数据格式 获取开源数据集 跳转找到开源分页…

浅谈Spring Cloud Gateway

网关:用户和微服务的桥梁 网关的核心是一组过滤器,按照先后顺序执行过滤操作。 Spring Cloud Gateway是基于webFlux框架实现,而webFlux框架底层则使用了高性能的Reactor模式通信框架的Netty Spring Cloud Gateway是Spring Cloud生态系统中的一个API网…

leetcode62. 不同路径(动态规划-java)

不同路径 leetcode62. 不同路径题目描述暴力递归代码演示 递归加缓存代码演示 动态规划代码演示 动态规划专题 leetcode62. 不同路径 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/unique-paths 题目描述 一个机器人位…

leetcode863. 二叉树中所有距离为 K 的结点(java)

二叉树中所有距离为 K 的结点 leetcode863. 二叉树中所有距离为 K 的结点题目描述 DFS 深度优先遍历代码演示 二叉树专题 leetcode863. 二叉树中所有距离为 K 的结点 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/all-…

英之剑法——第一境(通达人与物之境)

🌟博主:命运之光 ☀️专栏:英之剑法🗡 ❤️‍🔥专栏:英之试炼🔥 ☀️博主的其他文章:点击进入博主的主页 🐳 开篇想说的话:开学就大三了,命运之光…

永磁同步电机在线参数辨识综述

优点 实时性:在线参数辨识能够在电机实际运行时进行参数估计,可以实时地获取电机的参数信息。这使得在线参数辨识更适用于需要实时调节和优化电机控制策略的应用场景。 动态适应性:在线参数辨识可以根据电机的实时工作状态和环境变化来动态地…

最“赚钱”编程语言出炉,惊到我了.....

Stack Overflow 发布了 2023 年开发者调查报告,据称共计超过 9 万名开发者参与了此次调查。 完整报告包含了受访开发者画像,以及关于开发技术、AI、职业、社区等方面的内容。本文主要介绍关于开发技术和 AI 的部分。 懒人目录: 最流行编程语…

[皮尔逊相关系数corrwith]使用案例:电影推荐系统

协同过滤算法用于发现用户与物品之间的相关性,主要有两种:基于用户的和基于物品的。 基于用户: 用户1购买了物品A、B、C、D,并给了好评;而用户2也买了A、B、C,那么认为用户1和用户2是同类型用户&#xff…

hello算法笔记之堆

堆: 一种满足特定条件的完全二叉树,可分为两种类型: 「大顶堆 Max Heap」,任意节点的值 ≥其子节点的值;「小顶堆 Min Heap」,任意节点的值 ≤ 其子节点的值; 将二叉树的根节点称为「堆顶」&a…

p5模型详解

1.研究动机 推荐系统种类繁多,user、item特征集合可以共享,特定架构特定任务使得各任务间无法迁移。 语言可以描述万物,可以作为推荐系统的中间桥梁,受到prompt学习的影响,本文提出了text-to-text框架,称…