欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Axial-DeepLab: 独立的轴向注意力用于全景分割(2003)

Axial-DeepLab: 独立的轴向注意力用于全景分割(2003)

2025/1/19 2:23:47 来源:https://blog.csdn.net/jch924583667/article/details/145056230  浏览:    关键词:Axial-DeepLab: 独立的轴向注意力用于全景分割(2003)

Axial-DeepLab: Stand-Alone Axial-Attention for Panoptic Segmentation

Axial-DeepLab: 独立的轴向注意力用于全景分割

3 Method

在这里插入图片描述
我们首先正式介绍我们的位置敏感自注意力机制。然后,我们讨论如何将其应用于轴向注意力,以及如何使用轴向注意力层构建独立的 Axial-ResNet 和 Axial-DeepLab。

3.1 Position-Sensitive Self-Attention

在这里插入图片描述
自注意力机制通常被应用于视觉模型中,作为增强卷积神经网络(CNN)输出的附加组件 [87,95,42]。给定一个输入特征图 x ∈ R h × w × d in x \in \mathbb{R}^{h \times w \times d_{\text{in}}} xRh×w×din,其高度为 h h h,宽度为 w w w,通道数为 d in d_{\text{in}} din,在位置 o = ( i , j ) o = (i, j) o=(i,j) 的输出 y o ∈ R d out y_o \in \mathbb{R}^{d_{\text{out}}} yoRdout 通过在投影输入上进行池化计算得到:
在这里插入图片描述
在这里插入图片描述
其中 N N N 是整个位置格点, query q o = W Q x o q_o = W_Q x_o qo=WQxo、key k o = W K x o k_o = W_K x_o ko=WKxo、value v o = W V x o v_o = W_V x_o vo=WVxo 都是输入 x o x_o xo 的线性投影,对于所有 o ∈ N o \in N oN W Q ∈ R d q × d in W_Q \in \mathbb{R}^{d_q \times d_{\text{in}}} WQRdq×din W K ∈ R d q × d in W_K \in \mathbb{R}^{d_q \times d_{\text{in}}} WKRdq×din W V ∈ R d out × d in W_V \in \mathbb{R}^{d_{\text{out}} \times d_{\text{in}}} WVRdout×din 都是可学习的矩阵。softmax 函数应用于所有可能的位置 p = ( a , b ) p = (a, b) p=(a,b),在这种情况下,也就是整个二维格点。
在这里插入图片描述
这种机制根据亲和力 x o T W Q T W K x p x^T_o W^T_Q W_K x_p xoTWQTWKxp 全局地汇聚值 v p v_p vp,使我们能够捕获整个特征图中相关但非局部的上下文信息,这与仅捕获局部关系的卷积操作形成对比
在这里插入图片描述
然而,自注意力机制在计算上非常昂贵(时间复杂度为 O ( h 2 w 2 ) O(h^2w^2) O(h2w2)),当输入的空间维度较大时,这限制了它仅能用于卷积神经网络(CNN)的高层(即下采样的特征图)或小尺寸图像另一个缺点是全局汇聚操作没有利用位置信息,而在视觉任务中,位置信息对于捕获空间结构或形状至关重要
在这里插入图片描述
这两个问题在 [68] 中通过向自注意力机制添加局部约束和位置编码得到了缓解对于每个位置 o o o,提取一个局部的 m × m m \times m m×m 正方形区域作为计算输出 y o y_o yo 的记忆库。这显著地将计算量减少到 O ( h w m 2 ) O(hw m^2) O(hwm2)使得自注意力模块可以作为独立的层部署,从而形成一个完全基于自注意力的神经网络此外,一个学习到的相对位置编码项被整合到亲和力中,产生了一个动态的先验即在感受野(即局部的 m × m m \times m m×m 正方形区域)中应该关注的位置。正式地,[68] 提出
在这里插入图片描述

位置信息(表明了联系),计算效率很重要
q o T r p − o q^T_or_{p-o} qoTrpo 在下文看来是表示位置 p 和 o 之间相对位置的信息表示

