【文本分类】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
·阅读摘要:
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相关推荐
- Paper:《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding用于语言理解的深度双向Tr
Paper:<BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding用于语言理解的深度双 ...
- BERT(一)--论文翻译:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
转载请注明出处:https://blog.csdn.net/nocml/article/details/124860490 传送门: BERT(一)–论文翻译:BERT: Pre-training o ...
- bert论文解析——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 前言 bert是google在NLP方 ...
- 预训练模型:BERT深度解析《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》
目录 1. 背景 2. 什么是 Bert 及原理? 3. 论文内容<BERT: Pre-training of Deep Bidirectional Transformers for Langu ...
- 《BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding》
目录 <BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding> 1.Bert研究意 ...
- 【论文阅读笔记】BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT的出现使我们终于可以在一个大数据集上训练号一个深的神经网络,应用在很多NLP应用上面. BERT: Pre-training of Deep Bidirectional Transformer ...
- 论文阅读——BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding Abstract 作者引入了一种新的语 ...
- 论文阅读笔记:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 背景知识 相关工作 具体实现结构 Pre-training BERT Fine-tun ...
- BERT论文阅读(一): Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT三大核心: pre-training bidirectional==>alleviates the unidirectionality constriant of fine-tuning ...
最新文章
- 如何加入LSGO软件技术团队?
- python 程序流程控制结构-【笔记】《python语言程序设计》——程序的控制结构...
- 他山之石:五个互联网英雄的创业启示!
- python mmap对象
- 【图神经网络】基于GNN的不同变种及其应用
- (4)FPGA JTAG接口连接(学无止境)
- 贺利坚老师汇编课程74笔记:按下esc键改变显示颜色
- 【Beta】Phylab 测试报告
- catv系统主要有哪三部分组成_有线电视系统,看完电力工程技术专家分析,顿时学会了,太经典...
- 《深度剖析U8系统前后台数据关系》课程简介
- php 上传绕过,文件上传验证绕过技术总结
- 刷新页面Vue Whitelabel Error Page
- 【python】学会这八个自动化脚本,摸鱼的借口那不就来啦~
- 寻宝机器人电路板焊接_寻宝活动——组装机器人
- 基于cmake配置使用CGAL
- ftp客户端软件,3款值得推荐的ftp客户端软件
- Linux 桌面驱动 糟糕,糟糕的Nvidia Linux驱动
- 【小西】同步咪咕订单给咪咕方(写接口给第三方)
- 太原城市职业技术学院引入USB Server助力实训系统实现虚拟化
- 腹直肌整体(04):支撑提臀抬腿
热门文章
- java opencv 图片放大缩小,角点检测和边缘检测(14)
- Android四大基本组件和生命周期的介绍
- java中形参可变的方法
- mysql8.0 直方图_MySQL创建横向直方图
- 造完家怎么拆东西_我今天把老家的宅基地拆了!
- Python 列表、字典、元组的一些小技巧
- STE:入侵植物可选择性富集土壤微生物
- RandomForest:随机森林预测生物标记biomarker——分类
- html接收model数据,QAbstractTableModel数据返回要显示的html代码
- python使用matplotlib可视化堆叠的直方图(stacked histogram plot)、多个类别的数据在直方图区间层面累积堆叠起来