SCA-CNN: Spatial and Channel-wise Attention in Convolutional Networks for Image Captioning
题目:SCA-CNN: Spatial and Channel-wise Attention in Convolutional Networks for Image Captioning
作者: Long Chen等(浙大、新国立、山大)
期刊:CVPR 2017
1 背景
注意力机制已经在自然语言处理和计算机视觉领域取得了很大成功,但是大多数现有的基于注意力的模型只考虑了空间特征,即那些注意模型考虑特征图像中的局部更“重要”的信息,忽略了多通道信息的重要性关系。这篇文章介绍了一种新型的卷积神经网络——SCA-CNN,它融合了空间和信道的关注。
2 方法
本文提出的方法针对图像和文字的匹配问题(neural image/video captioning (NIC))和视觉问答(visual question answering (VQA))。图1说明了在多层特征图中引入通道注意力机制的动机。首先,由于通道方向的特征映射本质上是对应滤波器的检测器响应映射,因此通道方向的保持可以看作是根据句子上下文的需求选择语义属性的过程。例如,当我们要预测蛋糕的时候,我们的通道会更关注根据蛋糕、火、光和蜡烛的语义,在过滤器生成的通道方向的特征图。

概述:
网络采用编码-解码框架生成图像标题,如图2所示,SCA-CNN通过多层面的信道注意和空间注意,赋予了原CNN多层地物图对句子上下文的自适应能力。

空间注意(Spatial Attention):
一般来说,一个词只与图片的一小部分有关,空间注意机制试图将注意力更多地放在语义相关区域,而不是平均考虑每个图像区域。对于第l层特征图V = [v1, v2,…,v m], v∈RC×m,其中m为图像被划分的区域数,C为信道数,因此vi∈RC是第i个位置的视觉特征。空间注意力分布因子α如下:

通道注意力(Channel-wise Attention):
对每个通道应用空间均值池化,得到通道特征v:

通道注意力因子β:

框架结构1 通道-空间:
如图2所示,现在通道特征上应用注意力机制,然后再空间特征上应用。

其中fc()为特征映射通道与对应通道权值的乘机。
框架结构2 空间-通道:

框架结构3 空间、通道集成到一个结构:

每个标量特征都有一个概率权重,可以显著增加特征表示的变化量,但是计算量大。
3 结果
对通道注意力机制的评估:

根据表1,我们得出以下结论:1)使用VGG-19,S比SAT好;使用ResNet-152,SAT性能要优于S。这是因为VGG-19网络具有完全连接的层,可以保留空间信息,但是,ResNet-152最初是平均池化的,因此无法保存空间信息。 2)比较C ans S的性能,ResNet-152可以比VGG-19网络显着改善C性能,这表明更多的通道数可以提高通道的注意性能,因为ResNet-152比VGG-19具有更多的通道数。 3)在VGG-19和ResNet-152中,S-C和S-C的性能非常相似。通常,C-S比S-C稍好一些,这可能是由于通道方向的特征更加关注。 4)在ResNet-152中,C-S或S-C可以明显改善S的性能。这表明,通过增加按通道注意,可以在通道数量较大时显着提高性能。
多层注意力机制评价:
另外实验证明,通过在两个模型(S和C-S)中添加层可以获得更好的结果,这是因为多层注意有助于获得对多种语义抽象的视觉关注,但是添加的层数过多会引起过拟合的问题。
从表4和表5的结果可以看出,在大多数情况下,SCA-CNN都优于其他两种模型(数据集:MS COCO Image Challenge set)。
与当前较好的结果的比较:

我们可以看到,在大多数情况下,SCA-CNN优于其他模型。 这是由于SCA-CNN利用空间,通道和多层注意力,而大多数注意力模型仅关注一种注意力类型。这是因为SCA-CNN利用了空间、频道和多层的注意力,而大多数注意力模型只关注一种注意力类型。请注意,我们不能超越ATT和谷歌NIC的原因是他们声称使用集成模型。然而,作为一个单一的模型,SCA-CNN仍然可以达到与集成模型相比较的结果。
相关结果展示:

