注意力机制论文 --- ADCM: attention dropout convolutional module

最近找了十几篇神经网络注意力机制的论文大概读了一下。这篇博客记录一下其中一篇,这篇论文大概只看了摘要,方法,实验部分仅仅看了一点。主要是设计出一个名叫ADCM的模块,然后将这个模块放入到经典的神经网络算法中,说到底,论文就是将空间注意力和dropout结合PAD,再将通道注意力和dropout结合CAD,之后将这俩个子模块放在一起来形成一个模块ADCM。通道和空间注意力结合起来,之后通过注意力的大小去除一些不必要的模块。

CAD

CAD,channel attention dropout,就是利用了通道注意力,表示的是哪个通道更加有效,并将所有的通道都打上权重来表示重要性的大小,这里的使用了三个池化层,分别是最大,平均,随机,将每个通道的空间维度都进行压缩,出来的结果是一个通道变成了一个值,它将通道里的一张图片所有的元素进行了平均或者随机计算。之后对三个池化层使用全连接层,结果是C维向量,C就是C个通道,每个通道一个值,全连接层出来的结果就是channel attention,之后就是dropout mask,表示该通道是否需要,这里高注意力通道更会被保存下来,低注意力通道会被dropout。从厚度来减少大小。整体的思路就是先将每个通道的图片变成一个值,来表示全体的特征,这里使用了三种池化来表示特征。这时还需要求出通道之间的关系,就需要全连接将所有通道之间的关系求出来,这样才能求出各通道之间的权重信息。对于全连接层的作用之后再用一篇文章解释。

PAD

PAD,position attention dropout,它利用空间注意力,表示图上哪个位置是最有用的,也就是图片上有效的特征。先使用1x1的pointwise convolution来减少通道数,文中是变成了三个通道数。之后使用3x3卷积操作和sigmoid函数生成poistion attention matrix,采用平均池化的方式,平均池化将三通道变成了一通道,标注每个区域的poistion attention,通过poistion attention来指定每个区域保留的概率,最后使用公式找出dropout mask。

结合模块

CAD和PAD结合。首先用CAD子模块来计算得出相关通道,之后计算PAD,先是将之拓展成图片相同维度。将CAD子模块的结果与PAD结果互相运算得出结果。

注意力机制论文 --- ADCM: attention dropout convolutional module_第1张图片

 

 论文的实验是将ADCM模块放入到VGGNET和ResNet,并且将之放在网络的最后俩个卷积层之中。作者从实验得出放在最后俩层比较,模型会被训练90epochs,优化方法就是使用SGD,在训练阶段,每30次训练,学习率就会减少。

个人感觉整个模块和BAM很像,当然也是模仿了CBAM,CBAM是将通道注意力模块和空间注意力模块前后顺序放在一起,它是并行放在一起。本文在通道注意力模块只是加了一个随机池化层,在空间注意力中减少了一个最大池化层。虽然最终实验中与CBAM和SENet进行了比较。

 

你可能感兴趣的:(注意力机制论文 --- ADCM: attention dropout convolutional module)