SpanBert学习

SpanBERT: Improving Pre-training by Representing and Predicting Spans

核心点

  1. 提出了更好的 Span Mask 方案,也再次展示了随机遮盖连续一段字要比随机遮盖掉分散字好;
  2. 通过加入 Span Boundary Objective (SBO) 训练目标,增强了 BERT 的性能,特别在一些与 Span 相关的任务,如抽取式问答;
  3. 用实验获得了和 XLNet 类似的结果,发现不加入 Next Sentence Prediction (NSP) 任务,直接用连续一长句训练效果更好

整体结构

1.Span Masking,SM。根据集合分布,随机选择一段span的长度,之后根据均匀分布随机选择这一段的起始位置,然后按照长度进行遮盖。使用几何分布取p=0.2,最大长度为10,通过采样,平均遮盖长度为3.8个词的长度。

2.SBO span boundary objective ,希望被遮盖span边界的词向量,能学习到span的内容。再训练时,取span前后边界的两个词,用这两个词向量加上span中被遮盖词的位置向量,预测原词。

将词向量和位置向量拼接起来,加两层全连接。使用Gelu函数,并使用正则化。

最后预测span中原值时计算新损失,即SBO目标的损失。将该损失与BERT的MLM损失加起来,一起训练模型。

3.NSP ,Next Sentence Prediction任务,SPanBert没有用NSP,使用Single-Sequence Traing。不加入NSP任务判断是否两句是上下句,直接用一句来训练。

训练细节

  1. 训练时用了 Dynamic Masking 而不是像 BERT 在预处理时做 Mask;
  2. 取消 BERT 中随机采样短句的策略
  3. 还有对 Adam 优化器中一些参数改变。

学习自 SpanBert:对 Bert 预训练的一次深度探索 - 知乎

相关推荐
黑泽明*15 分钟前
LVS-Keepalived-全解析
服务器·开发语言·笔记·学习·php
大模型码小白36 分钟前
AI安全前沿:AI大模型安全防护的前沿技术
java·网络·人工智能·python·深度学习·学习·安全
天天爱吃肉82181 小时前
【工程师硬件学习笔记:串口‑总线体系与三电试验室异构系统集成深度实战】
大数据·笔记·python·嵌入式硬件·学习·汽车
PC2005-cloud1 小时前
Git学习笔记:GitHub Git Data API 完全指南,用 Go 操控 Git 底层对象
笔记·git·学习
依然鸣1 小时前
PTA团体程序设计天梯赛L2真题讲解L2-001-004
经验分享·学习·算法·深度优先·pat考试
云贝教育-郑老师2 小时前
8.29 杭州线下沙龙|OpenTenBase城市行:当 AI 智能体成为数据库的新生产力
学习·ai·dba
XGeFei10 小时前
【AI应用/Agent智能体搭建平台2】Dify——自部署
人工智能·笔记·学习
hsjiasb11 小时前
FreeRTOS学习(二十三)——消息缓冲区(Message Buffer)
stm32·单片机·嵌入式硬件·学习·freertos
我的xiaodoujiao12 小时前
快速学习Python基础知识详细图文教程17--类型注解和断点调试
开发语言·python·学习·测试工具
IT古董14 小时前
【MES学习笔记系列】MES 厂商与产品对比
笔记·学习