4 结论
提出了一种新的注意力结构,称为SCA-CNN。SCA-CNN充分考虑了CNN的特点,并将其转化为细致的图像特征:空间性、频道性和多层性,实现了跨越流行基准的最新性能。
SCA-CNN: Spatial and Channel-wise Attention in Convolutional Networks for Image Captioning的更多相关文章
- 【注意力机制】Attention Augmented Convolutional Networks
注意力机制之Attention Augmented Convolutional Networks 原始链接:https://www.yuque.com/lart/papers/aaconv 核心内容 ...
- 《Attention Augmented Convolutional Networks》注意力的神经网络
paper: <Attention Augmented Convolutional Networks> https://arxiv.org/pdf/1904.09925.pdf 这篇文章是 ...
- Paper Reading - CNN+CNN: Convolutional Decoders for Image Captioning
Link of the Paper: https://arxiv.org/abs/1805.09019 Innovations: The authors propose a CNN + CNN fra ...
- 深度学习论文翻译解析(九):Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
论文标题:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 标题翻译:用于视觉识别的深度卷积神 ...
- 目标检测--Spatial pyramid pooling in deep convolutional networks for visual recognition(PAMI, 2015)
Spatial pyramid pooling in deep convolutional networks for visual recognition 作者: Kaiming He, Xiangy ...
- 【论文笔记】Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition 2018-01-28 15:4 ...
- (zhuan) Attention in Neural Networks and How to Use It
Adam Kosiorek About Attention in Neural Networks and How to Use It this blog comes from: http://akos ...
- Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Kaiming He, Xiangyu Zh ...
- SPPNet论文翻译-空间金字塔池化Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
http://www.dengfanxin.cn/?p=403 原文地址 我对物体检测的一篇重要著作SPPNet的论文的主要部分进行了翻译工作.SPPNet的初衷非常明晰,就是希望网络对输入的尺寸更加 ...
随机推荐
- Mybatis入门(一)环境搭建
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- Day2-N-滑雪-POJ1088
Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道载一个区域中最长底滑坡. ...
- Python 开篇
一.Linux基础 - 计算机以及日后我们开发的程序防止的服务器的简单操作 二.Python开发 http://www.cnblogs.com/wupeiqi/articles/5433893.htm ...
- [题解 LuoguP4491 [HAOI2018]染色
传送门 神仙计数题 Orz 先令\(F[k]\)表示出现次数恰好为\(S\)次的颜色恰好有\(k\)中的方案数,那么 \[Ans=\sum\limits_{i=0}^mW_iF[i]\] 怎么求\(F ...
- Liveness 探测【转】
Liveness 探测让用户可以自定义判断容器是否健康的条件.如果探测失败,Kubernetes 就会重启容器. 还是举例说明,创建如下 Pod: 启动进程首先创建文件 /tmp/healthy,30 ...
- Ubuntu 19.10将使用GCC 9作为默认编译器
作为我们这一周期一直期待的变化,Ubuntu 19.10升级到GCC 9作为GCC 8的默认系统编译器. Ubuntu 19.10(和Ubuntu 20.04 LTS)将使用GCC 9 stable作 ...
- Rabbitmq与spring整合之重要组件介绍——rabbitAdmin组件
rabbitAdmin组件是一个管理组件,主要是用户通过该组件进行rabbitmq的队列交换器虚拟主机等等进行操作.这里面有些教程说不用声明可以直接绑定,但是本博主运行时,不生命情况下就会报错,可能是 ...
- Manacher算法[O(n)]
问题描述: 输入一个字符串,求出其中最大的回文子串.子串的含义是:在原串中连续出现的字符串片段.回文的含义是:正着看和倒着看相同,如abba和yyxyy. 算法基本要点: 首先用一个非常巧妙的方式,将 ...
- php中date('Y/m/d',time())显示不对
一. 时间不对是因为没设置时区 在xampp/php/php.ini中ctrl + f 查找date.timezone 该行默认注释,去掉 ; 修改为 date.timezone = PRC 二 上述 ...
- JAVA String类常用方法
一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建 ...