bert下游_Bert解读

BERT是一种预训练的深度双向Transformer模型,用于语言理解。它通过Masked Language Model和Next Sentence Prediction进行无监督学习,预训练后在下游任务中进行微调。BERT模型结构包含多层双向Transformer,能学习到丰富的语言、句法和词义信息。
摘要由CSDN通过智能技术生成

序言:今天与朋友去ktv唱歌。回来的时候,顺手看篇bert论文。2019/10/27于复旦图书馆。

1.introduction

bert全称为:Bidirectional Encoder Representations from Transformers(双向transformer的encoder.)

语言模型预训练能够有效提升许多自然语言处理任务。这些任务分为sentence-level和token-level。sentence-level比如自然语言推理(natual language inference)。token-level比如命名实体识别(ner)。

使用预训练的语言表征处理下游任务两种方法:feauture-based和fine-tuning.

feauture-based: 比如Elmo,对于特定任务的模型,使用预训练表征作为额外的输入特征。

fine-tuning: 比如GPT,在下游任务只需要从头训练少量参数,然后微调预训练的参数。

两种训练方式:Masked Language Model,Next Sentence Prediction.

2.Bert

Bert分为两步:pre-training和fine-tuning. pre-training是在unlabeled data是训练。fine-tuning是初始化预训练参数,然后在下游任务中使用labeled data对参数进行微调。

bert的一个显著特征是它跨不同任务的统一架构。

bert的模型架构是一个多层的双向Transformer的Encoder。使用L表示层数,H表示hidden size,自注意力的head数表示为A,bert有两种模型:

和GPT的参数大小相同,作为比较的目的。区别:
the BERT Transformer uses bidirectional self-attention, while the GPT Transformer uses constrained self-attention where every token can only attend to context to its left. (bert的transformer使用encoder,能够使用双向的自注意力,GPT使用受限的自注意力,即每一个token只关注它左边的context。)

a5fd7af60bc8a80b19a53514a938dd1a.png

token的输入:token embeddings + segment embeddings+ position embeddings

b9ab2a9f04a98d5b6d431081e4efe450.png

3.训练bert的两种无监督方法

3.1 Masked LM

Masked LM: 以一定percentage随机mask掉input tokens,然后预测这些masked tokens。将最后的hidden vector接入softmax层进行预测。经实验,在一个句子中,随机masked 15%的tokens。training data generator随机选择15%的token进行预测,被选中的i-th token:80%概率使用[mask], 10%的概率使用随机token, 10%概率保持不变。

3.2 Next Sentence Prediction

许多的下游NLP任务,比如Question Answering和Natural Language Inference,依赖于理解句子之间的关系,而语言模型无法捕获这种关系。为了训练模型理解句子之间的关系,预训练一个二分类任务,即next sentence prediction。选句子A和句子B做训练样本,50%的概率句子B是句子A的下一个句子,50%的概率句子B是从语料库中随机选择的句子。尽管这种方法简单,但是该任务的pre-train对QA和NLI任务非常有益。

4. 总结

Bert论文名称:Pre-training of Deep Bidirectional Transformers for Lanuage Understanding.

Pre-training:说明Bert是一个预训练的模型,通过前期的大量语料的无监督训练,为下游任务学习先验的语言、句法、词义等信息。

Bidirectional:说明Bert采用的是双向语言模型的方式,能够更好地融合前后文的知识。

Transformers:说明Bert采用Transformer作为特征抽取器。

Deep:说明Bert模型很深,base有12层,large版本有24层。

总的来说:Bert是一个用Transformer作为特征抽取器的深度双向预训练语言理解模型。

Bert结构如下,它由多层的双向Transformer连接而成。Bert中的Transformer与Attention is all you need的transfomer相同。

Masked Language Model:受完形填空的启发,通过预测masked token,不断地对比上下文的语义、句法和词义信息,从而学到了大量相关的知识。

Next Sentence Prediction:就是输入两个句子,判断第二个句子是不是第一个句子的下一句的任务。这个任务是为像QA和NLI这样需要考虑句子间关系的下游任务准备的。通过这个任务,BERT获得了句子级表征的能力。

Bert学习到了什么:Bert是一个强大的预训练模型,因其超大的参数量和较强的特征提取能力,能够从海量的语料库中学习到一些语言学和一定程度的语义信息。但是,笔者认为,和以前的NLP模型一样,它还远没有学习到语言中蕴含的大量的常识和推理。例如,利用BERT或许能够从"天下雨了",推断出“要带伞”。但是更深层次的,“要带伞是因为怕淋湿,淋湿了会感冒”这些BERT是很难学到的。[这段摘自公众号]

03d17fb8b297d82769b4901338e0074b.png

reference:

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

https://arxiv.org/pdf/1810.04805.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值