04浅谈自注意力机制(self-attention)
1. 基本概念
注意力机制
是Transformer模型的核心。它的作用是让模型能够“关注”输入数据的不同部分,而不是一次只处理一个词。比如,当模型在处理一句话时,它可以同时考虑句子中所有的词,而不是一个一个地看过去。这种机制使得模型在处理长句子时更加有效。
多头注意力
Transformer模型还有一个重要特性叫做“多头注意力”(Multi-head Attention)。这意味着模型可以在不同的“头”上进行多个注意力操作,从而捕捉到更多的信息。这就像同时有多个视角在看同一个东西,每个视角都能看到一些不同的细节。
2. 注意力机制(Attention Mechanism)
注意力机制是Transformer的核心。自注意力(Self-Attention)操作是基于Transformer 的机器翻译模型的基本操作,在源语言的编码和目标语言的生成中频繁地被使用以建模源语言、目标语言任意两个单词之间的依赖关系。给定由单词语义嵌入及其位置编码叠加得到的输入表示{xi ∈ Rd}ti=1,为了实现对上下文语义依赖的建模,进一步引入在自注意力机制中涉及到的三个元素:查询qi(Query),键ki(Key),值vi
(Value)。在编码输入序列中每一个单词的表示的过程中,这三个元素用于计算上下文单词所对应的权重得分。直观地说,这些权重反映了在编码当前单词的表示时,对于上下文不同部分所需要的关注程度。具体来说,如图2.2所示,通过三个线性变换WQ ∈ Rd×dq,WK ∈ Rd×dk,WV ∈ Rd×dv将输入序列中的每一个单词表示xi 转换为其对应的qi ∈ Rdk,ki ∈ Rdk,vi ∈ Rdv 向量。。
其中WQ、WK、WV是可训练的权重矩阵
2.1 计算注意力得分
为了得到编码单词xi 时所需要关注的上下文信息,通过位置i 查询向量与其他位置的键向量
做点积得到匹配分数qi · k1, qi · k2, …, qi · kt。为了防止过大的匹配分数在后续Softmax 计算过程中导致的梯度爆炸以及收敛效率差的问题,这些得分会除放缩因子√d 以稳定优化。放缩后的得分经过Softmax 归一化为概率之后,与其他位置的值向量相乘来聚合希望关注的上下文信息,并最小化不相关信息的干扰。
通俗易懂理解
日常总结