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


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表示待预测词在掩码词中的位置编码。

综上所述,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.

深入理解深度学习——BERT派生模型:SpanBERT(Improving Pre-training by Representing and Predicting Spans)相关推荐

  1. 深入理解深度学习——BERT派生模型:XLM(Cross-lingual Language Model)

    分类目录:<深入理解深度学习>总目录 BERT本应在语义理解上具有绝对优势,但其训练语料均为英语单语,受限于此,早期的BERT只在英语文本理解上有优势.随着全球化进程的加速,跨语言的预训练 ...

  2. 深入理解深度学习——BERT派生模型:BART(Bidirectional and Auto-Regressive Transformers)

    分类目录:<深入理解深度学习>总目录 UniLM和XLNet都尝试在一定程度上融合BERT的双向编码思想,以及GPT的单向编码思想,同时兼具自编码的语义理解能力和自回归的文本生成能力.由脸 ...

  3. 线性Frequency Principle动力学:定量理解深度学习的一种有效模型

    关于作者:本文的作者是来自上海交通大学致远学院 08 级理科班的四位研究人员.本文由许志钦执笔,张耀宇修改,罗涛和马征审阅校正.这个小组的研究兴趣主要是深度学习理论. 深度学习的广泛成功吸引了大量的科 ...

  4. 理解深度学习.PDF、国外AIGC各模态产品梳理.pdf、构建企业级的私有大模型.pdf

    点击上方"Python与机器智能",选择"星标"公众号 第一时间获取价值内容 一.一本理解深度学习硬核书籍,下面是这本书的目录 Table of content ...

  5. 深入理解深度学习——Word Embedding(三):Skip-Gram模型

    分类目录:<深入理解深度学习>总目录 相关文章: · Word Embedding(一):word2vec · Word Embedding(二):连续词袋模型(CBOW, The Con ...

  6. 深入理解深度学习——语境词嵌入(Contextual Word Embedding)

    分类目录:<深入理解深度学习>总目录 前文介绍了因word2vec而流行的Word Embedding,这种表示方法比离散的独热编码要好很多,因为它不仅降低了维度,还可以反映出语义空间中的 ...

  7. 深度学习基础-经典模型总结

    深度学习经典模型总结 卷积神经网络 介绍下转置卷积 循环神经网络 介绍下RNN 介绍下LSTM 一个LSTM cell的时间复杂度是多少 介绍下GRU RNN和LSTM的区别 注意力模型 介绍下Att ...

  8. 大白话聊聊“深度学习”和“大模型”

    1950年图灵发表论文<计算机器与智能>( Computing Machinery and Intelligence),提出了"机器智能"(Machine Intell ...

  9. 深入理解深度学习——预训练模型

    分类目录:<深入理解深度学习>总目录 近些年基于深度学习的NLP技术的重大进展主要包括NNLM(2003).Word Embedding(2013).Seq2Seq(2014).Atten ...

最新文章

  1. K近邻算法:以同类相吸解决分类问题!
  2. (仿头条APP项目)7.首页标签页完善和微头条页面设计实现
  3. linux oracle12c dbca,Linux下Oracle 12c R2图形化安装笔记
  4. 论接单报价管理与ERP信息化管理的重要性
  5. 改变世界,改善生活:我从科沃斯扫地机器人X1,看到了AI新的希望
  6. MongoDB工具介绍
  7. Memcached、MongoDB、Redis和tokyotyrant
  8. python37从零开始学_从零开始学Python【37】--朴素贝叶斯模型(理论部分)
  9. App引导页学习进阶临摹模板|UI界面设计步骤
  10. Spring源码之创建AOP代理
  11. 车型代号对照表_上海大众车型与VIN代号对照表
  12. pr怎么导出html格式的字幕,PR字幕怎么导出,导出只有视频。急急
  13. markdown编辑器Typora的使用方法(保姆级教程)
  14. cewl工具(URL字典生成器)
  15. 李嘉诚语录:成功没有必然方程式
  16. xftp无法取消被动模式
  17. 西瓜视频直播助手下载与安装过程 0523
  18. SQL中DATEADD和DATEDIFF的使用方法
  19. 传感器的应用/SurfaceView/制作简单的指南针
  20. vivos9设置定时开关机方法分享

热门文章

  1. 快要C语言考试了,大学生们收好这些经典程序案例,包你考试过关!
  2. 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说的是假话。 现
  3. unity2d 投影_unity2D解决阴影透明度叠加的问题
  4. 大部分中产阶级都只是靠工资过中产,如何增加睡后收入?
  5. Unity 事件系统
  6. vue- style行内样式
  7. 在mapbox 中使用特殊符号作为文字注记使用
  8. Linux之mysql安装及初始登录
  9. K1 Power Linux上Stream测试内存带宽
  10. Discuz如何删除内部插件