本文内容:在不同位置添加GAMAttention注意力机制
论文简介
为了提高各种计算机视觉任务的性能,人们研究了各种注意机制。然而,以往的方法忽略了同时保留通道和空间方面的信息对增强跨维交互的重要性。因此,我们提出了一种全局注意机制,通过减少信息约简和放大全局交互表征来提高深度神经网络的性能。我们引入了带有多层感知器的3d排列,用于通道注意以及卷积空间注意子模块。在CIFAR-100和ImageNet-1K上对所提出的图像分类机制进行的评估表明,我们的方法在ResNet和轻量级MobileNet上稳定地优于最近的几种注意力机制。
1.步骤一
新建blocks/GAM.py文件,添加如下代码:
import torch
import torch.nn as nn
#######GAM
class GAMAttention(nn.Module):
# https://paperswithcode.com/paper/global-attention-mechanism-retain-information
def __init__(self, c1, c2, group=True, rate=4):
super(GAMAttention, self).__init__()
self.channel_attention = nn.Sequential(
nn.Linear(c1, int(c1 / rate)),
nn.ReLU(in