加性注意力
这种注意力方法是第一篇文章被提出来的,也被叫做Bahdanauz注意力。主要计算方法是将h和s先用两个参数矩阵 (q*d)和
(k*d)分别映射到d维,然后把他们相加(element-wise),经过一个tanh激活函数后,再与另一个参数矩阵W(也是d维)进行点积,最终得到注意力权重α(标量),随后需要用softmax进行归一化。
李宏毅老师的讲解:
王树森老师的讲解,这里是把两个参数矩阵和
先拼接到了一起,然后对拼接好的输入向量进行点积,因为点积计算也是加性的,所以被叫做加性注意力。
这种注意力的计算方法现在比较不常用
缩放点积注意力
这是Transformer文章提出的注意力计算方法,也被叫做Vaswani注意力。
主要计算方法是将h和s先用两个参数矩阵 (q*d)和
(k*d)分别映射到d维,然后直接把他们点积,然后再softmax,得到注意力权重α。
注意的是这里需要进行一个缩放,作者认为,对于较大的 d 值,点积的数量级会变大,从而将 softmax 函数推向梯度极小的区域,不利于训练。因此需要除以
李宏毅老师的讲解: