bert原理及代码解读

Posted MachineLP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bert原理及代码解读相关的知识,希望对你有一定的参考价值。

BERT:

(Bidirectional Encoder Representations from Transformers)

BERT的新语言表示模型,它代表Transformer的双向编码器表示。与最近的其他语言表示模型不同,BERT旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,预训练的BERT表示可以通过一个额外的输出层进行微调,适用于广泛任务的最先进模型的构建,比如问答任务和语言推理,无需针对具体任务做大幅架构修改。

 

基础比较弱的,直接看bert,可能要结合这个文章一起看:从Word Embedding到Bert模型——自然语言处理预训练技术发展史

简单一点可以这样概括:

后续方法的提出主要源于Word Embedding 存在 多义词问题,比如:bank(河岸、银行),熟悉word2vector应该很清楚为什么存在多义词问题了。

而下游 NLP 任务在使用 Word Embedding 的时候也类似图像有两种做法:(两种做法就是 18 年之前 NLP 领域里面采用预训练的典型做法)

(1)一种是 Frozen,就是 Word Embedding 那层网络参数固定不动;

(2)另外一种是 Fine-Tuning,就是 Word Embedding 这层参数使用新的训练集合训练也需要跟着训练过程更新掉。

基于上面的骚操作作用不是很大哦,故有了:ELMO、GPT等,到现在的Bert,具体细节还是看从Word Embedding到Bert模型——自然语言处理预训练技术发展史后面的部分吧,写的不错就不赘述了。

下面我们来解读一下tf代码和pytorch代码: (代码比较简单, 在考虑要不要解读一下哦)

 

tf代码:https://github.com/google-research/bert

pytorch代码:https://github.com/codertimo/BERT-pytorch

 

待更新.....

以上是关于bert原理及代码解读的主要内容,如果未能解决你的问题,请参考以下文章

[论文解读]Visual bert

BERT论文解读

Bert源码解读之绘制流程图

BERT - 论文解读

6.3 BERT论文解读

6.3 BERT论文解读