【即插即用】ELA注意力机制(附源码)
原文地址:[2403.01123] ELA: Efficient Local Attention for Deep Convolutional Neural Networks (arxiv.org) 与SE、CA注意力机制的区别:
ELA通过在空间维度采用带状池化来提取水平和垂直方向的特征向量,维持细长的核形状以捕捉远距离的依赖关系,同时避免不相关区域对标签预测的干扰。这样做能够在每个方向上生成富有信息的目标位置特征。ELA独立处理这些方向的特征向量以进行注意力预测,随后通过乘积操作将它们整合,确保了感兴趣区域的精确位置信息。
代码模块:
import torch
import torch.nn as nn
class EfficientLocalizationAttention(nn.Module):
def __init__(self, channel, kernel_size=7):
super(EfficientLocalizationAttention, self).__init__()
self.pad = kernel_size // 2
self.conv = nn.Conv1d(channel, channel, kernel_size=kernel_size, padding=self.pad, groups=channel, bias=False)
self.gn = n