分享

万字解析!一文看懂注意力机制、通道注意力、空间注意力、自注意力

 InfoRich 2025-06-12 发布于上海

1 注意力机制

我们可以通过眼睛看到各种各样的事物,感知世界上的大量信息,可以让自己免受海量信息的干扰,是因为人的选择能力,可以选择重要的信息,而忽视不重要的信息。

举个例子,下面有一张图片,当我们看到这张图片的时候会下意识把注意力集中到能猫的身上,而忽略背景。

01.png

即:在观看这幅图像的时候,并非能够对图片的所有信息给予相同的关注度,而是将注意力着重放在某个局部区域。

同样,希望网络也具有这种能力,从而在网络中引入了注意力机制。注意力机制,是对输入进行加权再输出,希望网络关注到的地方给较大的权重,不希望网络注意的地方给较小的权重。

再举个例子,在自然语言处理领域,在分析一句话的时候,并不是所有的词的信息都需要被关注,可以选择重要的词分析,即可理解句子所传达的语义。

另外想自学机器学习深度学习,不知道如何入门同学,阿文还为大家整理了一份2025最新入门路线图(更新迭代不下10次),包含基础、理论、代码、实战项目、必读论文等等,希望可以帮到大家,大家可以添加小助手无偿自取,不要忘了发送截图哦

机器学习深度学习超详细入门路线图.png

当中所有资源都已下载整理好了~

添加小助手无偿自取即可

2 通道注意力机制

通道注意力机制的代表模型是:压缩和激励网络(Squeeze-and-Excitation Networks,SENet),SENet分为压缩和激励两个部分,其中压缩部分的目的是对全局空间信息进行压缩,然后在通道维度进行特征学习,形成各个通对道的重要性,最后通过激励部分对各个通道进行分配不同权重的。

02.png

上图是SE模块的结构,在压缩部分,输入的元素特征图的维度是 HxWxC,H、W 和 C分别代表高度、宽度和通道数。压缩部分的功能是将维数从 HxWxC 压缩至1x1xC,即把, HxW 压缩为 1x1 维这个过程由全局平均池化实现。

在激励部分,需要将压缩部分得到的 1x1xC 的维度融入全连接层,预测各个通道的重要程度,然后再激励到前面特征图对应通道上进行操作。采用简单的门控机制与Sigmoid 激活函数。

小结:在通道注意力机制,学习各个通道的重要性时,是先对特征图的空间进行压缩,然后在通道维度进行学习,得到各个通道的重要性。

3 空间注意力机制

空间注意力机制的代表模型是:空间变换神经网络(Spatial TransformerNetworks,STN),STN能够对各种形变数据在空间中进行转换并自动捕获重要区域特征。它能够保证图像在经过裁剪、平移或者旋转等操作后,依然可以获得和操作前的原始图像相同的结果。

举个例子,在MNIST数字分类的中应用STN,该分类过程一共包含4个步骤:

  • MNIST中的数字,是经过随机平移、缩放和旋转处理;把它们输入到STN网络中

  • 通过STN网络,预测前面输入数字的变换(是平移了?还是缩放了?或是旋转了?)

  • STN网络预测出“变换前的数字”,即没经过变换的数字是怎样的

  • 最终进行分类预测

03.png

STN 网络包括局部网络、参数化网络采样(网络生成器)和差分图像采样。

局部网络:预测输入数字的变换(是平移了?还是缩放了?或是旋转了?)

网络生成器:获得输出特征图坐标点在输入特征图中坐标点的对应位置

04.png

4 混合注意力机制

在混合注意力机制中,通道注意力和空间注意力可以通过串联、或者并联的方式进行组合

混合注意力机制的代表模型是:卷积注意力模块(Convolutional BlockAtention Module,CBAM)它包括通道注意力模块CAM、和空间注意力模块SAM。

CBAM的模型结构如下,它对输入的特征图,首先进行通道注意力模块处理;得到的结果,再经过空间注意力模块处理,最后得到调整后特征。

