高阶注意力机制_CV中的Attention机制 | NonLocal Network的理解与实现

NonLocal是由王小龙在CVPR2018提出的自注意力模型,模仿Non-Local Means滤波,用于捕捉图像的远程依赖。它通过计算位置间的交互,替代局部卷积,能广泛应用于图像分类、目标检测等任务,提升视觉任务的效果。文中探讨了NonLocal的原理、细节、不同相似度计算方法,并通过实验验证了其有效性。
摘要由CSDN通过智能技术生成

Non-local

Non-Local是王小龙在CVPR2018年提出的一个自注意力模型。Non-Local Neural Network和Non-Local Means非局部均值去燥滤波有点相似的感觉。普通的滤波都是3×3的卷积核,然后在整个图片上进行移动,处理的是3×3局部的信息。Non-Local Means操作则是结合了一个比较大的搜索范围,并进行加权。

在Non-Local NN这篇文章中的Local也与以上有一定关系,主要是针对感受野来说的,一般的卷积的感受野都是3×3或5×5的大小,而使用Non-Local可以让感受野很大,而不是局限于一个局部领域。 与之前介绍的CBAM模块,SE模块,BAM模块,SK模块类似,Non-Local也是一个易于集成的模块,针对一个feature map进行信息的refine, 也是一种比较好的attention机制的实现。不过相比前几种attention模块,Non-Local中的attention拥有更多地理论支撑,稍微有点晦涩难懂。 Non-local的通用公式表示: 4b85422c-4e37-eb11-8da9-e4434bdf6706.svg
  • x是输入信号,cv中使用的一般是feature map
  • i 代表的是输出位置,如空间、时间或者时空的索引,他的响应应该对j进行枚举然后计算得到的
  • f 函数式计算i和j的相似度
  • g 函数计算feature map在j位置的表示
  • 最终的y是通过响应因子C(x) 进行标准化处理以后得到的
理解: 与Non local mean相比,就很容易理解,i 代表的是当前位置的响应,j 代表全局响应,通过加权得到一个非局部的响应值。 Non-Local的优点是什么?
  • 提出的non-local operations通过计算任意两个位置之间的交互直接捕捉远程依赖,而不用局限于相邻点,其相当于构造了一个和特征图谱尺寸一样大的卷积核, 从而可以维持更多信息。
  • non-local可以作为一个组件,和其它网络结构结合,经过作者实验,证明了其可以应用于图像分类、目标检测、目标分割、姿态识别等视觉任务中,并且效果有不同程度的提升。
  • Non-local在视频分类上效果很好,在视频分类的任务中效果可观。

细节

论文中给了通用公式,然后分别介绍 f函数g函数的实例化表示: g函数: 可以看做一个线性转化(Linear Embedding)公式如下: 4c85422c-4e37-eb11-8da9-e4434bdf6706.svg 4e85422c-4e37-eb11-8da9-e4434bdf6706.svg 是需要学习的权重矩阵,可以通过空间上的1×1卷积实现(实现起来比较简单)。 **f函数:**这是一个用于计算i和j相似度的函数,作者提出了四个具体的函数可以用作f函数。
  • Gaussian function: 具体公式如下:
5085422c-4e37-eb11-8da9-e4434bdf6706.svg 这里使用的是 5185422c-4e37-eb11-8da9-e4434bdf6706.svg 一个点乘来计算相似度,之所以点积可以衡量相似度,这是通过余弦相似度简化而来的。 5385422c-4e37-eb11-8da9-e4434bdf6706.svg
  • Embedded Gaussian: 具体公式如下:
5485422c-4e37-eb11-8da9-e4434bdf6706.svg
  • Dot product: 具体公式如下:
5585422c-4e37-eb11-8da9-e4434bdf6706.svg
  • Concatenation: 具体公式如下:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值