学习transformer模型-用jupyter演示如何计算attention,不含multi-head attention,但包括权重矩阵W。
input embedding:文本嵌入
每个字符用长度为5的向量表示:
![](https://i-blog.csdnimg.cn/blog_migrate/cbc7437141707760734d7f8fee79a538.png)
注意力公式:
![](https://i-blog.csdnimg.cn/blog_migrate/687c378b4485bbc58c7c6c713ca16259.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6cb3776a344831eeae10cc6110826231.png)
1,准备Q K V:
先 生成权重矩阵WQ,WK,WV。权重矩阵W*是训练的目标。
再生成 Q K V。
![](https://i-blog.csdnimg.cn/blog_migrate/9d6b57fe356b30e06eb35927a9edbf11.png)
2,计算Q和K的点积,即相似度。
![](https://i-blog.csdnimg.cn/blog_migrate/ade8af781109b95c0cf98fc0a3276261.png)
3, 除以 K向量维度的平方根,好做softmax,不然比例计算会失衡。
![](https://i-blog.csdnimg.cn/blog_migrate/2e7a51f8aa1a160461a973bf95dbed37.png)
4,做softmax,得出百分比。
![](https://i-blog.csdnimg.cn/blog_migrate/0d5fd9b41ca9f68647fab19ad2d22994.png)
5,百分比再跟V相乘,得出attention
![](https://i-blog.csdnimg.cn/blog_migrate/3863861234a3196c4f83967bb49b6b41.png)