bert简介_NLP初学者眼中的BERT

BERT简介

da8e98eadddef6c22355081506b039e2.png

今天来讲讲BERT,就是上面这个淡黄色肤色的家伙, 据《芝麻街》前编辑说,它和Ernie是Gay Couple,oh my god ... ...

开个玩笑,言归正传!BERT是基于语义理解的深度双向与训练模型,全称Bidirectional Encoder Representation from Transformers。BERT来自Google的论文《Pre-training of Deep Bidirectional Transformers for Language Understanding》,它做了两个事情,分别是MaskedLM和Next Sentence Prediction。从名字就能看出,它其实来自transformer的encoder部分。其网络架构如下图:

d2725e233f5b9cf9b671a6b3c51a8b4f.png

值得注意的是,相较于Transformer,BERT的输入还多了一个Segment Embeddings.

11f9d031c8e6d2dec8c2290cf1f24b70.png

Pre-training Task

1.MaskedLM

这个做法类似完形填空,需要根据上下文语境做预测。

具体来说就是,随机mask语料中15%的Token,让模型去预测这些token。由于[mask]标记在后续任务中并不存在,作者解决方案是,其中80%用[mask]标记替换;有10%用随机采样的一个单词来替换,最后10%不替换。这样做的另一个好处是,使得模型更多的依赖上下文信息来预测,同时让它有了一定的纠错能力。

2.Next Sentence Prediction

句子级别的连续性预测任务,即预测输入的两端文本是否是连续的,这个任务可以更好的让模型学到连续文本片段之间的关系。

例如:输入:“醒醒吧”,“你没有女朋友”,

输出:True。

(其实就是判断这两个句子是否是上下句关系。)

值得注意的是,BERT对这两个任务同时训练,得到的效果才是最好的。

4e4bc8191d9d059f53d91899db057ba6.png

Q&A

  • Q: BERT的优势哪里?
  • A: 相比于一般RNN,它可以并行处理,这得益于self-attention机制,另外它采用的Multi-Head Attention,将一个词放到更高的维度进行学习,每一维度都能学到不同的东西,更细化。
  • Q: 什么是self-attention?
  • A: Attention的做法来自Transformer,论文名称是《Attention Is All You Need》,我的理解是:ta对句子中的所有词赋予一个权重,训练时把更多的注意力放在权重大的词上。有兴趣的同学可以参考Reference(已经把比较好的资料整理好了)
  • Q: Segment Embedding和Position Embedding是用来干嘛的?
  • A: Position Embedding是用来表示词在句中所在位置的,因为当文字出现在不同位置时所表示的语义可能是存在差异的;Segment Embedding是在做第二个任务时用来表示两个句子是否是连句的。

Reference:

【Seq2Seq】

https://www.youtube.com/watch?v=ZjfjPzXw6og&feature=youtu.be

【Transformer】

https://www.youtube.com/watch?v=ugWDIIOHtPA

【BERT】

https://www.youtube.com/watch?v=UYPa347-DdE

【BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding】

https://arxiv.org/abs/1810.04805

[Attention Is All You Need ]

https://arxiv.org/abs/1706.03762

更多分享请关注公众号“跟小帅学代码”

0796eba17725b31b91422b0189818144.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值