Transformer和Bert 的学习(一)
# Transformer和Bert 的学习(一)
## 一、transformer编码器:
![image-20210526152454601](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526152454601.png)
### 1、positional encoding
识别句子中词语的位置信息。
![image-20210526152648753](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526152648753.png)
![image-20210526155658235](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526155658235.png)
为了学到多重含义的表达,对Xembedding进行线性映射,也就是分配三个权重,Wq,Wk,Wv。线性映射之后,形成三个矩阵,为Q,K,V,和线性变换之前的维度一致。
![image-20210526155712006](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526155712006.png)
点积可以判断两个向量的关联程度,如果是两个相同的向量进行点积,结果就是等于1 。下图是注意力机制的权重:![image-20210526160659153](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526160659153.png)
上图每一行代表 当前这个字和其他字的关联程度。做完softmax 之后,每一行的和是等于1 。
## 2、注意力矩阵:
![image-20210526160945182](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526160945182.png)
公式对dk开平方根,是为了对公式化为标准的正态分布,这样可以有更好的梯度。
接着把结果与 V 相乘:
![image-20210526161212669](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526161212669.png)
注意力的Masky 掩码:
![image-20210526161605843](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526161605843.png)
Mask让无效区域不参与运算,通常是给无效的区域加一个很大的负数的偏置。
![image-20210526161804078](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526161804078.png)
### 3、Add & Norm
Add 是残差连接 , 避免梯度消失的情况。
![image-20210526162403338](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526162403338.png)
在之后的运算里,每经过一个模块的时候,都把运算之前和运算之后的值相加,从而得到残差连接,训练的时候,可以使梯度直接走捷径反传到最初始层:
![image-20210526162628996](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526162628996.png)
Norm ,把神经网络中的隐藏层的一行归一化为标准正态分布,也就是i,i,d 独立同分布,加快训练速度,加速收敛的作用。下图是对一行求均值:
![image-20210526163013494](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526163013494.png)
### 4、**总结**
![image-20210526163232387](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526163232387.png)
![image-20210526163325601](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526163325601.png)
![image-20210526163403708](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526163403708.png)
## 二、transformer编码器
### 1、位置编码:
位置相隔越近,相似程度越高;位置相隔越远,相似程度越低。
![image-20210526172302790](C:\Users\weixq\AppData\Roaming\Typora\typora-user-images\image-20210526172302790.png)
### 2、语言模型的定义和Bert解读
语言模型:主要是对一个语句的概率大小的判断,并选择概率最高的一条语句进行输出。
Bert 模型的双向:比如第三个词语不仅知道前面词语的信息,还知道第三个词语**后面词语**的信息。