视觉 注意力机制——通道注意力、空间注意力、自注意力、交叉注意力

📅 2026/8/8 21:30:58
视觉 注意力机制——通道注意力、空间注意力、自注意力、交叉注意力
在计算机视觉领域注意力机制Attention Mechanism已成为提升模型性能的关键技术之一。注意力机制通过模拟人类视觉的选择性注意力能够在海量数据中自动聚焦于最相关的信息从而提高模型的效率和准确性。下面将介绍通道注意力、空间注意力、自注意力和交叉注意力四种类型。通道注意力通道注意力是一种专注于卷积神经网络CNN中特征图通道feature map channels的重要性分配的机制。其主要目的是通过为每个通道分配不同的权重来强调对任务最有贡献的通道抑制无关或冗余的通道从而提升模型的表现。以SE模块为例Squeeze通过全局平均池化Global Average Pooling, GAP将特征图HxWxC压缩成1x1xC即得到每个通道的平均池化后的特征该特征为一个值。Excitation全局特征向量通过几个全连接FC层进行非线性变换通常包括一个ReLU激活函数和一个sigmoid激活函数。将输出值压缩到0和1之间生成一个与输入通道数相同长度的权重向量1x1xC。将通道权重乘以原本的特征图即可得到通道注意力特征图。再如以下的结构图通过CAP全局平均池化再通过sigmoid得到每个通道的权重图与原来的特征相乘即可得到经过通道注意力之后的特征图。如下通道注意力全局池化对输入特征图的每个通道进行全局平均池化得到每个通道的全局空间特征。特征重塑将池化后的特征重塑为一维向量为每个通道生成一个单一的数值。1x1卷积使用1x1卷积核对重塑后的特征向量进行卷积操作生成每个通道的权重。激活函数可选地使用激活函数来引入非线性增强模型的表达能力。通道注意力的实现方法有很多总的来说就是获得通道权重再与原本特征相乘。空间注意力空间注意力是一种专注于特征图的空间维度的重要性分配的机制。它通过对特征图中的特定空间位置进行加权从而突出对任务最有贡献的区域抑制无关或冗余的区域以提高模型的性能。首先对一个尺寸为 H×W×C的输入特征图F进行通道维度的全局最大池化和全局平均池化得到两个 H×W×1 的特征图在通道维度进行池化压缩通道大小便于后面学习空间的特征然后将全局最大池化和全局平均池化的结果按照通道拼接(concat)得到特征图尺寸为HxWx2最后对拼接的结果进行7x7的卷积操作得到特征图尺寸为 HxWx1接着通过Sigmoid激活函数 得到空间注意力权重矩阵权重矩阵再与原来的特征图相乘即可得到空间注意力特征图总得来说可看下图通过局部网络从空间维度缩减特征为H×W×1通过激活函数得到权重矩阵权重矩阵与原来特征相乘混合注意力在混合注意力机制中通道注意力和空间注力可以通过串联、或者并联的方式进行组合。以下为串联和并联的两种形式一般来说串联效果会好一点。自注意力自注意力是一种专注于输入数据的内部关系的重要性分配机制广泛应用于自然语言处理和计算机视觉等领域。它通过计算输入数据中每个元素与其他所有元素之间的相似性来动态地调整各元素的重要性从而更好地捕捉全局依赖关系和上下文信息。注意力的思想类似于寻址。给定Query去Source中计算Query和不同Key的相关性即计算Source中不同Value值的权重系数Value的加权平均结果可以作为注意力值。以Transformer的自注意力为例特征映射首先将输入数据映射到查询Query、键Key和值Value三个向量表示中。这一步骤通常通过线性变换实现。其中是可训练的权重矩阵相似性计算计算查询向量和键向量之间的相似性得分通常使用点积来实现。这些相似性得分表示了输入数据中每个元素与其他所有元素之间的关系。其中S是相似性得分矩阵​​ 是缩放因子防止点积值过大。注意力权重计算将相似性得分通过Softmax函数进行归一化得到注意力权重。这些权重反映了每个元素对其他元素的重要性。其中A是注意力权重。加权求和将注意力权重与值向量进行加权求和得到经过自注意力调整后的输出表示。通过这种方式每个元素的表示包含了与其他所有元素的关联信息。交叉注意力交叉注意力是一种专注于不同模态或不同序列之间关系的重要性分配机制广泛应用于多模态任务和序列对序列的任务中。它通过计算一个模态或序列的查询Query向量与另一个模态或序列的键Key和值Value向量之间的相似性来动态地调整每个模态或序列对其他模态或序列的关注从而实现信息的综合利用。即与自注意力不同的是Q来自一个模态或序列K和V来说另模态或序列。Q决定了哪个模态或序列将聚焦于哪个模态或序列的特征信息从而实现信息的综合利用和融合。特征映射首先将两个模态或序列的输入数据分别映射到查询Query、键Key和值Value向量表示中。这一步骤通常通过线性变换实现。其中是可训练的权重矩阵相似性计算计算一个模态或序列的查询向量和另一个模态或序列的键向量之间的相似性得分通常使用点积来实现。这些相似性得分表示了一个模态或序列中每个元素与另一个模态或序列中所有元素之间的关系。其中S是相似性得分矩阵​​ 是缩放因子防止点积值过大。注意力权重计算将相似性得分通过Softmax函数进行归一化得到注意力权重。这些权重反映了一个模态或序列的每个元素对另一个模态或序列中所有元素的重要性。其中A是注意力权重。加权求和将注意力权重与值向量进行加权求和得到经过交叉注意力调整后的输出表示。通过这种方式每个模态或序列的表示包含了与另一个模态或序列的关联信息。可看下图Q来自一个序列K和V来说另一个序列再如下图是Q来自文本模态K和V来说视觉模态 。总结注意力机制通道注意力、空间注意力、自注意力和交叉注意力是现代神经网络模型中至关重要的技术。它们通过动态调整输入特征的权重增强模型对重要信息的关注从而显著提升了各种复杂任务如图像处理、自然语言处理和多模态任务的性能。这些机制的广泛应用和不断发展促进了深度学习技术的进步和创新。