论文:SCA-CNN: Spatial and Channel-wise Attention in Convolutional Networks for Image Captioning
文章提出一个新颖的卷积神经网络叫做SCA-CNN,在CNN中加入了Spatial Attention和Channel-wise Attention机制。在图像标注任务中,SCA-CNN动态调制了多层特征图中的句子迭代的context,包含了where信息(和多层卷积层中的空间位置相关)和what信息(和channels相关)。
然而,大多数现有的基于注意力的图像字幕模型只考虑了空间特征,即那些注意模型仅通过空间细节权重将句子上下文调制到最后一个信息层特征图中。本文中,充分将CNN特征的三个特点应用在可视化的基于attention的image caption中。
Attention细节:
文章借鉴流行的encoder-decoder框架,使用CNN作为编码器,使用LSTM网络作为解码器。SCA-CNN通过channel-wise attention 和spatial attention机制利用了CNN产生的多层特征图。
要产生image caption的第t个单词,需要将前一个时刻LSTM网络的隐藏层状态 ,d是隐藏层状态的维度。在卷积层的第l层,spatial和channel-wise attention的权重
由
和
通过函数计算得到。最后,SCA-CNN使用attention权重
将
调制进行调制,得到调制后的特征
。
是一个函数,取决于channel-wise attention和spatial attention两种机制。f(·)是一个线性权重函数用来调制CNN特征和attention权重。
最后,通过如下的过程产生第t个单词:
其中,L是卷积层的层数,pt是一个概率向量。可以分别计算
和
两个权重来近似。
和
分别表示spatial模型和channel attention模型。
Spatial Attention:
区别于平等地考虑每一个图像区域,空间注意力机制更多的关注语义相关的区域。将原始的V reshape为:,其中每一个
是一个C维向量,C是通道数,m的大小为W*H。将
看作是第i个区域的可视化特征,在得到LSTM网络前一个时刻的隐藏层状态之后,使用一个单层神经网络加一个softmax层产生attention概率分布
。下面是
模型的表示:
Channel-wise Attention:
Channel-wise attention机制可以看作是一个选择语义属性的过程,联想到semantic attention。对于channel-wise attention,首先将特征V reshape成U,,其中
表示特征图V的第i个通道的数据,然后对每一个通道做平均池化得到通道特征v:
,v是向量u的平均值,表示第i个通道的特征。channel-wise attention模型
就可以表示为:
最后就是用不同的顺序组合spatial attention和channel-wise attention机制: