注意力机制在通道上的应用 Sequeeze-and Excitation Networks

Sequeeze-and Excitation Networks

注意力机制(Attention Mechanism)最初是应用在NLP上面的,计算机视觉发展到现在,注意力机制也被越来越多地应用在了CV领域。在这篇论文里面,作者把注意力机制应用在了通道层面,目的在于使得不同的特征通道拥有不同的权重大小,这样就能使得计算机能够有选择性地重视或忽视某些特征

通常来说注意力机制的实现是通过一个专门的网络来实现的,很明显这就会对计算增加成本。但是作者说,他所提出的这套方法,可以以最小的额外计算成本获得最大的收益,因为这个网络的模型十分轻量。
该模型所提出的方法总共分为三个主要步骤,Sequeeze,Excitation,Scale
首先,一个特征图X,经过卷积后得到了一个HxWxC的特征图U,U经过Sequence处理之后变成了1x1xC的形状,在经过Excitation处理之后,使得每一个通道获得了不同的权重,最后这个权重矩阵再与原特征图U经过Scale操作得到网络的最终输出
在这里插入图片描述

Sequeeze

该操作对应的就是Figure1中的Fsq操作,输入是一个HxWxC的矩阵,输出是一个1x1xC的矩阵。具体操作如下:
通过全局平均池化,将每个通道的二维特征(HxW)压缩为一个实数。这属于空间维度的一种特征压缩,因为这个实数是根据所有特征值计算出来的,所以在某种程度上具有平均感受野,保持通道数不变,所以通过squeeze操作后变为1x1xC
在这里插入图片描述
上式中的zc就是1x1xC这个矩阵中的第C个通道中的值,这个值其实就是特征图U的第C个通道的所有像素的平均值

Excitation

这个操作就是为每个通道分配权重,我们把经过Sequeeze操作之后生成的那个1x1xC的矩阵称作Z,具体操作如下:
Z矩阵经过一个全连接层,把维度压缩为C/r,经过ReLu激活之后,再接一个全连接层把维度变回C,最后经过sigmoid激活得到输出
在这里插入图片描述
其中δ表示ReLu,σ表示sigmoid
在这里插入图片描述

Scale

作者就是将Excitation得到的每个通道的权重,对应通道乘回原特征图U
在这里插入图片描述
其中uc就是特征图U的第c个通道,sc就是Excitation输出的1x1xC的权重矩阵的第c个通道

代码实现

import torch.nn as nn
class SE_NET(nn.Module):
    def __init__(self,width,height,channel,dimention):
        super(SE_NET, self).__init__()
        self.width = width
        self.height = height
        self.channel = channel
        self.dimention = dimention
        self.avgpooling = nn.AvgPool2d(self.width,stride=1)
        self.layer = nn.Sequential(
            nn.Linear(self.channel, self.dimention),
            nn.ReLU(inplace=True),
            nn.Linear(self.dimention,self.channel),
            nn.Sigmoid()
        )
    def forward(self,x):
        res = self.Squeeze(x)
        res = res.view(1,-1)
        res = self.excitation(res)
        res = self.scale(res,x)
        return res
    def Squeeze(self,x):
        res = self.avgpooling(x)
        return res
    def excitation(self,x):
        res = self.layer(x)
        return res
    def scale(self,x,y):
        res = x*y
        return res

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IsQtion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值