文章目录
1 从矩阵的角度来理解Self-Attention的运作
接下来我们从矩阵乘法的角度来看一下Self-Attention是如何运作的。
我们现在已经知道每一个 a a a 都产生一个对应的 q , k , v q, k, v q,k,v:

我们每一个 a a a 都要乘上一个矩阵 W q W^q Wq 来得到对应的 q i q^i qi ,这些不同的 a a a 其实合起来,当作一个矩阵来看待,这个矩阵我们用 I I I 来表示,这个 I I I 矩阵的四个 column 就是 a 1 a^1 a1 到 a 4 a^4 a4。

I I I 乘上 W q W^q Wq 就得到另外一个矩阵,我们用 Q Q Q 来表示它,这个 Q Q Q 矩阵的四个 column 就是 q 1 q^1 q1 到 q 4 q^4 q4 。所以我们之前那个从 a 1 a^1 a1 到 a 4 a^4 a4,得到 q 1 q^1 q1 到 q 4 q^4 q4 的操作,看起来好像是分开计算的,但实际上就是把 I I I 这个矩阵,乘上矩阵 W q W^q Wq,得到矩阵 Q Q Q。所以说 q 1 q^1 q1 到 q 4 q^4 q4 其实是并行产生的,而** W q W^q Wq是 network 的参数,它是会被 learn 出来的**。

那事实上呢,我们把 I I I 分别乘上矩阵 W q , W k , W v W^q, W^k, W^v Wq,Wk,Wv 就能得到相应的 Q , K , V Q, K, V Q,K,V 矩阵,也就得到了 a 1 a^1 a1 到 a 4 a^4