Attention 机制
Attention 机制的直观理解就是:给定字典 D={K,V},和一个 Token Q。Attention 基于一个朴素的理解,例如英语里,如果两个单词长得差不多,那么语义应该也差不多(也就是词性变换)。如果可以量化出相似度,那么我们就可以一定程度上可以表示出这个单词的意思
对于 Token 而言,其都是长度为 d 的词向量,不同的相似度计算方式会产生不同的 Attention 计算公式。一般而言,可以写成下面这种形式
Attention(Q,K,V)=score(Q,K)⋅V这里,如果字典的大小为 m,查询 n 个词,每个词的 Embedding 维度为 d,代表“意义”的 Value 的维度为 dv,则这三个矩阵的大小分别为
Q∈Rn×dK∈Rm×dV∈Rm×dv例如经典的 Scaled Dot Product Attention,其 score function 就是 softmax(dQKT)
Attention(Q,K,V)=softmax(dQK⊺)⋅V