BERT原理详解

BERT原理详解

一、BERT原理

1.1 BERT原理

网上关于BERT的模型讲的好的很多
参考
BERT模型学习与分析
谷歌BERT模型深度解析
彻底搞懂BERT

1.2 BERT 和 OpenAI GPT 区别与联系

这里简单描述一下BERT和OpenAI GPT模型区别与联系
BERT和GPT 都是使用了Transformer结构,Transform的Encoder和Decoder是有区别的,这也是BERT和GPT的区别,很多博客描述GPT用的是Transform的Decoder部分,BERT用的是Encoder部分,这是对的,不过还有人不理解区别在哪,区别就在Masked attention,说白了就是attention的叠加方向不一样,模型真没啥区别,再往细里说,Decoder之所以是masked attention,因为是解码嘛,自然在做attention时候不能给词语看到未来信息,比如下面这个图:
在这里插入图片描述
所以GPT用的就是Decoder部分:
在这里插入图片描述
GPT训练方式和NNLM一样,利用前n-1个词预测第n词训练向量。
BERT是如何训练的?
在这里插入图片描述
在这里插入图片描述
两个点:

  1. 对中间的词利用一定规则变成mask(规则指masked LM),然后把这些要预测的词做成标签进行预测。
  2. 多任务,预测两个句子是不是有关联性。

这里提一下masked LM:
随机屏蔽(masking)部分输入token,然后只预测那些被屏蔽的token。在这个例子中,与masked token对应的最终隐藏向量被输入到词汇表上的输出softmax中,就像在标准LM中一样。随机地屏蔽了每个序列中15%的WordPiece token。与去噪自动编码器相反,只预测masked words而不是重建整个输入。
以“my dog is hairy”为例,数据生成器将执行以下操作,而不是始终用[MASK]替换所选单词:
80%的时间:用[MASK]标记替换单词,例如,my dog is hairy → my dog is [MASK]
10%的时间:用一个随机的单词替换该单词,例如,my dog is hairy → my dog is apple
10%的时间:保持单词不变,例如,my dog is hairy → my dog is hairy. 这样做的目的是将表示偏向于实际观察到的单词。
使用masked LM 缺点(也是BERT缺点)
A:因为[MASK]字符在fine-tuning阶段根本不会存在,所以在pre-training阶段用[MASK]代替原来的word参与训练,会导致pre-training和fine-tuning阶段mismatch。

B:因为在每一轮训练(each batch)只有15%的tokens会被预测,pre-training阶段的模型收敛就需要迭代更多的steps

XLNET可以解决BERT的缺点(下一章准备写)

参考再谈embedding——bert详解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值