self attention计算公式
时间: 2024-09-30 21:13:58 浏览: 26
attention
自注意力(Self-Attention)是一种深度学习模型中的关键机制,主要用于Transformer架构中,如BERT、GPT等。其核心思想是每个输入元素都可以直接与其他所有元素交互,以此捕捉全局依赖关系。下面是基本的自注意力计算公式:
对于一个序列中的位置 \( i \),它的自我注意力值 \( A_{i} \) 可以通过查询 \( Q_i \),键 \( K_i \),值 \( V_i \) 来计算,通常这三个向量都是从输入嵌入表示经过线性变换得到的。计算步骤如下:
1. 计算得分 (Score) 或相似度 (Similarity):
\[ Score_{ij} = Q_i^T \cdot K_j \]
2. 应用softmax函数来获得注意力权重 \( Attention_{ij} \),它是一个分数,表示第 \( j \) 个元素对第 \( i \) 个元素的重要性:
\[ Attention_{ij} = \frac{exp(Score_{ij})}{\sum_{k=1}^{n} exp(Score_{ik})} \]
3. 最终的上下文向量 \( Context_i \) 是所有输入元素 \( V \) 的加权和,其中权重由注意力分数给出:
\[ Context_i = \sum_{j=1}^{n} Attention_{ij} \cdot V_j \]
这里 \( n \) 是序列的长度,\( Q_i \), \( K_i \), 和 \( V_i \) 分别是矩阵的第 \( i \) 行。
阅读全文