Delete NLP通用框架BERT原理解读.md

pull/2/head
benjas 5 years ago
parent b53d702ce8
commit 908aac4235

@ -1,66 +0,0 @@
### NLP通用框架BERT原理解读
#### 传统解决方案遇到的问题
传统的RNN网络
![1609724393950](assets/1609724393950.png)
- 训练速度:无法加速训练,并行等
- Self-Attention机制注意力一段话中不是每个词都重要我们只需要关注重要的部分。如下班后我们一起去吃饭吧我听说有家面馆挺好吃的我请客。是不是对于听的人来说主要是“我请客”。
- word2vec训练好词向量就永久不变了不同的语境相同的词相同的向量但这合理吗就想我们在生气的时候说傻子很开心的时候说傻子意思是完全不一样的
#### Transformer整体架构如下
![1609725400828](assets/1609725400828.png)
#### 注意力机制的作用
- 对于输入的数据,我们的关注点是什么?
- 如何才能让计算机关注到这些有价值的信息?
![1609725559431](assets/1609725559431.png)
> 如上传入一段文本如果我们没有强调注意什么那么词向量结果可能是平行的如果我们强调“eating”那么“eating”这个词的词向量就会有所不同。
如果是人为的加权,告诉计算机哪个重要,这显然是不合实际的,应该让计算机自己发现哪些重要。
![1609725763643](assets/1609725763643.png)
> “it”在第一句中是指代“animal”表示它太累了没有过去。
>
> “it”在第二句中指代“street”表示路太窄了没有过去。
>
> 这里关注的是“animal”我们希望即使是第二句“animal”对结果的影响越大。
#### Self-Attention计算
- 输入经过编码后得到的向量。
- 得到当前词语上下文的关系,可以当做是加权。
- 构建三个矩阵分别查询当前词跟其它词的关系,以及特征向量的表达。
如下图:
![1609726549882](assets/1609726549882.png)
> 先转换成向量构建三个矩阵Q、K、V求出来第一个词编码的时候怎么找到上下文。右边的W就是权重。
这三个矩阵具体做什么:
- Q: query要去查询的
- K: key等着被查的
- V: value实际的特征信息
![1609726848038](assets/1609726848038.png)
> X是输入内容结果W后形成Q、K、V不同矩阵的特征向量。
![1609730605624](assets/1609730605624.png)
> q与k的内积表示有多匹配如果Xa与Xb之间无关的时候那么其在坐标系上的表示是垂直的如果有关系则非垂直则有夹角有内积相关性越大则夹角越小内积越大。
Loading…
Cancel
Save