可与Stand-Alone Self-Attention in Vision Models 对比阅读
1、Introduction
- 卷积操作具有显著的弱点,因为它仅在本地邻域上操作,缺少全局信息(only operates on a local neighborhood,thus missing global information)
- Self-attention能够capture long range interactions
- 本文考虑将Self-attention用于discriminative visual tasks,代替卷积的作用。
2、Methods
(1)引入two-dimensional relative self-attention mechanism,并通过实验证明了可行性
(2)模型细节
H: height
W: weight
Fin: number of input filters of an activation map
Nh: number of heads, Nh divides dv and dk
dv: depth of the values
dk: depth of the queries/keys
-
single-head attention
-
以3×3为例,经过6个filter得到3×3×6的input
-
以单个head attention为例(蓝色部分),attention map中包括query map、key map和value map
-
如input中的位置6为self-attention target,对应的attention map中q6,k6,v6
-
通过QKT可以得到9×9的矩阵。
-
得到的a single head attention可以用以下公式表示:
where Wq,Wk∈RFin×dhk,Wv∈RFin×dhv
-
- multi-head 融合公式:
where WO∈Rdv×dv,最终得到(H,W,dv)的tensor
-
增加了位置信息
li,j=qTi√dhk(kj+rWjx−ix+rHjy−iy)Oh=Softmax(QKT+SrelH+SrelW√dhk)Vwhere SrelH,SrelW∈RHW×HW,其中SrelH[i,j]=qTirHjy−iyandSrelW[i,j]=qTirWjx−ix
-
但是直接使用self-attention会导致破坏了平移性,因此可以将self-attention与CNN结合使用