【深度学习即插即用模块之注意力】EfficientChannelAttention,涨点必备彻底疯狂!

0 介绍

ECA-Net(Efficient Channel Attention for Deep Convolutional Neural Networks)是2020年提出的轻量级通道注意力机制,核心目标是在极低计算与参数开销下提升深度卷积网络的特征表达能力,其设计针对经典通道注意力机制(如SENet)的缺陷优化,核心思想可概括为4点:

  1. 移除降维操作,保留通道信息完整性
    经典SENet通过"降维-激活-升维"的全连接层结构捕获通道依赖,但降维会造成通道特征信息丢失。ECA-Net完全舍弃降维环节,直接在原始通道维度(1×1×C)上处理特征,通过一维卷积实现通道交互,全程保持通道维度不变,避免信息损耗。
  2. 自适应一维卷积核,捕捉局部通道依赖
    ECA-Net认为通道间依赖具有局部性,无需全局交互。其通过指数映射函数自适应确定一维卷积核大小(k=ψ©,C为通道数),通道数越多卷积核越大,适配不同网络层的通道规模,灵活捕获局部通道依赖,且映射无需额外学习参数。
  3. 轻量化设计,实现高效计算
    相比SENet全连接层的O(C²)复杂度,ECA-Net计算仅3步,复杂度为O(C×k),几乎无额外开销:
    1. 对特征图执行全局平均池化,得到1×1×C的通道特征向量;
    2. 用核大小为k的一维卷积完成局部通道交互;
    3. Sigmoid归一化生成注意力权重,与原始特征图相乘完成特征重标定。
      模块无全连接层,仅一维卷积含少量参数。
  4. 即插即用的模块化结构
    ECA-Net模块结构简洁,可无缝嵌入ResNet、MobileNet等主流网络 的卷积层或残差块中,无需修改网络整体架构,具备极强通用性,可快速迁移至各类视觉任务。

1 代码

py 复制代码
import torch
import torch.nn as nn
import math

# ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks
# https://arxiv.org/abs/1910.03151
class EfficientChannelAttention(nn.Module):
    def __init__(self, c, b=1, gamma=2):
        super().__init__()
        t = int(abs((math.log(c, 2) + b) / gamma)) # 
        k = t if t % 2 else t + 1

        self.avg_pool = nn.AdaptiveAvgPool2d(1)
        self.conv1 = nn.Conv1d(1, 1, kernel_size=k, padding=int(k / 2), bias=False)
        self.sigmoid = nn.Sigmoid()

    # B C H W
    def forward(self, x):
        out = self.avg_pool(x) # [1, 3, 1, 1]
        print(out)
        out = self.conv1(out.squeeze(-1).transpose(-1, -2)).transpose(-1, -2).unsqueeze(-1) # [1,3,1,1] -> [1,3,1] -> [1,1,3] -> [1,3,1] -> [1,3,1,1]
        out = self.sigmoid(out) # [1,3,1,1]
        return x * out


if __name__ == '__main__':
    x = torch.randn(1, 3, 224, 224)
    model = EfficientChannelAttention(3)
    print(x.shape)
    print(model(x).shape)
相关推荐
星越华夏2 小时前
计算机视觉:YOLOv12安装环境
人工智能·yolo·计算机视觉
二哈赛车手3 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
Yolanda943 小时前
【人工智能】《从零搭建AI问答助手项目(九):Prompt优化》
人工智能·prompt
wj3055853783 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
小和尚同志3 小时前
深入使用 skill-creator:结合真实生产级实践
人工智能·aigc
DevSecOps选型指南3 小时前
安全419专访悬镜安全 | 穿越周期在 AI 浪潮中定义数字供应链安全新范式
人工智能
沪漂阿龙3 小时前
面试题详解:GraphRAG 全面解析——知识图谱增强 RAG、Local Search、Global Search、社区摘要、工程落地与评估指标一次讲透
人工智能·知识图谱
WangN23 小时前
Unitree RL Lab 学习笔记【通识】
人工智能·机器学习
haina20193 小时前
海纳AI亮相《科创中国》,解码招聘“智”变之路
人工智能·ai面试·ai招聘
阿星AI工作室4 小时前
刘润年中大课笔记:一句话说清AI落地之战的本质
大数据·人工智能·创业创新·商业