通道注意力机制(CA)

通道注意力机制(Channel Attention, CA)是一种广泛应用于计算机视觉中的注意力机制。它主要用于提取图像特征中不同通道之间的相关性,以帮助网络更好地聚焦于重要的特征信息。

在深度学习中,卷积神经网络(CNN)通常通过堆叠多个卷积层来提取图像的高级特征表示。然而,不同的通道可能对不同的特征有不同的贡献,有些通道可能包含更多的关键信息,而其他通道则可能包含噪声或冗余信息。一般来说,通道注意力机制通过对每层特征图全局信息的学习来为每个通道赋予不同的权重,达到加强有用的特征,抑制无用特征的效果。

图1

具体来说,通道注意力机制通过引入一个注意力模块来学习每个通道的权重,从而动态调整每个通道的重要性。如图1所示,通道注意力机制通过以下步骤实现:

  1. 输入:假设输入特征图的尺寸为C×H×W,其中C是通道数,H和W分别是高度和宽度。

  2. 特征转换:首先对输入特征进行两次变换,一个是全局平均池化,将特征图的每个通道的空间维度进行平均,得到C维向量;另一个是全连接层(或卷积层),将C维向量映射到一个较小的维度,通常使用ReLU激活函数来保留非线性关系。

  3. 注意力权重计算:通过对特征转换后的向量进行一系列的操作,例如全连接层、激活函数和归一化等,得到一个与输入通道数相同的权重向量。这个权重向量可以被看作是每个通道的注意力权重,用于衡量每个通道对最终特征表示的贡献程度。

  4. 特征重加权:将输入特征与注意力权重相乘,得到重加权后的特征表示。这样,重要的通道会被放大,而不重要的通道则会减弱,从而更好地聚焦于重要的特征信息。


下面分享几篇经典的通道注意力机制的论文。

1.Squeeze-and-Excitation Networks(SENet)

论文地址:https://arxiv.org/abs/1709.01507

文章中提出了一个新的架构单元,称之为(squeeze -and - Excitation, SE)块,其目标是通过显式地建模其卷积特征通道之间的相互依赖性来提高网络产生的表示的质量。为此,文章中还提出了一种允许网络执行特征重新校准的机制。通过该机制,网络可以学习使用全局信息来选择性地加强有用的特征并抑制无效的特征。

 图2:SEBlock

如图2所示,SEBlock由三个操作构成,一是squeeze操作,二是Excitation操作,三是scale操作。具体来说,squeeze操作主要是将全局空间特征(C\times H \times W)压缩到通道描述符($1 \times 1 \times C$)中,(通俗来说,就是用一个数字来代表一个通道的全局信息)。这一步是通过全局平局池化完成的。Excitation操作是聚合squeeze操作中获取到有效信息。这一步是通过两个全连接层来为每个通道赋予不同的权重,然后通过SIgmoid激活函数来得到一个0-1之间的权重。scale操作就是将Excitation操作中算出来的权重与输入特征进行相乘,来完成对有用通道特征的加强以及抑制无效的通道特征。

此外,文章还将SE块集成到了Inception网络和ResNet网络中,其中SEInception 块结构如图3所示,SEResNet 块结构如图4如下。

图3

图4

2.Selective Kernel Networks(SKNet)

 论文地址:https://arxiv.org/abs/1903.06586

文章中提到在视觉皮层中,同一区域神经元的RF大小是不同的,这使得神经元能够在同一处理阶段收集多尺度的空间信息。并且,这种机制已被广泛应用于卷积神经网络(cnn)中。一个典型的例子是InceptionNets,其中设计了一个简单的连接来聚合来自“inception”构建块内的卷积核的多尺度信息,例如3×3, 5×5, 7×7。因此,为了将这种多尺度思想运用到通道注意力机制中,文章提出了一种动态选择机制,允许每个神经元根据输入信息的多个尺度自适应调整其接受野的大小。并且设计了一种称为选择性内核(SK)单元的构建模块,在该模块中,由不同内核大小的多个分支的信息引导,使用softmax的注意力进行融合。对这些分支的不同关注导致融合层神经元有效感受野的大小不同。下面我们就来看看SK卷积的结构。

图5

如图5所示,SK卷积由三部分操作组成,一是split操作,二是fuse操作,三是select操作。

split操作:对输入特征分别使用不同大小的卷积核去做卷积操作(图中使用的卷积核大小是 3 \times 35 \times 5,并且,为了提升效率,将5 \times 5核的卷积替换为具有3×3核和膨胀大小为2的膨胀卷积)。 

fuse操作:首先使用元素加法来融合多个分支特征图信息,然后,对融合过后的单分支特征图用全局平均池化来压缩信息(类似SKBlock),最后采用全连接层来实现自适应选择的功能,并且这里还降低了通道的维度,用以提高效率。

select操作:首先对fuse操作得到向量使用全连接层得到不同分支的特征权重表示,并且将通道维度再一次变换为输入特征的通道数。然后,再对不同分支的特征权重表示逐元素的使用softmax操作来得到不同分支的权重表示(如下)。

最后,将得到不同分支的权重表示分别与对应特征图相乘再相加,实现特征图的融合。得到的特征图不仅实现了通道的选择,而且还聚合了多尺度的信息。


通道注意力机制可以应用于各种计算机视觉任务中,例如图像分类、目标检测和图像分割等。它有助于提升网络的表达能力和性能,并且具有较少的参数和计算开销。

最后,欢迎关注公众号“ AI小家 ”。

CPCA(Class-Prototype based Classification Attention)是一种注意力机制,用于解决分类问题。 在传统的分类问题中,我们通常使用全连接神经网络(FCN)来学习特征表示和分类模型。然而,FCN对于类别之间的相似性并没有进行明确的建模,因此可能会导致模型在处理相似类别时出现困难。 CPCA注意力机制的目标是学习到每个类别的原型(prototype),并通过对原型的注意力加权来增强分类性能。具体来说,CPCA注意力机制包括以下步骤: 1. 特征提取:使用一个预训练的特征提取网络(如卷积神经网络)将输入样本映射到特征空间中。 2. 原型学习:通过计算每个类别在特征空间中的平均特征向量,得到每个类别的原型。 3. 注意力加权:对于给定的输入样本,计算其与每个类别原型的相似度,并将相似度作为注意力权重。可以采用余弦相似度或其他相似性度量方法。 4. 分类决策:将注意力权重与原型相乘,并将结果输入到全连接层进行分类决策。 通过这种方式,CPCA注意力机制能够将注意力集中在与输入样本相似的类别原型上,从而提高分类性能。 需要注意的是,CPCA注意力机制并不是唯一的注意力机制,还有其他方法可以用于解决分类问题。但CPCA注意力机制在一些实验中显示出了较好的效果,并且能够更好地处理相似类别之间的区分问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值