Multi-head Self-attention

首先为什么需要多种注意力?

之前我们都是用Q去找K,来计算相关性。但是两个事物之间相关性本身可能有多种不同的类型。因此设置多个Q(head),不同的Q来负责不同的相关性。

Multi-head Self-attention_第1张图片

 使用同样的方法得到,,,

Multi-head Self-attention_第2张图片

在计算的时候和之前一样,注意只和同一种类型的QKV计算

比如 ,,

bi1 = softmax( ) * 

bi2 = softmax( ) * 

 Multi-head Self-attention_第3张图片

 最后把bi1 bi2 接起来,再乘上一个矩阵得出bi,然后送到下一层去

Multi-head Self-attention_第4张图片

 

 注意:目前为止我们可以发现不管是Self-attention还是Multi-head Self-attention的操作中都没有加入关于输入input的位置信息(positional encoding)

因此,当我们觉得我们做的任务中位置信息也很重要的话,可以使用positional encoding的方法来为每一个input设置一个唯一的位置vector

 Multi-head Self-attention_第5张图片

 

 

你可能感兴趣的:(深度学习)