# Transformer和Bert 的学习(一)
## 一、transformer编码器:

### 1、positional encoding
识别句子中词语的位置信息。


为了学到多重含义的表达,对Xembedding进行线性映射,也就是分配三个权重,Wq,Wk,Wv。线性映射之后,形成三个矩阵,为Q,K,V,和线性变换之前的维度一致。

点积可以判断两个向量的关联程度,如果是两个相同的向量进行点积,结果就是等于1 。下图是注意力机制的权重:
上图每一行代表 当前这个字和其他字的关联程度。做完softmax 之后,每一行的和是等于1 。
## 2、注意力矩阵:

公式对dk开平方根,是为了对公式化为标准的正态分布,这样可以有更好的梯度。
接着把结果与 V 相乘:

注意力的Masky 掩码:

Mask让无效区域不参与运算,通常是给无效的区域加一个很大的负数的偏置。

### 3、Add & Norm
Add 是残差连接 , 避免梯度消失的情况。

在之后的运算里,每经过一个模块的时候,都把运算之前和运算之后的值相加,从而得到残差连接,训练的时候,可以使梯度直接走捷径反传到最初始层:

Norm ,把神经网络中的隐藏层的一行归一化为标准正态分布,也就是i,i,d 独立同分布,加快训练速度,加速收敛的作用。下图是对一行求均值:

### 4、**总结**



## 二、transformer编码器
### 1、位置编码:
位置相隔越近,相似程度越高;位置相隔越远,相似程度越低。

### 2、语言模型的定义和Bert解读
语言模型:主要是对一个语句的概率大小的判断,并选择概率最高的一条语句进行输出。
Bert 模型的双向:比如第三个词语不仅知道前面词语的信息,还知道第三个词语**后面词语**的信息。