初始Transformer
1. transformer 架构图
2.核心模式功能说明
Encoder-decoder(编码器-解码器)经典的编解码器都是分别由6层组成。
encoder- 编码器
一般情况下,编码器有多层,对于每个编码器层来说,由多头自注意力层 (Multi-head Attention)和全连接前馈神经网络(position-wise feed-forward network)。每个子层后面都有残差连接、层归一化操作,两个合起来叫(add&Norm)操作。
Decoder 解码器:
同理,解码器也是有多层组成,每个解码器有3个子层,分表是:掩蔽自注意力层(Masked self-attention)、encoder-decorder注意力层、全连接前馈神经网络。同样也有残差连接、层归一化操作(add&norm)
模型输入
原始文本-> 令牌化 -> 嵌入 -> 模型
文本输入经过转换(嵌入)后的向量矩阵,矩阵则由输入文本中的每个单词表示的向量组成,表示的向量由每个单词的词向量和位置向量组成。
Multi-head attention (多头注意力):模型可以同时关注不同位置的信息,分割原始输入向量到多个头,每个head 都能独立完成学习不同注意力额权重,增加模型对输入单词的不同部分关注能力。
1. 输入的线性变换:输入的query(查询),key(键)、value(值)转出向量,通过线性变换(模型参数训练)映射到不同的子空间。
2.分割多头:经过线性变换后,query、key、value 向量被分割成多个头,多头分别独立进行注意力计算。
3.缩放点积注意力:每个头部,缩放点积注意力计算query、key两者的注意力分数,该分数决定生产输出时,模型关注value的向量部分。
4.注意力权重的应用:计算注意力权重应用于Value向量,得到加权中间输出,这个过程:根据注意力权重对输入信息进行筛选和聚焦。
5.拼接和线性变换:所有头的加权输出拼接到一起,通过一个线性变换得到最终的Multi-head attention 输出。
query、key、value矩阵含义解释:
query:当前关注点、信息需求,用于与key矩阵来匹配信息
key:输入序列中的标记信息,用于与query矩阵查询匹配
value:存储了key矩阵的实际值或信息内容,当query与key匹配时,相应的Value就会被预测出来。