Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions content/TinyTransformer/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,12 @@ $$v·w = \sum_{i}v_iw_i$$
根据词向量的定义,语义相似的两个词对应的词向量的点积应该大于0,而语义不相似的词向量点积应该小于0。

那么,我们就可以用点积来计算词之间的相似度。假设我们的 Query 为“fruit”,对应的词向量为 $q$;
我们的 Key 对应的词向量为 $k = [v_{apple} v_{banana} v_{chair}]$,
我们所有 Key 对应的词向量堆叠形成的矩阵 $K = [v_{apple} v_{banana} v_{chair}]$,
则我们可以计算 Query 和每一个键的相似程度:

$$x = qK^T$$

此处的 K 即为将所有 Key 对应的词向量堆叠形成的矩阵。基于矩阵乘法的定义,x 即为 q 与每一个 k 值的点积
基于矩阵乘法的定义,x 即为 q 与每一个词向量的点积
现在我们得到的 x 即反映了 Query 和每一个 Key 的相似程度,我们再通过一个 Softmax 层将其转化为和为 1 的权重:

$$softmax(x)_i = \frac{e^{x_i}}{\sum_{j}e^{x_j}}$$
Expand Down