最新公告
  • 欢迎光临数据科学与编程,我们是数据学科学兴趣交流小组立即加入我们
  • 基于关系感知的全局注意力

    一、论文信息

    标题:《Relation-Aware Global Attention for Person Re-identification

    作者:Zhizheng Zhang et al.(中科大&微软亚洲研究院)

    文章:openaccess.thecvf.com/c

    源码:github.com/microsoft/Re

    文章收录于CVPR 2020,bib引用如下:

    @article{zhang2020relation,
    title={Relation-Aware Global Attention for Person Re-identification},
    author={Zhang, Zhizheng and Lan, Cuiling and Zeng, Wenjun and Jin, Xin and Chen, Zhibo},
    journal={CVPR},
    year={2020}
    }

    二、论文解读

    这是一篇将注意力机制应用于行人重识别(person re-identification)任务上的文章。自从注意力机制在NLP领域过渡到CV领域以来,不少文章已经提出了很多基于注意力的改进,如Non-Local[1],SE[2],cSE[3],sSE[3],CBAM[4],Dual attention[5],Criss-Cross Attention[6],Fast Attention[7]等等,笔者认为,其无外乎就是从整体-局部、空间-通道、计算量-有效性这几个维度进行改进。比如,Non-local旨在通过汇总来自所有位置的信息来增强目标位置的特征。这个计算量是庞大的,因为它计算了每个点对之间的关系:

    Diagram of Non-local block.

    Non-Local虽然可以在特征图的空间上捕捉长距离的依赖(上下文信息),但是当我们输入的特征图尺度过大时,这显存大多数情况下会爆炸。那么如何在合理的保持全局的感受野的同时,去减少显存和运算量呢?于是很多人就往这上面改进,比如CC-Net[6],采用的是当前位置与同一行和同一列像素的之间的相关性来得到水平和垂直方向之间的远距离像素的上下文信息,并同时叠加两个相同的模块来间接的获得全局的感受野,减少了计算量。

    Diagram of Criss-Cross block.

    本文的主要贡献点在于提出一个高效的“关系感知全局注意力”(Relation-aware Global attention, RGA)模块,该模块可以有效的捕获全局的结构信息,以便更好的进行注意力学习。具体来说,就是对每一个特征位置,为了更加紧凑地捕获全局的结构信息和局部的外观信息,使用RGA模块来将各种关系堆叠起来,即将所有的特征位置的成对相关性/亲和力(correlations/affinities)与特征本身一起,使用一个浅层神经网络来学习出注意力。通过应用RGA模块,可以显著的增强特征表示能力,从而学习到更具有判别力的特征。

    这里简单的介绍下行人重识别的任务是做什么的:

    行人重识别,简单来说就是要在不同的时间、地点或者相机上匹配到一个特定的人,属于图像检索的内容。其难点和核心便在于如何从杂乱的背景、姿态的多样性以及存在遮挡等各种复杂多变的情况下,有效地从人像图像中鉴别并提取出视觉特征(即区分出不同的人)。

    图(a)为原图。图(b)为CBAM模块预测出来的,可以看出上下文之间缺乏一种联系。图(c)是RGA模块可以从结构化的信息中捕获并挖掘到全局范围内的关系。

    注意力机制的本质就是以某种方式来探索事物的内在联系,通过不同的操作来对原始的输入进行一个要素的重分配,达到突出重要特征抑制非重要特征的目的。作者认为,大多数的注意力只是通过在感受野有限的范围内利用卷积进行学习,这使得在一个全局的范围内很难利用到丰富的结构化信息。一种解决方案是在卷积层中使用空洞卷积,另一种解决方案是通过堆叠深度来达到一个全局信息的获取,但无疑这两种操作都会大大增加网络的规模。此外,如[8]所述,CNN有效感受野仅占整个理论感受野的一小部分。除此之外,Non-local [1] 也被提出来通过成对的关系/亲和力来计算连接的去那种,使得神经网络能够通过从所有位置到目标位置之间的特征进行加权求和,从而捕获到全局的信息。然而,Non-local却忽略了许多丰富的全局信息探索。因为它仅仅是简单地将学习到的关系/亲和力当做权重来聚合特征。这种使用关系的确定性方式(即加权求和的方式)具备较弱的挖掘能力,并且也缺乏足够的适应性。因此,作者认为可以通过引入一种建模函数,从关系中挖掘出有效的信息,同时利用此类有价值的全局范围内的结构信息来引导注意力的学习。

    图2展示了如何学习到5个特征向量/节点x1,…,x5所对应的注意力系数过程。图(a)显示的是一个局部注意力的学习过程,其中每个特征向量都是独立的求出一个注意力系数的,忽略了各个特征向量的关联性。图(b)是基于全局的注意力:将5个特征向量连接起来共同学习出注意力系数。

    在计算特征位置的注意力时,为了掌握全局范围的信息,这里将成对关系项(即其与所有特征位置的相关性/亲和力)和一元项(即该位置的特征)进行堆叠, 通过卷积运算学习注意力

    基于空间的关系感知全局注意力 ( Spatial Relation-Aware Global Attention )

    基于通道的关系感知全局注意力 ( Channel Relation-Aware Global Attention )

    跟上面差不多,只不过计算方式不一样。

    总结

    本文提倡的观点是,要直观地判断一个特征节点是否重要,就应该知道全局范围的特性,这样便可以通过得到进行决策所需要的关系信息,来更好地探索每个特征节点各自的全局关系,从而更好地学习注意力。整篇文章给人的感觉可读性非常差,作者在里面对一些名称的定义并没有进行一个统一,读起来云里雾里,涉嫌过度包装的成分,缺乏严谨性。感觉逻辑性并没有特别强,文章的核心很难get到,很疑惑审稿人真的有认真的去研究过这篇文章是不是真的能work?不过仔细想想也能体谅,毕竟现在注意力这块想发表到顶会上的难度越来越大,各个维度都被人魔改成不成样,很难找到一个标新立异的点切进去,所以只能靠花样的包装来刺激审稿人的神经。整体来说,创新性不是非常强,说白了还是在讲故事,还是没有从本质上创新,有点在玩改造积木的感觉。注意力方式跟其他注意力之间没啥大的区别,结合不同特征图的信息,然后合并起来,通过一个全连接或者普通的1×1或者3×3操作,最后再通过一个GAP和Sigmoid/Softmax输出。至于为什么能有效的降低计算量,只不过这里将一些计算量大(Fully connection)的操作换成小的操作(Conv 1×1)。(全连接>3×3卷积>1×1卷积)

    套路还是那个套路,只不过看谁的故事讲的好。

    Reference:

    [1] Non-local Neural Networks. (CVPR2018)

    [2] Squeeze-and-Excitation Networks. (CVPR2018)

    [3] Concurrent Spatial and Channel Squeeze & Excitation in Fully Convolutional Networks. (MICCAI 2018)

    [4] CBAM: Convolutional Block Attention Module. (ECCV 2018)

    [5] Dual AttentionNetwork for Scene Segmentation. (CVPR 2019)

    [6] CCNet: Criss-Cross Attention for Semantic Segmentation. (ICCV 2019)

    [7] Real-time Semantic Segmentation with Fast Attention. (arxiv)

    [8] Understanding the effective receptive field in deep convolutional neural networks. (NeurIPS 2016)

    本站上原创文章未经作者许可,不得用于商业用途,仅做学习交流使用,本站免责声明。转载请注明出处,否则保留追究法律责任的权利。《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
    数据科学与编程 » 基于关系感知的全局注意力

    发表评论

    • 52会员总数(位)
    • 309资源总数(个)
    • 34本周发布(个)
    • 5 今日发布(个)
    • 330稳定运行(天)

    提供最优质的博文资源集合

    立即阅览 了解详情