参考链接
- https://www.bilibili.com/video/BV1JE411g7XF?p=54
- https://arxiv.org/abs/1706.03762
- https://blog.csdn.net/qq_36653505/article/details/83375160
简述自注意力机制(self-attention)
self-attention可以视为一个特征提取层,给定输入特征a1,a2,⋅⋅⋅ana^{1},a^{2},\cdot \cdot \cdot a^{n}a1,a2,⋅⋅⋅an,经过self-attention layer,融合每个输入特征,得到新的特征b1,b2,⋅⋅⋅bnb^{1},b^{2},\cdot \cdot \cdot b^{n}b1,b2,⋅⋅⋅bn。具体如下:
设输入特征为III,分别将其乘以三个矩阵WqW^{q}Wq、WkW^{k}Wk和WvW^{v}Wv得到QQQ(query)、KKK(key)和VVV(value)三个矩阵;接下来使用矩阵QQQ和KKK的乘积得到注意力矩阵AAA,归一化得到A^\hat{A}A^;最后,将归一化后的注意力矩阵A^\hat{A}A^乘上VVV,得到最后的输出特征OOO。

多头自注意力机制(multi-head self-attention)
上述的self-attention中,每个输入特征aia^{i}ai乘上矩阵WqW^{q}Wq、WkW^{k}Wk和WvW^{v}Wv后,分别得到一个向量qiq^{i}qi、kik^{i}ki和viv^{i}vi,称为单头自注意力机制。如果将这些向量

本文深入介绍了自注意力机制(self-attention),作为特征提取层,它能够融合输入特征并生成新的表示。多头自注意力机制进一步增强了这种能力,通过拆分向量为多个头,捕捉不同维度的信息。文中还提供了详细的PyTorch代码实现,展示如何构建self-attention层及其在Transformer模型中的应用。
机制实现(代码详解)&spm=1001.2101.3001.5002&articleId=115282604&d=1&t=3&u=a87e83492f3549a5b126913114d536de)
3254

被折叠的 条评论
为什么被折叠?



