Attention
简介
注意力机制的本质就是定位感兴趣的
信息,抑制无用信息,结果通常都是
以概率图或者概率特征向量的形式展
示,从原理上来说,主要分为空间注
意力模型,通道注意力模型,空间和
通道混合注意力模型三种。
大部分工作都是基于CVPR2018的两个
工作SENet与Non-local或者借鉴其思想
进行改进,而其中non-local可以被理
解为获取空间注意力,SENet则关注
通道注意力。
Non-local(CVPR2018 )(自注意力)
•提出的non-local operations通过计算任意两个位置之间的相似度直接捕捉远程依赖,而不用局限于相邻点,
其相当于构造了一个和特征图谱尺寸一样大的卷积核, 从而可以维持更多信息。non-local可以作为一个组件
插入其他网络中。
(,)
()
g函数:用于计算feature map在j位置的表示,可以看做一个线性转化公式:
其中,Wg 是可学习的权重矩阵,可以通过空间上的1×1卷积实现。
f函数:用于计算i和j相关性的函数,作者提出了四个具体的函数可以用作f函数。 C(x)是归一化参数。
Gaussian function:
Dot product:
Embedded Gaussian:
Concatenation:
C(x)为x中的w*h
Non-local(CVPR2018)
计算相似度
信息。
用一个1×1卷积进行学习的。
x代表feature map,xi 代表的是当前
关注位置的信息,xj代表的是全局
θ代表的是 θ(xi)= xi ,实际操作是
φ代表的是 ϕ(xj)= ϕ xj,实际操作是
用一个1×1卷积进行学习的。
g函数同上。
C(x)代表的是归一化操作,在
embedding gaussian中使用的是
Sigmoid实现的。
SENet(CVPR2018)(通道、轻量)
SE block并不是一个完整的网络结构,而是一个子结构,可以嵌到其他分类或检测模型中。SENet的核心思想在
于通过网络根据loss去学习特征权重,使得有效的feature map通道权重大,无效或效果小的feature map通道权
重小的方式训练模型达到更好的结果,即在通道维度上使用注意力机制。
卷积池化操作
squeeze
excitation
特征重标定
C‘×H’×W‘ 大小的特征图,经过一系列卷积池化操作 Ftr 之后,得到 C×H×W 大小的特征图。接下来进行一个
Sequeeze and Excitation block。
Squeeze:对 C×H×W 进行 global average pooling,得到 1×1×C 大小的特征图,这个特征图可以理解为具有全
局信息
Excitation :全连接(降维)+Relu+全连接(升维)+sigmoid
特征重标定:使用 Excitation 得到的结果作为权重,乘到输入特征上
提出了一种先gathering再distributing的思想
SE-Inception/SE-ResNet
r是一个缩放参数,在文中取的是16,这个参数的
目的是为了减少channel个数从而降低计算量
2-Nets(NIPS2018)(空间、收集分布)
A2-Net借鉴SENet先gathering再distributing的思想,使用两层注意力机制将整个空间的关键特征收集到一个紧凑的集合
中(第一层注意力,双线性池化),然后自适应地将其分布到每个位置(第二层注意力)。SENet使用全局平均池化产
生单个全局特性并被分发到所有位置,忽略了位置之间的不同需求。而A2-Net中,更复杂的全局关系可以被一组紧凑
的特征所捕获,每个位置可以接收其自定义的全局信息,这些信息与现有的局部特征相辅相成,有助于学习更复杂的
关系。
获得了m个1*1*n
大小的全局描述符
每一列表示了如何将全局描述符
分配到各个位置
串联的Gathering和Distribution
2-Nets(NIPS2018)
B
③
G
⑤
Z
⑥
A
①
①:对输入特征图进行降维
③:双线性池化
常规形式:
⑤:
②
B
④
V
⑦
②、④:先对输入特征图进行1*1*1的卷积,然后进行softmax得到注意力权重
论文中B为大小为
××1的权重图
⑥:对得到的特征图进行升维 ⑦:与输入图像相加
bi是一个H×维的行向量
i可看做通道索引