注意力模型中的注意力权重是如何计算的?请提供数学公式和解释。

注意力模型中的注意力权重是通过计算查询向量与每个键向量的相似性得到的。具体而言,通过计算查询向量与每个键向量的点积得到未归一化的注意力分数,然后将这些分数进行softmax归一化,得到注意力权重。数学公式如下所示:

注意力分数:

score(q, k) = q * k^T

未归一化的注意力分数:

score_unnormalized(q, K) = [q * K^T]_i

注意力权重:

attention_weight(q, K) = softmax(score_unnormalized(q, K)) = exp(score_unnormalized(q, K)) / ∑(exp(score_unnormalized(q, K))_j)

其中,q为查询向量,k为键向量,K为所有键向量的矩阵表示。通过这种计算方式,可以将查询向量与键向量之间的相似性转换为注意力权重,用于模型的注意力聚焦。