·阅读摘要:
  Bert是继Transformer之后的又一杰出的模型。Bert是一种预训练语言模型,是在GPT、Elmo、Transformer的基础上提出的。基于Bert的多个NLP领域任务都取得了非常大的提升。
·参考文献:
  [1] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  论文链接:https://arxiv.org/abs/1810.04805

[0] 阅读本论文最好了解前置知识:

  Transformer ⭐Bert就是基于Transformer提出的
  什么是预训练语言模型 ⭐Bert到底是怎么使用的

  了解Transformer模型,可以参考我的另外一篇博客:【文本分类】Attention Is All You Need。


[1] 摘要

  提出了Bert模型,它不同于Elmo模型和GPT模型,Bert是对左右文(上下文)的一种双向提取训练,而且是对大数据集进行无监督学习。Bert训练好之后,其他人只需要根据自己的特定数据集,再微调一下,就能得到自己模型特有的词向量表示,而且这样做通常效果比较好。

【注一】:Elmo模型和GPT模型一个采用了RNN,一个采用了单向顺序来训练。Bert是使用Transformer为基础,然后看到了一个句子的双向顺序来训练的。
【注二】:什么是微调 一般情况下,训练一个模型是从头开始训练,花费时间较长,bert微调就是在预训练模型bert的基础上只需更新后面几层的参数,这相对于从头开始训练可以节省大量时间,甚至可以提高性能,通常情况下在模型的训练过程中,我们也会更新bert的参数,这样模型的性能会更好。bert是在通用语料上训练的,在你的特定领域,这些通用语料训练出的模型无法充分抽取出token的内在含义,所以需要用你的领域语料微调一下。


[2] 介绍

  预训练语言模型已被证明对提高NLP任务是有效的。

  在下游任务中,使用预训练语言模型有两种方式,基于特征基于微调

  作者认为标准语言模型是单向的,这限制了我们的模型训练。但是从两个方向结合上下文来表征句子是很重要的。

  Bert做无监督训练的思想如下图:


  核心点有3:
  · mask LM,类似于Word2Vec的CBOW一样,但是CBOW是有窗口大小限制的,而mask LM是在整个句子的规模上随机mask一些词。
  · 下一句预测,为了训练一个理解句子关系的模型,预训练了一个下一句预测的二元分类任务,这个任务可以从任何单语语料库中简单地归纳出来,预测输入BERT的两端文本是否为连续的文本。具体来说,在为每个训练前的例子选择句子 A 和 B 时,50% 的情况下 B 是真的在 A 后面的下一个句子,50% 的情况下是来自语料库的随机句子。
  · 采用12个Transformer的Encoder块进行双向提取句子特征。


[3] 相关工作

  · 无监督的基于特征的方法,以Elmo为代表。

  · 无监督的基于微调的方法,以GPT为代表。

  · 有些研究显示,在大型数据集上进行有监督的训练,之后迁移到语言推理和机器翻译任务上比较有效。CV领域也有类似研究。

【注三】:但是Bert是在大型数据集上进行无监督的训练,效果更好。

[4] Bert模型

  Bert主要有两个步骤:预训练(pre-training)微调(fine-tuning)

【注四】:原理就是CV领域的预训练使用流程


  · 预训练(pre-training):在一个大型数据集上进行无监督训练,预训练原理在“[2] 介绍”中已经阐述。

  · 微调(fine-tuning):利用预训练的结果给下游任务的参数作初始化,然后在下游任务的数据集上,再进行一定的训练,即可。

Bert模型的输入格式:


  如上图,每个词元的输入,都是有词的embedding、句子embedding、位置编码相加得到的。

【文本分类】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding相关推荐

  1. Paper:《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding用于语言理解的深度双向Tr

    Paper:<BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding用于语言理解的深度双 ...

  2. BERT(一)--论文翻译:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    转载请注明出处:https://blog.csdn.net/nocml/article/details/124860490 传送门: BERT(一)–论文翻译:BERT: Pre-training o ...

  3. bert论文解析——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 前言 bert是google在NLP方 ...

  4. 预训练模型:BERT深度解析《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》

    目录 1. 背景 2. 什么是 Bert 及原理? 3. 论文内容<BERT: Pre-training of Deep Bidirectional Transformers for Langu ...

  5. 《BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding》

    目录 <BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding> 1.Bert研究意 ...

  6. 【论文阅读笔记】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT的出现使我们终于可以在一个大数据集上训练号一个深的神经网络,应用在很多NLP应用上面. BERT: Pre-training of Deep Bidirectional Transformer ...

  7. 论文阅读——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding Abstract 作者引入了一种新的语 ...

  8. 论文阅读笔记:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

    提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 背景知识 相关工作 具体实现结构 Pre-training BERT Fine-tun ...

  9. BERT论文阅读(一): Pre-training of Deep Bidirectional Transformers for Language Understanding

    BERT三大核心: pre-training bidirectional==>alleviates the unidirectionality constriant of fine-tuning ...

最新文章

  1. 如何加入LSGO软件技术团队?
  2. python 程序流程控制结构-【笔记】《python语言程序设计》——程序的控制结构...
  3. 他山之石:五个互联网英雄的创业启示!
  4. python mmap对象
  5. 【图神经网络】基于GNN的不同变种及其应用
  6. (4)FPGA JTAG接口连接(学无止境)
  7. 贺利坚老师汇编课程74笔记:按下esc键改变显示颜色
  8. 【Beta】Phylab 测试报告
  9. catv系统主要有哪三部分组成_有线电视系统,看完电力工程技术专家分析,顿时学会了,太经典...
  10. 《深度剖析U8系统前后台数据关系》课程简介
  11. php 上传绕过,文件上传验证绕过技术总结
  12. 刷新页面Vue Whitelabel Error Page
  13. 【python】学会这八个自动化脚本,摸鱼的借口那不就来啦~
  14. 寻宝机器人电路板焊接_寻宝活动——组装机器人
  15. 基于cmake配置使用CGAL
  16. ftp客户端软件,3款值得推荐的ftp客户端软件
  17. Linux 桌面驱动 糟糕,糟糕的Nvidia Linux驱动
  18. 【小西】同步咪咕订单给咪咕方(写接口给第三方)
  19. 太原城市职业技术学院引入USB Server助力实训系统实现虚拟化
  20. 腹直肌整体(04):支撑提臀抬腿

热门文章

  1. java opencv 图片放大缩小,角点检测和边缘检测(14)
  2. Android四大基本组件和生命周期的介绍
  3. java中形参可变的方法
  4. mysql8.0 直方图_MySQL创建横向直方图
  5. 造完家怎么拆东西_我今天把老家的宅基地拆了!
  6. Python 列表、字典、元组的一些小技巧
  7. STE:入侵植物可选择性富集土壤微生物
  8. RandomForest:随机森林预测生物标记biomarker——分类
  9. html接收model数据,QAbstractTableModel数据返回要显示的html代码
  10. python使用matplotlib可视化堆叠的直方图(stacked histogram plot)、多个类别的数据在直方图区间层面累积堆叠起来