在这里插入图片描述
其中 N m × m ( o ) N_{m \times m}(o) Nm×m(o) 是以位置 o = ( i , j ) o = (i, j) o=(i,j) 为中心的局部 m × m m \times m m×m 正方形区域,可学习的向量 r p − o ∈ R d q r_{p-o} \in \mathbb{R}^{d_q} rpoRdq 是添加的相对位置编码。内积 q o T r p − o q_o^T r_{p-o} qoTrpo 衡量了从位置 p = ( a , b ) p = (a, b) p=(a,b) 到位置 o = ( i , j ) o = (i, j) o=(i,j) 的兼容性。我们不考虑绝对位置编码 q o T r p q_o^T r_p qoTrp,因为它们相比相对位置编码的泛化能力较差 [68]。在接下来的段落中,为了简洁起见,我们省略“相对”这个词。
在这里插入图片描述
在实践中, d q d_q dq d out d_{\text{out}} dout 通常远小于 d in d_{\text{in}} din并且可以将公式 (2) 中的单头注意力扩展为多头注意力,以捕捉多种亲和力的混合。具体来说,多头注意力是通过并行地对 x o x_o xo 应用 N N N 个单头注意力(每个头使用不同的 W Q n W_{Qn} WQn W K n W_{Kn} WKn W V n W_{Vn} WVn,其中 n ∈ { 1 , 2 , … , N } n \in \{1, 2, \ldots, N\} n{1,2,,N} 表示第 n n n 个头),然后通过连接每个头的结果来获得最终输出 z o z_o zo,即 z o = concat n ( y o n ) z_o = \text{concat}_n(y_{on}) zo=concatn(yon)。注意,位置编码通常在各个头之间共享,因此它们引入的额外参数非常少。

根据我之前看的多头注意力的机制是把嵌入进行分解,比如嵌入维度是d_dim,头数为N,那么每隔头处理的嵌入的维度为d_dim/N,应该没错吧,位置编码怎么在多头之间分享?分割嵌入维度的时候把位置编码也分割了啊???

在这里插入图片描述
位置敏感性:我们注意到,先前的位置偏差仅依赖于查询像素 x o x_o xo,而不是键像素 x p x_p xp。然而,键像素 x p x_p xp 也可能包含有关应关注哪个位置的信息。因此,除了查询依赖的偏差 q o T r p − o q q_o^T r_{p-o}^q qoTrpoq 之外,我们还添加了一个键依赖的位置偏差项 k p T r p − o k k_p^T r_{p-o}^k kpTrpok

键像素怎么理解呢?
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
同样地,在公式 (2) 中, v p v_p vp 不包含任何位置信息。在感受野或记忆库较大时, y o y_o yo 很可能不包含 v p v_p vp 来自的确切位置。因此,以往的模型不得不在使用较小的感受野(即较小的 m × m m \times m m×m 区域)和丢弃精确的空间结构之间做出权衡。在本工作中,我们使输出 y o y_o yo 能够根据查询-键亲和力 q o T k p q_o^T k_p qoTkp 检索相对位置 r p − o v r_{p-o}^v rpov,除了内容 v p v_p vp 之外。正式地,
在这里插入图片描述
在这里插入图片描述
其中可学习的 r p − o k ∈ R d q r^k_{{p-o}} \in \mathbb{R}^{d_q} rpokRdq 是键的位置编码 r p − o v ∈ R d out r^v_{{p-o}} \in \mathbb{R}^{d_{\text{out}}} rpovRdout 是值的位置编码。这两个向量不会引入太多参数,因为它们在一个层中的各个注意力头之间是共享的,并且局部像素的数量 ∣ N m × m ( o ) ∣ |N_{m \times m}(o)| Nm×m(o) 通常较小
在这里插入图片描述
我们称这种设计位置敏感自注意力,它能够在合理的计算开销下捕捉长距离交互并保留精确的位置信息,这一点已在我们的实验中得到验证。
在这里插入图片描述
图 1. 非局部块(左) 与我们 沿宽度轴应用的位置敏感轴向注意力(右) 的对比。“ ⊗ \otimes ” 表示矩阵乘法,“ ⊕ \oplus ” 表示逐元素求和。softmax 操作是在最后一个轴上进行的。蓝色框表示 1×1 卷积,红色框表示相对位置编码。通道数 d in = 128 d_{\text{in}} = 128 din=128 d q = 8 d_q = 8 dq=8,和 d out = 16 d_{\text{out}} = 16 dout=16 是我们在 ResNet 的“stem”阶段之后第一阶段所使用的参数。

3.2 Axial-Attention

