目录
Relative Position bias--相对位置偏移
一:Transformer
Transformer主要用于NLP(自然语言处理领域)但不过近年来随着技术的不断发展,Tramsformer也逐渐应用到了计算机视觉领域。Transformer领域最重要的就是自注意力机制和多头注意力机制。Transformer的记忆长度是可以无限长的,并且可以并行。
自注意力机制
注意力机制就是通过计算注意力权重,对特征进行重加权以达到强化有效特征,抑制无效特征的目的--简而言之就是对输入的不同元素考虑不同的权重参数,从而更加关注与输入元素相似的那一部分。自注意力机制的示意图如下:
首先假设我们的输入数据为X1和X2,通过Embedding层会将数据映射到一个更高的维度得到对应的a1和a2,再通过W^q,W^k,W^v参数矩阵生成对应的q,k,v(这里的参数矩阵对所有的参数矩阵都是共享的),这里的q会去匹配每一个k,v代表的是。
使用点乘法将q和k进行匹配,计算相似度的公式如下:
其匹配过程如下图:
使用q1和k1进行相似度匹配得到α1,1.同理将q1与k2进行匹配运算得到α1,2,再通过Softmax函数将相似度的计算结果映射到0-1之间得到^a1,1和^α1,2,这里得到的两个变量就是针对每一个不同的v其所得到的一个权重值,这个权重值越大就代表我们需要越关注其所对应的v。最后将所得到的权重与其对应的v的值进行相乘,然后再将各个结果进行求和,将自注意力机制抽象成一个模块的话如下图所示:
多头注意力机制
多头注意力机制和自注意力机制类似,将输入的a与参数矩阵相乘得到对应的q,k,v这一步和自注意力机制相同,然后再根据Head的情况对所得的数据进行拆分(实际上就是均分操作)在下图中head的个数是两个,将所有的q,k,v都进行类似的拆分如下图所示
在拆分之后,将拆分所得的第二个数字为1的所有参数都归为head1这一类,同理将所有参数的第二个数字为2的全部归为head2这一类,通过此操作我们便将我们的数据分为了两个类如下所示: