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仓库链接
热门推荐
艾草与艾蒿的区别及作用
艾草与艾蒿的区别及作用
中国铁路发展史概述
胆固醇高了身体会怎样?医生:不想血脂飙升,少吃这3种食物
什么是网络安全协议?网络安全协议有哪些?
寒假必刷!这10部关于数学的顶级纪录片,告诉不开窍的孩子,原来数学跟枯燥不沾边!
工人有效工作时间的确定及优化策略
工业机器人工程师前景如何,这里明明白白告诉你
孩子验光结果为何“飘忽不定”?眼科医生详解原因及近视防控要点
歌曲抄袭工作室起诉的法律框架与实务应对
Word文档管理制度怎么统一修改页眉
如何把数据库表结构导出Excel
东莞十年求贤记|潮流篇:从学习世界到引领潮流
强大气场背后的生理学基础,我们身体的磁场
总是崴脚的原因找到了
保密协议怎么样才是合法的
闽北是哪里的地方(福建省的闽中、闽南、闽北、闽东、闽西是如何划分的?)
近几年新兴的职业有哪些?
只会挽留员工?离职面谈的正确打开方式并不是这样的!
婆罗门教的兴起与传统渊源:印印度教的历史解读
老是梦到一些乱七八糟的梦
买卖合同占用费合法吗
详解信用卡还款方式与周期:如何制定合理的每月还款计划
少儿编程怎么学最有效 少儿编程入门方法
如何评估你的身体素质:20-70岁的标准指南
生气背后的心理学解析
龙虾什么时候吃最适合?
如何获取准确的黄金价格信息?这些信息对投资决策有何帮助?
什么是瓦罐车?旅行车为什么叫瓦罐?
旺草镇:雷竹管护忙 丰收有“钱”景