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

简介: 【文本分类】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做无监督训练的思想如下图:

79834387759e46949d08db11abd08be2.png

  核心点有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领域的预训练使用流程

image.png

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

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

Bert模型的输入格式:

image.png

相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
116 1
|
7月前
|
机器学习/深度学习 自然语言处理 并行计算
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
107 1
|
机器学习/深度学习 数据采集 自然语言处理
【Deep Learning A情感文本分类实战】2023 Pytorch+Bert、Roberta+TextCNN、BiLstm、Lstm等实现IMDB情感文本分类完整项目(项目已开源)
亮点:代码开源+结构清晰+准确率高+保姆级解析 🍊本项目使用Pytorch框架,使用上游语言模型+下游网络模型的结构实现IMDB情感分析 🍊语言模型可选择Bert、Roberta 🍊神经网络模型可选择BiLstm、LSTM、TextCNN、Rnn、Gru、Fnn共6种 🍊语言模型和网络模型扩展性较好,方便读者自己对模型进行修改
625 0
|
机器学习/深度学习 编解码 自然语言处理
BEIT: BERT Pre-Training of Image Transformers论文解读
本文介绍了一种自监督视觉表示模型BEIT,即图像transformer的双向编码器表示。继自然语言处理领域开发的BERT之后
608 0
|
存储 数据采集 自然语言处理
【BERT-多标签文本分类实战】之四——数据集预处理
【BERT-多标签文本分类实战】之四——数据集预处理
833 1
【BERT-多标签文本分类实战】之四——数据集预处理
|
数据采集
基于Bert文本分类进行行业识别
基于Bert文本分类进行行业识别
226 0
|
机器学习/深度学习 XML 人工智能
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(五)
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型
496 0
|
机器学习/深度学习 自然语言处理 数据可视化
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(四)
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型
302 0
|
机器学习/深度学习 自然语言处理 算法
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(三)
ELMo、GPT、BERT、X-Transformer…你都掌握了吗?一文总结文本分类必备经典模型(三)
430 0
|
机器学习/深度学习 存储
【BERT-多标签文本分类实战】之六——数据加载与模型代码
【BERT-多标签文本分类实战】之六——数据加载与模型代码
454 0
【BERT-多标签文本分类实战】之六——数据加载与模型代码

热门文章

最新文章