【注意力机制】加性注意力(Additive Attention)&缩放点积注意力(Scaled Dot-product Attention)

加性注意力

这种注意力方法是第一篇文章被提出来的,也被叫做Bahdanauz注意力。主要计算方法是将h和s先用两个参数矩阵W^q (q*d)和W^k (k*d)分别映射到d维,然后把他们相加(element-wise),经过一个tanh激活函数后,再与另一个参数矩阵W(也是d维)进行点积,最终得到注意力权重α(标量),随后需要用softmax进行归一化。

李宏毅老师的讲解:

王树森老师的讲解,这里是把两个参数矩阵W^qW^k先拼接到了一起,然后对拼接好的输入向量进行点积,因为点积计算也是加性的,所以被叫做加性注意力。

这种注意力的计算方法现在比较不常用

缩放点积注意力

这是Transformer文章提出的注意力计算方法,也被叫做Vaswani注意力。

主要计算方法是将h和s先用两个参数矩阵W^q (q*d)和W^k (k*d)分别映射到d维,然后直接把他们点积,然后再softmax,得到注意力权重α。

注意的是这里需要进行一个缩放,作者认为,对于较大的 d 值,点积的数量级会变大,从而将 softmax 函数推向梯度极小的区域,不利于训练。因此需要除以\sqrt{d_k}

李宏毅老师的讲解: