文章目录
有哪些注意力机制
- 空间位置注意力机制:使用sigmoid对map进行操作,之后再与原来的map进行元素相加,相乘,concat; STN网络(Spatial Transformer Network);
- 通道注意力机制:一般是参照SENet(Sequeeze and Excitation Net),对通道进行加权操作;
- 结合空间位置和通道注意力机制:两者并行、两者串行、两者同时应用;
- 与GAN结合的注意力机制
- 与RNN结合的注意力机制
- 待补充
一文读懂计算机视觉中的注意力机制原理及其模型发展 - 云+社区 - 腾讯云 20190802
目标检测中的注意力机制 - 简书 20181203
1 Attention机制与显著图
1.1 何为Attention机制
所谓Attention机制,便是聚焦于局部信息的机制,比如图像中包含有最有用信息的某一个图像区域。随着任务的变化,注意力区域往往会发生变化。
1.2 基于Attention的显著目标检测
和注意力机制相伴而生的一个任务便是显著目标检测,即salient object detection。它的输入是一张图,输出是一张概率图,概率越大的地方,代表是图像中重要目标的概率越大,即人眼关注的重点,一个典型的显著图如下:
右图就是左图的显著图,在头部位置概率最大,另外腿部,尾巴也有较大概率,这就是图中真正有用的信息。
显著目标检测需要一个数据集,而这样的数据集的收集便是通过追踪多个实验者的眼球在一定时间内的注意力方向进行平均得到,典型的步骤如下:
(1) 让被测试者观察图。
(2) 用eye tracker记录眼睛的注意力位置。
(3) 对所有测试者的注意力位置使用高斯滤波进行综合。
(4) 结果以0~1的概率进行记录。
于是就能得到下面这样的图,第二行是眼球追踪结果,第三行就是显著目标概率图。
上面讲述的都是空间上的注意力机制,即关注的是不同空间位置,而在CNN结构中,还有不同的特征通道,因此不同特征通道也有类似的原理,下面一起讲述。
2 Attention模型架构
注意力机制的本质就是定位到感兴趣的信息,抑制无用信息,结果通常都是以概率图或者概率特征向量的形式展示,从原理上来说,主要分为空间注意力模型,通道注意力模型,空间和通道混合注意力模型三种,这里不区分soft和hard attention。
2.1 空间注意力模型(spatial attention)
不是图像中所有的区域对任务的贡献都是同样重要的,只有任务相关的区域才是需要关心的,比如分类任务的主体,空间注意力模型就是寻找网络中最重要的部位进行处理。
我们在这里给大家介绍两个具有代表性的模型,第一个就是Google DeepMind提出的STN网络(Spatial Transformer Network[1]),它通过学习输入的形变,从而完成适合任务的预处理操作(即,目标的定位和仿射变换调整),是一种基于空间的Attention模型。
相比于Spatial Transformer Networks 一步完成目标的定位和仿射变换调整,Dynamic Capacity Networks[2]则采用了两个子网络,分别是低性能的子网络(coarse model)和高性能的子网络(fine model)。低性能的子网络(coarse model)用于对全图进行处理,定位感兴趣区域,如下图中的操作fc。高性能的子网络(fine model)则对感兴趣区域进行精细化处理,如下图的操作ff。两者共同使用,可以获得更低的计算代价和更高的精度。
由于在大部分情况下我们感兴趣的区域只是图像中的一小部分,因此空间注意力的本质就是建模空间位置之间的重要性,定位目标并进行一些变换或者获取权重。
2.2 通道注意力机制
对于输入2维图像的CNN来说,一个维度是图像的尺度空间,即长宽,另一个维度就是通道,因此基于通道的Attention也是很常用的机制。
SENet(Sequeeze and Excitation Net)[3]是2017届ImageNet分类比赛的冠军网络,本质上是一个基于通道的Attention模型,它通过建模各个特征通道的重要程度,然后针对不同的任务增强或者抑制不同的通道,原理图如下。
在正常的卷积操作后分出了一个旁路分支,首先进行Squeeze操作(即图中Fsq(·)),它将空间维度进行特征压缩,即每个二维的特征图变成一个实数,相当于具有全局感受野的池化操作,特征通道数不变。
然后是Excitation操作(即图中的Fex(·)),它通过参数w为每个特征通道生成权重,w被学习用来显式地建模特征通道间的相关性。在文章中,使用了一个2层bottleneck结构(先降维再升维)的全连接层+Sigmoid函数来实现。
得到了每一个特征通道的权重之后,就将该权重应用于原来的每个特征通道,基于特定的任务,就可以学习到不同通道的重要性。
将其机制应用于若干基准模型,在增加少量计算量的情况下,获得了更明显的性能提升。作为一种通用的设计思想,它可以被用于任何现有网络,具有较强的实践意义。而后SKNet[4]等方法将这样的通道加权的思想和Inception中的多分支网络结构进行结合,也实现了性能的提升。
通道注意力机制的本质,在于建模了各个特征之间的重要性,对于不同的任务可以根据输入进行特征分配,简单而有效。
2.3 空间和通道注意力机制的融合
前述的Dynamic Capacity Network是从空间维度进行Attention,SENet是从通道维度进行Attention,自然也可以同时使用空间Attention和通道Attention机制。CBAM(Convolutional Block Attention Module)[5]是其中的代表性网络。
除此之外,还有很多的注意力机制相关的研究,比如残差注意力机制,多尺度注意力机制,递归注意力机制等。
注意力机制综述
- 一文看尽深度学习中的各种注意力机制(1998-2020年) 20210629
- 各种注意力机制,MLP,Re-Parameter系列的PyTorch实现 20220404
- 「深度学习视觉注意力 」最新2022研究综述,概述50种软硬注意力机制方法 20220420
- 高效涨点!注意力机制23种魔改方法汇总,含2023最新 20231206
- Attention:何为注意力机制? 20221228
- 重新认识注意力:为什么有的神经网络加入注意力机制后效果反而变差了? 20211229
- 【注意力机制综述】基础原理、变种和最近研究 20200423
二级标题
待补充
待补充
数学公式粗体
\textbf{}
或者
m
e
m
o
r
y
{\bf memory}
memory
数学公式粗斜体
\bm{}
摘录自“bookname_author”
此文系转载,原文链接:名称 20200505
高亮颜色说明:突出重点
个人觉得,:待核准个人观点是否有误
分割线
分割线
我是颜色为00ffff的字体
我是字号为2的字体
我是颜色为00ffff, 字号为2的字体
我是字体类型为微软雅黑, 颜色为00ffff, 字号为2的字体
分割线
分割线
问题描述:
原因分析:
解决方案: