SimAM:无参Attention!助力分类/检测/分割涨点!

在这里插入图片描述

SimAM: A Simple, Parameter-Free Attention Module for Convolutional Neural Networks

论文链接(已收录于ICML 2021):

http://proceedings.mlr.press/v139/yang21o.html

code: https://github.com/ZjjConan/SimAM

本文是中山大学在注意力机制方面的尝试,从神经科学理论出发,构建了一种能量函数挖掘神经元重要性,并对此推导出了解析解以加速计算。通过ImageNet分类、COCO检测与分割等任务验证了所提SimAM的灵活性与有效性。值得一提的是,所提SimAM是一种无参数注意力模块

Abstract

本文提出一种概念简单且非常有效的注意力模块。不同于现有的通道/空域注意力模块,该模块无需额外参数为特征图推导出3D注意力权值。具体来说,本文基于著名的神经科学理论提出优化能量函数以挖掘神经元的重要性。本文进一步针对该能量函数推导出一种快速解析解并表明:该解析解仅需不超过10行代码即可实现。该模块的另一个优势在于:大部分操作均基于所定义的能量函数选择,避免了过多的结构调整。最后,本文在不同的任务上对所提注意力模块的有效性、灵活性进行验证。

本文主要贡献包含以下几点:

  • 受启发于人脑注意力机制,本文提出一种3D注意力模块并设计了一种能量函数用于计算注意力权值
  • 本文推导出了能量函数的解析解加速了注意力权值的计算并得到了一种轻量型注意力模块;
  • 将所提注意力嵌入到现有ConvNet中在不同任务上进行了灵活性与有效性的验证。

Method

在正式介绍本文所提注意力模块之前,我们先对现有代表性注意力模块(比如SE、CBAM、GC)进行简要总结;然后,我们再引出本文所提完全不同架构的注意力模块。

Overview of Existing Attention Modules
在这里插入图片描述

上图a与b列出了现有两种类型的注意力模块:

  • 通道注意力:1D注意力,它对不同通道区别对待,对所有位置同等对待;
  • 空域注意力:2D注意力,它对不同位置区别对待,对所有通道同等对待。

以下图为例,SE缺失了关于"grey_whale"的某些重要成分。我们认为3D注意力比1D和2D更佳,进而提出了上图c的3D注意力模块
在这里插入图片描述

现有注意力模块的另一个重要影响因素:权值生成方法。现有注意力往往采用额外的子网络生成注意力权值,比如SE的GAP+FC+ReLU+FC+Sigmoid。更多注意力模块的操作、参数量可参考下表。总而言之,现有注意力的结构设计需要大量的工程性实验。我们认为:注意力机制的实现应当通过神经科学中的某些统一原则引导设计。
在这里插入图片描述

Our Attention Module

已有研究BAM、CBAM分别将空域注意力与通道注意力进行并行或串行组合。然而,人脑的两种注意力往往是协同工作,因此,我们提出了统一权值的注意力模块

为更好的实现注意力,我们需要评估每个神经元的重要性。在神经科学中,信息丰富的神经元通常表现出与周围神经元不同的放电模式。而且,激活神经元通常会抑制周围神经元,即空域抑制。换句话说,具有空域抑制效应的神经元应当赋予更高的重要性。最简单的寻找重要神经元的方法:度量神经元之间的线性可分性。因此,我们定义了如下能量函数
在这里插入图片描述

到目前为止,我们推导了能量函数并挖掘了神经元的重要性。按照注意力机制的定义,我们需要对特征进行增强处理:
在这里插入图片描述
下图给出了SimAM的pytorch风格实现code。
在这里插入图片描述

Experiments

在这里插入图片描述
上表给出了Cifar数据集上的性能对比,从中可以看到:

  • 相比其他注意力机制,所提SimAM取得了最佳性能;
    在小网络方面,PreResNet56在CIFAR10数据集上取得了最佳性能(92.47/69.13),显著优于其他注意力;
    在大网络方面,所提SimAM同样优于SE与CBAM等注意力机制;
    上述实验结果均表明:所提无参注意力SimAM是一种通用注意力机制,并不局限于特定网络。

在这里插入图片描述
上表给出了ImageNet数据集上不同注意力机制的性能对比,从中可以看到:

  • 所有注意力模块均可以提升基线模型的性能;
  • 所提SimAM在ResNet18与ResNet101基线上取得了最佳性能提升;
    对于ResNet34、ResNet50、ResNeXt50、MobileNetV2,所提SimAM仍可取得与其他注意力相当性能;
    值得一提的是,所提SimAM并不会引入额外的参数;
    在推理速度方面,所提SimAM与SE、ECA相当,优于CBAM、SRM。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    上图采用Grad-CAM对所提SimAM进行了可视化,可以看到:经由SimAM提炼的特征可以更好的聚焦主体目标。
    在这里插入图片描述
    上表对比了COCO检测、分割任务上的性能,可以看到:
  • SE与SimAM均可大幅提升基线模型的性能;
  • 对于检测任务,两种注意力模块取得了非常相似的性能;
  • 对于实例分割任务,所提SimAM取得了稍优性能。
  • 值得一提,SimAM不会引入额外参数量,而SE则会引入额外的参数量。比如,SE-ResNet50引入了2.5M参数量,SE-ResNet101引入了4.7M参数量。

本文亮点总结

1.现有注意力模块的另一个重要影响因素:权值生成方法。现有注意力往往采用额外的子网络生成注意力权值,比如SE的GAP+FC+ReLU+FC+Sigmoid。

2.在神经科学中,信息丰富的神经元通常表现出与周围神经元不同的放电模式。而且,激活神经元通常会抑制周围神经元,即空域抑制。换句话说,具有空域抑制效应的神经元应当赋予更高的重要性。最简单的寻找重要神经元的方法:度量神经元之间的线性可分性。

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“橙同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并加培训课程来准备此类资格认证考试。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值