计算机视觉技术self-attention最新进展

SIGAI特约作者

Fisher Yu

CV在读博士

研究方向:情感计算

导言

Attention注意力,起源于Human visual system(HVS),个人定义的话,应该类似于 外界给一个刺激Stimuli,然后HVS会第一时间产生对应的 saliency map,注意力对应的应该就是这个显著性区域。

这其中就涉及很多 bottom-up 及 top-down 的 physiological 原理~

Non-local NN, CVPR2018

FAIR的杰作,主要 inspired by 传统方法用non-local similarity来做图像 denoise。

主要思想也很简单,CNN中的 convolution单元每次只关注邻域 kernel size 的区域,就算后期感受野越来越大,终究还是局部区域的运算,这样就忽略了全局其他片区(比如很远的像素)对当前区域的贡献。

所以 non-local blocks 要做的是,捕获这种 long-range 关系:对于2D图像,就是图像中任何像素对当前像素的关系权值;对于3D视频,就是所有帧中的所有像素,对当前帧的像素的关系权值。

网络框架图也是简单粗暴:

Non-local block[1]

文中有谈及多种实现方式,在这里简单说说在DL框架中最好实现的 Matmul 方式:

1. 首先对输入的 feature map X 进行线性映射(说白了就是 1*1*1 卷积,来压缩通道数),然后得到θ,Φ,g特征

2. 通过reshape操作,强行合并上述的三个特征除通道数外的维度,然后对θ和Φ进行矩阵点乘操作,得到类似协方差矩阵的东西(这个过程很重要,计算出特征中的自相关性,即得到每帧中每个像素对其他所有帧所有像素的关系)

3. 然后对自相关特征 以列or以行(具体看矩阵g的形式而定) 进行 Softmax 操作,得到0~1的weights,这里就是我们需要的 Self-attention 系数

4. 最后将 attention系数,对应乘回特征矩阵g中,然后再上扩 channel 数,与原输入 feature map X 残差一下,完整的 bottleneck

嵌入在 action recognition 框架中的attention map 可视化效果:

注意力可视化[1]

图中的箭头表示,previous 若干帧中的某些像素 对最后图(当前帧)的脚关节像素的贡献关系。由于是soft-attention,其实每帧每个像素对对其有贡献关系,图中黄色箭头是把响应最大的关系描述出来。

总结

Pros:non-local blocks很通用的,容易嵌入在任何现有的 2D 和 3D 卷积网络里,来改善或者可视化理解相关的CV任务。比如前不久已有文章把 non-local 用在 Video ReID [2] 的任务里。

Cons:文中的结果建议把non-local 尽量放在靠前的层里,但是实际上做 3D 任务,靠前的层由于 temporal T 相对较大,构造θ,Φ及点乘操作那步,超多的参数,需要耗费很大的GPU Memory~ 可后续改善

Interaction-aware Attention, ECCV2018

美图联合中科院的文章。

这文章扯了很多 Multi-scale 特征融合,讲了一堆 story,然并卵;直接说重点贡献,就是在 non-local block 的协方差矩阵基础上,设计了基于 PCA 的新loss,更好地进行特征交互。作者认为,这个过程,特征会在channel维度进行更好的 non-local interact,故称为 Interaction-aware attention。

那么问题来了,怎么实现 通过PCA来获得 Attention weights呢?

文中不直接使用 协方差矩阵的特征值分解 来实现,而是使用下述等价形式:

根据上面公式约束,设计了Interaction-aware loss 来增强channel间的non-local交互:

其中 A 为需要学习的 attention weights,X 为输入的 feature map

整体的Attention Block框架图和 non-local 基本一致,有点小区别是,在 X 和 Watten 点乘后,还加了个 b 项,文中说这里可看作 data central processing (subtracting mean) of PCA

spatial pyramid interactive attention layer[3]

动作识别的主网络就与non-local中直接使用 I3D 不同,这里是使用类似 TSN 的采样Segment形式输入,然后使用2D网络提特征,再统一在Attention block进行时空聚合。

动作识别网络框架[3]

CBAM: Convolutional Block Attention Module, ECCV2018

这货就是基于 SE-Net [5]中的 Squeeze-and-Excitation module 来进行进一步拓展,具体来说,文中把 channel-wise attention 看成是教网络 Look 'what’;而spatial attention 看成是教网络 Look 'where',所以它比 SE Module 的主要优势就多了后者。

