Attention机制是Transformer模型中的一个重要组成部件,而Transformer的重要性就不言而喻了。本文主要对Attention机制做一个简单的记录,加深自己对一些基础知识的掌握。
Attention机制本质上是权重分配,在计算每个token的时候,模型可以根据注意力机制确定该token在整个序列中的重要性(也即Attention输出的权重系数),应用该技术在特定场景下可明显提升模型性能。
1.Attention整体结构
图1 Attention
Attention的整体结构如图1所示。
输入
经过
线性变换矩阵
得到
最后将得到的输入到如下公式即可得到Attention的输出。
的维度是一致的
的shape是一致的,一个key对应一个value
2.Attention变体
Attention的变体有很多,下面主要介绍两种常用的变体。
2.1.Self-Attention
Self-Attention与一般的Attention结构是一样的,主要的区别就在于输入,Self-Attention的三个输入是相同的,也即
2.2.Muti-Head Attention
图2 Muti-Head Attention
Muti-Head Attention从结构上来看就是通过h个不同的线性变换将输入投影到h个不同的
组合,最后将h个不同的Attention结果拼接起来,最后经过一个Liner层得到Muti-Head Attention的输出。
其中, 、
参考资料
Transformer 模型详解 (推荐)
【NLP】Transformer模型原理详解
【经典精读】Transformer模型深度解读