CBAM CBAM: Convolutional Block Attention Module

#https://blog.****.net/u011699990/article/details/81276851?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-4&spm=1001.2101.3001.4242
这个pytorch代码可以运行,没报错
https://zhuanlan.zhihu.com/p/106084464
讲解内容:::::链接:https://www.cnblogs.com/pprp/p/12127849.html
cbam虽然是在2018年提出的,但是其影响力比较深远,在很多领域都用到了该模块

  1. 什么是注意力机制?
    注意力机制(Attention Mechanism)是机器学习中的一种数据处理方法,广泛应用在自然语言处理、图像识别及语音识别等各种不同类型的机器学习任务中。
    通俗来讲:**注意力机制就是希望网络能够自动学出来图片或者文字序列中的需要注意的地方。**比如人眼在看一幅画的时候,不会将注意力平等地分配给画中的所有像素,而是将更多注意力分配给人们关注的地方。
    从实现的角度来讲:注意力机制通过神经网络的操作生成一个掩码mask, mask上的值一个打分,评价当前需要关注的点的评分
    注意力机制可以分为:
    通道注意力机制:对通道生成掩码mask,进行打分,代表是senet, Channel Attention Module
    空间注意力机制:对空间进行掩码的生成,进行打分,代表是Spatial Attention Module
    混合域注意力机制:同时对通道注意力和空间注意力进行评价打分,代表的有BAM, CBAM
  2. 怎么实现CBAM?(pytorch为例)
    CBAM arxiv link: https://arxiv.org/pdf/1807.06521.pdf

CBAM全称是Convolutional Block Attention Module, 是在ECCV2018上发表的注意力机制代表作之一。本人在打比赛的时候遇见过有人使用过该模块取得了第一名的好成绩,证明了其有效性。

在该论文中,作者研究了网络架构中的注意力,注意力不仅要告诉我们重点关注哪里,还要提高关注点的表示。 目标是通过使用注意机制来增加表现力,关注重要特征并抑制不必要的特征。为了强调空间和通道这两个维度上的有意义特征,作者依次应用通道和空间注意模块,来分别在通道和空间维度上学习关注什么、在哪里关注。此外,通过了解要强调或抑制的信息也有助于网络内的信息流动。

主要网络架构也很简单,一个是通道注意力模块,另一个是空间注意力模块,CBAM就是先后集成了通道注意力模块和空间注意力模块。
CBAM CBAM: Convolutional Block Attention Module

CBAM CBAM: Convolutional Block Attention Module

CBAM CBAM: Convolutional Block Attention Module
来自:https://blog.****.net/u013738531/article/details/82731257
CBAM CBAM: Convolutional Block Attention Module
是连续的两个操作步骤,为何要先使用通道注意力机制然后再使用空间注意力机制?使用顺序使用这两个模块还是并行的使用两个模块?其实是作者已经做过了相关实验,并且证明了先试用通道然后再使用空间注意力机制这样的组合效果比较好,这也是CBAM的通用组合模式。
CBAM CBAM: Convolutional Block Attention Module
CBAM CBAM: Convolutional Block Attention Module
现这样 最近眼里有血丝。。不看电脑了 我要休息几天了 看看纸质书