SimAM:轻量级注意力机制,解锁卷积神经网络新潜力【原理讲解及代码】
创作时间:
作者:
@小白创作中心
SimAM:轻量级注意力机制,解锁卷积神经网络新潜力【原理讲解及代码】
引用
CSDN
1.
https://m.blog.csdn.net/xiaoh_7/article/details/137016582
SimAM:轻量级、无参数的卷积神经网络注意力机制
一、摘要
注意力机制在卷积神经网络 (CNN) 中扮演着越来越重要的角色,它能够帮助模型聚焦于图像的关键区域,提升模型性能。然而,现有的注意力机制通常需要引入额外的参数,增加模型复杂度和计算成本。
SimAM 是一种轻量级、无参数的卷积神经网络注意力机制,它通过计算特征图的局部自相似性来生成注意力权重。SimAM 不需要引入任何额外参数,并且可以有效地提升 CNN 的性能。
表 1:多种注意力机制的比较
二、原理介绍
SimAM 的核心思想是基于图像的局部自相似性。在图像中,相邻像素之间通常具有较强的相似性,而远距离像素之间的相似性则较弱。SimAM 利用这一特性,通过计算特征图中每个像素与其相邻像素之间的相似性来生成注意力权重。
图 1:SimAM——每个神经元被分配一个唯一的权重
SimAM 的计算公式如下:
w_i = \frac{1}{k} \sum_{j \in N_i} s(f_i, f_j)
其中:
- $w_i$ 是第i个像素的注意力权重
- $k$ 是归一化常数
- $N_i$ 是第i个像素的相邻像素集合
- $s(f_i, f_j)$ 是第i个像素和第j个像素之间的相似性
SimAM 使用了一种简单而有效的相似性度量方法,即欧几里得距离:
s(f_i, f_j) = -\left\| f_i - f_j \right\|_2^2
三、代码示例
SimAM 可以很容易地嵌入到现有的 CNN 模型中。以下是一个简单的示例:
import torch
import torch.nn as nn
class simam_module(torch.nn.Module):
def __init__(self, channels = None, e_lambda = 1e-4):
super(simam_module, self).__init__()
self.activaton = nn.Sigmoid()
self.e_lambda = e_lambda
def __repr__(self):
s = self.__class__.__name__ + '('
s += ('lambda=%f)' % self.e_lambda)
return s
@staticmethod
def get_module_name():
return "simam"
def forward(self, x):
b, c, h, w = x.size()
n = w * h - 1
x_minus_mu_square = (x - x.mean(dim=[2,3], keepdim=True)).pow(2)
y = x_minus_mu_square / (4 * (x_minus_mu_square.sum(dim=[2,3], keepdim=True) / n + self.e_lambda)) + 0.5
return x * self.activaton(y)
四、实验结果
SimAM 在多个图像分类数据集上进行了验证,实验结果表明 SimAM 能够有效地提升 CNN 的性能。
表 2:SimAM 在 ImageNet 分类数据集上的实验结果
从表 2 可以看出,SimAM 可以提高准确率,同时不增加任何参数量和计算量。
图 2:SimAM 可视化效果
五、总结
SimAM 是一种轻量级、无参数的卷积神经网络注意力机制,它具有以下优势:
- 无需引入额外参数,降低模型复杂度和计算成本
- 能够有效地提升 CNN 的性能
- 易于实现和嵌入到现有的 CNN 模型中
SimAM 是一种很有潜力的注意力机制,可以广泛应用于图像分类、目标检测、图像分割等视觉任务。
参考资料
- SimAM: A Simple, Parameter-Free Attention Module for Convolutional Neural Networks:https://proceedings.mlr.press/v139/yang21o/yang21o.pdf
- GitHub仓库链接
热门推荐
独身恐惧症(探讨单身恐惧症产生的原因与应对方法)
如何实现团队成功发言
大数据应用效果评估:从目标设定到实际应用的全流程指南
如何认识白金的含义?这种含义对贵金属市场有何影响?
英雄联盟新手必看:如何根据个人游戏风格选择最适合的英雄?
写字楼的共享空间如何增强社交与协作
考场上需要的解题思维,平时应如何培养?
健康老龄需从“齿”开始,请勿忽视维生素D
适合基础学习的六种不同绘画风格!
黄山去厦门鼓浪屿一日游攻略及费用、里程与自助游行程安排
打冷嗝是怎么回事
中医“化瘀第一人”王清任的4个化瘀方,化各处瘀血,治多种疾病
如何使人不依赖人工智能
孩子老出汗,中医怎么办
显卡性能与游戏体验:解析不同显卡对游戏帧数影响,分享实测数据
油烟机清洗方法是什么?清洗后如何保养?
租房遇“串串房”“隔断房”,租客能否任性解约、退租?
一文看懂踏板车分类及车型特点,了解后125、150、250会更容易选
铭瑄主板怎么进入BIOS界面?有哪些快捷键?
Science Advances最新研究:生酮饮食的双刃剑效应
腰椎曲度变直锻炼方法
青少年心理问题呈现低龄化趋势 学业与人际或成心理问题诱因
隔水蒸煮带壳鸡蛋:简单易学的完美煮蛋法
设计师必看的字体与排版应用指南
核桃属于热性还是寒性 体寒者可以吃核桃吗
离心泵安装——找正、找平、对中的关键步骤
从"叫好不叫座"到远销法国巴黎 宁夏葡萄酒何以惊艳世界
练八段锦面朝哪个方向?最佳练习方向!千万不要练错了!
八段锦如何快速进入练功状态?做好这5点,事半功倍效果好
曝姆巴佩若留巴黎将拿税前2.5亿欧,足球巨星的薪资抉择与未来展望