标题NLP中BERT模型详解
谷歌发表的论文为:
Attention Is ALL You Need
论文地址:[添加链接描述](https://arxiv.org/pdf/1706.03762.pdf)
- 1 BERT原理讲解简介
BERT:双向Transformer的Encoder。英文解释为:Bidirectional Encoder Representation from Transformers。由此可见Transformer是组成BERT的核心模块,而Attention机制又是Transformer中最关键的部分,因此,Transformer和Attention是BERT关注的两个核心点。下面我们从Attention机制开始,介绍如何利用Attention机制构建Transformer模块,在此基础上,用多层Transformer组装BERT模型。
1.1 Attention与selfattention机制
Attention机制作用是为了让计算机有权重的关注自己感兴趣的特征,目的是为了关注不同的输入对输出的影响。Attention机制主要涉及到三个概念:Query、Key和Value。可以描述为将一个查询(query)和一组键值对(key-value)映射到一个输出(output),这里的query,keys,values和output都是向量。output是通过values的加权求和来计算的,这里的权重是通过一个query和对应的key的兼容函数来计算的。
self-attention是BERT的重要思想,其与位置编码结合,解决了文本数据的时序相关性的问题,从而一举结束了依靠RNN、LSTM、GRU等之前一直用来解决时序问题的网络模型。self-attention通俗的说就是信息向前传播时动态的计算权重的一种方式,与CNN常见的MaxPooling、MeanPooling不同的是,attention模型是经过训练,当不同信息传入时,自动的调整权重的一种结构,模型如下图所示:

x1,x2,x3,x4 代表的是经过embedding的4条时序文本信息,首先将4条信息加上位置向量,得到a1,a2,a3,a4,这样做的目的上文已经说过,是为了获取文本的时序相关性。
对每条信息分配三个权重WQ,WK,WV分别与a1,a2