05.png

通道注意力模块CAM

CAM的输入是特征图,维度设为HxWxC;其中H是指特征图的高度,W是指宽度,C是指通道数。它的思路流程是:

  • 首先对输入的特征图,进行全局池化和平均池化;(在空间维度进行池化,压缩空间尺寸;便于后面学习通道的特征)

  • 然后将得到全局和评价池化的结果,送入到多层感知机中MLP学习;(基于MLP学习通道维度的特征,和各个通道的重要性)

  • 最后将MLP输出额结果,进行“加“操作,接着经过Sigmoid函数的映射处理,得到最终的“通道注意力值”。

06.png

计算公式如下:

07.png

空间注意力模块SAM

SAM的输入是CAM输出的特征图。它的思路流程是:

  • 首先对输入的特征图,进行全局池化和平均池化;(在通道维度进行池化,压缩通道大小;便于后面学习空间的特征)

  • 然后将全局池化和平均池化的结果,按照通道拼接;得到特征图维度是HxWx2

  • 最后对拼接的结果,进行卷积操作,得到特征图维度是HxWx1;接着通过激活函数处理。

08.png

计算公式如下:

09.png

5 自注意力机制

背景:在注意力机制引入计算机视觉前,主要是靠叠加卷积层与池化层来进行特征提取,并扩大感受野。举个例子,在语义分割中,Deeplab系列提出的带有多尺度空洞卷积的 ASPP 模块:

  • ASPP对输入的特征图,采用不同dilation rate 的空洞卷积进行卷积操作,以多个不同比例获取图像的上下文信息。

  • ASPP模块只能利用空洞卷积从像素点周围的少数点去获取上下文信息,而不能形成密集的全局上下文信息。

6 注意力基础

注意力机制原理

注意力机制在语义分割和图像描述生成方面被广泛使用。使用注意力处理任务时,不同信息的重要程度由权值来体现。

注意力机制对不同信息关注度的区分体现在权值分配,注意力机制可以视为查询矩阵、键以及加权平均值构成了多层感知机(Multilayer Perceptron, MLP)。

注意力的思想,类似于寻址。给定 Query,去 Source 中计算 Query和不同 Key 的相关性,即计算Source 中不同 Value 值的权重系数;Value 的加权平均结果可以作为注意力值。

10.png

注意力的计算公式如下:

11.png

其中Lx代表Source的长度

注意力机制的计算过程

大多数方法采用的注意力机制计算过程可以细化为如下三个阶段。三阶段的注意力机制计算流程:

  • 第一阶段是计算 Query和不同 Key 的相关性,即计算不同 Value 值的权重系数

  • 第二阶段对上一阶段的输出进行归一化处理,将数值的范围映射到 0和1之间

  • 第三阶段,对值和每个值对应的权重相乘的结果做累加操作,从而获得注意力数值

12.png

公式化表示:

第一阶段是计算 Query和不同 Key 的相关性,即计算不同 Value 值的权重系数;相关性计算主要包括点积、余弦相似性或者引入神经网络这三种方法。计算方式分别如下:

13.png

第二阶段对上一阶段的输出进行归一化处理,将数值的范围映射到0和1之间。其中,ai表第i个值被分为的权重值。

14.png

第三阶段,对值和每个值对应的权重相乘的结果做累加操作,从而获得注意力数值。

15.png

放在最后:

另外想结合AI发文发刊,但不知道怎么做创新的同学,我们team磨练出了一套系统且专业的传统学科交叉AI科研入门方案,可带学生发paper,已迭代五次(持续迭代中),我们会根据你的研究方向来规划学习路径,并且根据你的实验数据分为了时序、图结构、影像三大实验室,详细学习规划可添加另一位科研助理微信咨询:dtjy951 或扫描下方二维码

第六期课程大纲.jpg

感兴趣可扫码添加科研助理咨询~

影像、时序、图结构学习路线_00.png

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多