在这里插入图片描述
独立自注意力模型 [68] 提出的局部约束显著降低了视觉任务中的计算成本并使得构建完全基于自注意力的模型成为可能。然而,这种约束牺牲了全局连接使得注意力的感受野不会大于具有相同核大小的深度可分离卷积此外,局部自注意力在局部正方形区域内执行其复杂度仍然与区域长度的平方成正比引入了另一个超参数来在性能和计算复杂度之间进行权衡。在本工作中,我们提出在独立自注意力中采用轴向注意力 [42,33],以确保全局连接和高效计算。具体来说,我们首先定义图像宽度轴上的轴向注意力层为简单的一维位置敏感自注意力,并对高度轴使用类似的定义。具体而言,沿宽度轴的轴向注意力层定义如下。
在这里插入图片描述
在这里插入图片描述
一个轴向注意力层沿一个特定轴传播信息为了捕获全局信息,我们分别对高度轴和宽度轴连续使用两个轴向注意力层。这两个轴向注意力层都采用了上述描述的多头注意力机制。
在这里插入图片描述
轴向注意力将复杂度降低到 O ( h w m ) O(hwm) O(hwm)。这使得全局感受野成为可能通过直接将跨度 m m m 设置为整个输入特征的大小来实现可选地,也可以使用一个固定的 m m m 值,以减少在巨大特征图上的内存占用
在这里插入图片描述
轴向残差网络(Axial-ResNet)要将残差网络(ResNet)[32]转换为轴向残差网络,我们将残差瓶颈块中的3×3卷积替换为两个多头轴向注意力层(一个用于高度轴,另一个用于宽度轴)在每个轴向注意力层之后,可选地在相应轴上执行步长操作保留两个1×1卷积用于洗牌特征。这就形成了我们的(残差)轴向注意力块,如 图2 所示,该块多次堆叠以获得轴向残差网络。请注意,我们在两个轴向注意力层之间不使用1×1卷积因为矩阵乘法( W Q , W K , W V W_Q, W_K, W_V WQ,WK,WV)紧随其后。此外,原始残差网络中的主干(即,第一个步长为7×7的卷积和3×3的最大池化)被保留,从而得到一个卷积茎模型,在该模型中,第一层使用卷积,其他地方都使用注意力层。在卷积茎模型中,我们将跨度 m 设置为从第一个块开始的整个输入,此时特征图的大小为56×56。
在这里插入图片描述
图2. 一个轴向注意力块,由两个轴向注意力层组成这两个层依次沿着高度轴和宽度轴操作。通道数 d i n = 128 、 d o u t = 16 d_{in} = 128、d_{out} = 16 din=128dout=16 是我们使用在残差网络(ResNet)“茎”之后第一阶段的参数。我们采用了 N = 8 N = 8 N=8 个注意力头。
在这里插入图片描述
在我们的实验中,我们还构建了一个完整的轴向注意力模型,称为全轴向残差网络(Full Axial-ResNet),它进一步将轴向注意力应用于主干我们没有设计一个特殊的空间变化的注意力主干[68],而是简单地堆叠了三个轴向注意力瓶颈块。此外,为了降低计算成本,我们在全轴向残差网络的前几个块中采用了局部约束(即,如[68]中的局部 m×m 方形区域)。

stem怎么理解?主干?

在这里插入图片描述
轴向DeepLab为了将轴向残差网络(Axial-ResNet)进一步转换为用于分割任务的轴向DeepLab,我们进行了以下讨论的几项更改
在这里插入图片描述
首先,为了提取密集的特征图,DeepLab [13] 改变了残差网络(ResNet)[32] 最后一个或两个阶段的步长和扩张率。类似地,我们去除了最后一个阶段的步长,但我们没有实现“扩张”注意力模块,因为我们的轴向注意力已经能够捕获整个输入的全局信息。在这项工作中,我们提取输出步长(即输入分辨率与最终主干特征分辨率的比率)为16的特征图我们没有追求输出步长为8,因为这在计算上过于昂贵

“最后一个或两个阶段”指的是该网络结构中最后的部分,“步长”是指在卷积操作中,卷积核移动的步数****,“扩张率”是指卷积核感受野的扩张程度

在这里插入图片描述
其次,我们没有采用扩张空间金字塔池化模块(ASPP)[14,15],因为我们的轴向注意力块也能够高效地编码多尺度或全局信息。我们在实验中表明,我们的轴向DeepLab在没有ASPP的情况下,性能超过了有和无的ASPP的全景DeepLab [20]。
在这里插入图片描述
最后,遵循全景DeepLab [20],我们采用了完全相同的三个卷积的茎部 [81]、双解码器和预测头。这些头产生语义分割和类别无关的实例分割,并通过多数投票 [93] 合并以形成最终的全景分割。
在这里插入图片描述
在输入非常大(例如,2177×2177)且内存受限的情况下,我们在所有的轴向注意力块中采用了较大的跨度 m = 65。请注意,我们不将轴向跨度视为超参数,因为它已经足够覆盖几个数据集上的长距离甚至全局上下文,而且设置较小的跨度并不会显著减少乘加运算次数(M-Adds)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com