我们先看看 SE-module:

SE-module[5]

流程:

1. 将输入特征进行 Global AVE pooling,得到 1*1* Channel

2. 然后bottleneck特征交互一下,先压缩 channel数,再重构回channel数

3. 最后接个 sigmoid,生成channel 间0~1的 attention weights,最后 scale 乘回原输入特征

再看看 CBAM :

CBAM[4]

Channel Attention Module,基本和 SE-module 是一致的,就额外加入了 Maxpool 的 branch。在 Sigmoid 前,两个 branch 进行 element-wise summation 融合。

Spatial Attention Module, 对输入特征进行 channel 间的 AVE 和 Max pooling,然后 concatenation,再来个7*7大卷积,最后 Sigmoid

总的来说,上述几个Attention module很容易嵌入到现有的网络框架中,而 CBAM 特别轻量级,也方便在端部署,也可再cascade一下temporal attention,放进 video 任务里用~~

估计后续学术界会有很多基于它们的变形和应用,哈哈~

Reference:

[1] Xiaolong Wang, Ross Girshick, Abhinav Gupta, Kaiming He, Non-local Neural Networks, CVPR2018

[2]Xingyu Liao, Lingxiao He, Zhouwang Yang, Video-based Person Re-identification via 3D Convolutional Networks and Non-local Attention,2018

[3]Yang Du, Chunfeng Yuan, Bing Li, Lili Zhao, Yangxi Li, Weiming Hu,Interaction-aware Spatio-temporal Pyramid Attention Networks for Action Classification, ECCV2018

[4] CSanghyun Woo, Jongchan Park, Joon-Young Lee, In So Kweon, BAM: Convolutional Block Attention Module, ECCV2018

[5]Jie Hu, Li Shen, Gang Sun,Squeeze-and-Excitation Networks, ILSVRC 2017 image classification winner; CVPR 2018 Oral

▲向上滑动查看更多推荐文章

原文发布于微信公众号 - SigAI(SIGAICN)

原文发表时间:2018-09-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

终于,Geoffrey Hinton那篇备受关注的Capsule论文公开了

28410
来自专栏AI科技评论

学界 | 百度SVAIL推出高效问答模型GNR,比双向注意流快24.7倍

AI科技评论消息,百度硅谷AI实验室最近推出强文,文中提出了一种被称为GNR(Globally Normalized Reader)的方法。据AI科技评论了解,...

2678
来自专栏数据派THU

收藏 | 精选11篇AI领域论文(附代码、数据集链接)

4846
来自专栏大数据文摘

没有完美的数据插补法,只有最适合的

数据缺失是数据科学家在处理数据时经常遇到的问题,本文作者基于不同的情境提供了相应的数据插补解决办法。没有完美的数据插补法,但总有一款更适合当下情况。

1595
来自专栏AI2ML人工智能to机器学习

回归分析中的问题和修正的探讨(下篇)

探讨的上篇中, 我们探讨了多重共线性MultiCollinearity和异方差Heteroskedasticity, 接下来我们讨论自相关和误差变量。

1193
来自专栏人工智能头条

胡新辰:LSTM学习教程、资料以及最新进展介绍总结

3472
来自专栏人工智能

深度学习NLP最佳方法

2017年7月26日更新:有关其他上下文,HackerNews对此帖的讨论。

3769
来自专栏新智元

中国团队夺得MegaFace百万人脸识别冠军,精度98%再创记录,论文代码+数据全开源

MegaFace数据集 网络结构 首先,我们尝试在人脸识别的任务上找到一个优秀的网络结构。 3.1 网络输入设定 在我们所有的实验当中,都根据人脸的 5 个...

1.1K10
来自专栏机器之心

爆款论文提出简单循环单元SRU:像CNN一样快速训练RNN(附开源代码)

选自arXiv 机器之心编译 机器之心编辑部 近日,一篇题为《Training RNNs as Fast as CNNs》的 arXiv 论文通过有意简化状...

35611
来自专栏图形学与OpenGL

模拟试题B

1.灰度等级为256级,分辨率为2048*1024的显示器,至少需要的帧缓存容量为( )

3511

扫码关注云+社区

领取腾讯云代金券