没有合适的资源?快使用搜索试试~ 我知道了~
综述:计算机视觉中的注意力机制
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 5 下载量 109 浏览量
2021-01-27
11:38:37
上传
评论
收藏 1.09MB PDF 举报
温馨提示
为什么需要视觉注意力 计算机视觉(computervision)中的注意力机制(attention)的基本思想就是想让系统学会注意力——能够忽略无关信息而关注重点信息。为什么要忽略无关信息呢? 注意力分类与基本概念神经网络中的「注意力」是什么?怎么用? 该文分为:硬注意力、软注意力、此外,还有高斯注意力、空间变换
资源推荐
资源详情
资源评论
综述:计算机视觉中的注意力机制综述:计算机视觉中的注意力机制
概要
为什么需要视觉注意力
计算机视觉(computer vision)中的注意力机制(attention)的基本思想就是想让系统学会注意力——能够忽略无关信息而关
注重点信息。为什么要忽略无关信息呢?
注意力分类与基本概念
神经网络中的「注意力」是什么?怎么用?
该文分为:硬注意力、软注意力、此外,还有高斯注意力、空间变换
就注意力的可微性来分:
Hard-attention,就是0/1问题,哪些区域是被 attentioned,哪些区域不关注.硬注意力在图像中的应用已经被人们熟知多年:
图像裁剪(image cropping)
硬注意力(强注意力)与软注意力不同点在于,首先强注意力是更加关注点,也就是图像中的每个点都有可能延伸出注意力,
同时强注意力是一个随机的预测过程,更强调动态变化。当然,最关键是强注意力是一个不可微的注意力,训练过程往往是通
过增强学习(reinforcement learning)来完成的。
硬注意力可以用Python(或Tensorflow)实现为:
g = I[y:y+h, x:x+w]
上述存在的唯一的问题是它是不可微分的;你如果想要学习模型参数的话,就必须使用分数评估器(score-function
estimator)关于这一点,我的前一篇文章中有对其的简要介绍。
Soft-attention,[0,1]间连续分布问题,每个区域被关注的程度高低,用0~1的score表示.
软注意力的关键点在于,这种注意力更关注区域或者通道,而且软注意力是确定性的注意力,学习完成后直接可以通过网络生
成,最关键的地方是软注意力是可微的,这是一个非常重要的地方。可以微分的注意力就可以通过神经网络算出梯度并且前向
传播和后向反馈来学习得到注意力的权重。
然而,这种类型的软注意力在计算上是非常浪费的。输入的黑色部分对结果没有任何影响,但仍然需要处理。同时它也是过度
参数化的:实现注意力的sigmoid 激活函数是彼此相互独立的。它可以一次选择多个目标,但实际操作中,我们经常希望具有
选择性,并且只能关注场景中的一个单一元素。由DRAW和空间变换网络(Spatial Transformer Networks)引入的以下两种
机制很好地别解决了这个问题。它们也可以调整输入的大小,从而进一步提高性能。
就注意力关注的域来分:
空间域(spatial domain)
通道域(channel domain)
层域(layer domain)
混合域(mixed domain)
时间域(time domain):还有另一种比较特殊的强注意力实现的注意力域,时间域(time domain),但是因为强注意力是使用
reinforcement learning来实现的,训练起来有所不同
一个概念:Self-attention自注意力,就是 feature map 间的自主学习,分配权重(可以是 spatial,可以是 temporal,也可以
是 channel间)
软注意力
1. Spatial Transformer Networks(空间域注意力)—2015 nips
Spatial Transformer Networks(STN)模型[4]是15年NIPS上的文章,这篇文章通过注意力机制,将原始图片中的空间信息变
换到另一个空间中并保留了关键信息。
这篇文章认为之前pooling的方法太过于暴力,直接将信息合并会导致关键信息无法识别出来,所以提出了一个叫空间转换器
(spatial transformer)的模块,将图片中的的空间域信息做对应的空间变换,从而能将关键的信息提取出来。
spatial transformer其实就是注意力机制的实现,因为训练出的spatial transformer能够找出图片信息中需要被关注的区域,同
时这个transformer又能够具有旋转、缩放变换的功能,这样图片局部的重要信息能够通过变换而被框盒提取出来。
比如这个直观的实验图:
(a)列是原始的图片信息,其中第一个手写数字7没有做任何变换,第二个手写数字5,做了一定的旋转变化,而第三个手写数
字6,加上了一些噪声信号;
(b)列中的彩色边框是学习到的spatial transformer的框盒(bounding box),每一个框盒其实就是对应图片学习出来的一个
spatial transformer;
?列中是通过spatial transformer转换之后的特征图,可以看出7的关键区域被选择出来,5被旋转成为了正向的图片,6的噪声
信息没有被识别进入。
2. SENET (通道域)—2017CPVR
中间的模块就是SENet的创新部分,也就是注意力机制模块。这个注意力机制分成三个部分:挤压(squeeze),激励
(excitation),以及scale(attention)。
流程:
将输入特征进行 Global AVE pooling,得到 1_1_ Channel
然后bottleneck特征交互一下,先压缩 channel数,再重构回channel数
最后接个 sigmoid,生成channel 间0~1的 attention weights,最后 scale 乘回原输入特征
3. Residual Attention Network(混合域)—2017
文章中注意力的机制是软注意力基本的加掩码(mask)机制,但是不同的是,这种注意力机制的mask借鉴了残差网络的想法,
不只根据当前网络层的信息加上mask,还把上一层的信息传递下来,这样就防止mask之后的信息量过少引起的网络层数不能
堆叠很深的问题。
文提出的注意力mask,不仅仅只是对空间域或者通道域注意,这种mask可以看作是每一个特征元素(element)的权重。通
过给每个特征元素都找到其对应的注意力权重,就可以同时形成了空间域和通道域的注意力机制。
很多人看到这里就会有疑问,这种做法应该是从空间域或者通道域非常自然的一个过渡,怎么做单一域注意力的人都没有想到
呢?原因有:
如果你给每一个特征元素都赋予一个mask权重的话,mask之后的信息就会非常少,可能直接就破坏了网络深层的特征信息;
另外,如果你可以加上注意力机制之后,残差单元(Residual Unit)的恒等映射(identical mapping)特性会被破坏,从而很
难训练。
该文章的注意力机制的创新点在于提出了残差注意力学习(residual attention learning),不仅只把mask之后的特征张量作为下
一层的输入,同时也将mask之前的特征张量作为下一层的输入,这时候可以得到的特征更为丰富,从而能够更好的注意关键
特征。
文章中模型结构是非常清晰的,整体结构上,是三阶注意力模块(3-stage attention module)。每一个注意力模块可以分成两个
分支(看stage2),上面的分支叫主分支(trunk branch),是基本的残差网络(ResNet)的结构。而下面的分支是软掩码分支(soft
mask branch),而软掩码分支中包含的主要部分就是残差注意力学习机制。通过下采样(down sampling)和上采样(up
sampling),以及残差模块(residual unit),组成了注意力的机制。
模型结构中比较创新的残差注意力机制是:
H是注意力模块的输出,F是上一层的图片张量特征,M是软掩码的注意力参数。这就构成了残差注意力模块,能将图片特征
和加强注意力之后的特征一同输入到下一模块中。F函数可以选择不同的函数,就可以得到不同注意力域的结果:
f1是对图片特征张量直接sigmoid激活函数,就是混合域的注意力;
f2是对图片特征张量直接做全局平均池化(global average pooling),所以得到的是通道域的注意力(类比SENet);
f3 是求图片特征张量在通道域上的平均值的激活函数,类似于忽略了通道域的信息,从而得到空间域的注意力。
Non-local Neural Networks, CVPR2018
FAIR的杰作,主要 inspired by 传统方法用non-local similarity来做图像 denoise
主要思想也很简单,CNN中的 convolution单元每次只关注邻域 kernel size 的区域,就算后期感受野越来越大,终究还是局部
区域的运算,这样就忽略了全局其他片区(比如很远的像素)对当前区域的贡献。
剩余14页未读,继续阅读
资源评论
- 边璇ฅฅ2023-03-06这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
- sos19992023-03-09非常有用的资源,有一定的参考价值,受益匪浅,值得下载。
weixin_38560768
- 粉丝: 5
- 资源: 895
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于OPENCV和卷积神经网络的嗜睡检测系统,用于检测驾驶员是否嗜睡
- 给出了一个关于百度百科的爬虫小案例,根据设定的搜索条目,爬取对应内容
- 这是关于我的萌宠微信小程序的开发笔记
- Sublime Text 4 无法安装和激活 Virtualenv的详细攻略
- 基于Tensorflow的手势识别代码+数据集+文档说明(期末大作业)
- epoll接口使用 - 非阻塞式网络io(仅读事件)
- 我的萌宠微信小程序源码
- DLT664国网红外数据文件校验软件2024.zip
- 基于matlab+python使用深度强化学习解决视觉跟踪和视觉导航问题+源码+项目文档(毕业设计&课程设计&项目开发)
- led-tcp-maopencv
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功