注意力机制简介

Attention

深度学习中的注意力机制从本质上讲和人类的选择性视觉注意力机制类似,核心目标也是从众多信息中选择出对当前任务目标更为关键的信息

单路注意力

SE-Net

SE-Net
在这里插入图片描述

  • SE-Net 中的关键结构 SE-Net block 利用了注意力机制的思想,显示地建模特征图之间的相互依赖关系,并通过学习来自适应获取每张特征图的重要性,然后根据这个重要性对原始数据进行更新
  • 在 SE-Net block 中,每张特征图通过全局平均池化操作进行压缩,将每一张特征图挤压成一个实数,该实数具有本特征图的全局信息
  • 将每张特征图得到的实数组合成向量,通过训练后作为每组特征图的权重
  • SE-Net block 的 FC 层进行了升降维,导致通道和权值之间没有直接联系
  • 这里使用两个而不是一个全连接层的原因是:增加更多的非线性,可以更好地拟合通道间复杂的相关性;尽可能减少参数量和计算量

z c = F s q ( u c ) = 1 H × W ∑ i = 1 H ∑ j = 1 W u c ( i , j ) ① s = F e x ( z , W ) = σ ( g ( z , W ) ) = σ ( W 2 δ ( W 1 z ) ) ② x c ~ = F s c a l e ( u c , s c ) = s c u c ③ \begin{aligned} &z_c = F_{sq}(u_c) = \frac{1}{H \times W}\sum_{i=1}^H\sum_{j=1}^W u_c(i, j) \qquad ①\\ &s = F_{ex}(z, W) = \sigma(g(z, W)) = \sigma(W_2\delta(W_1z)) \qquad ②\\ &\tilde{x_c} = F_{scale}(u_c, s_c) = s_c u_c \qquad ③\\ \end{aligned} zc=Fsq(uc)=H×W1i=1Hj=1Wuc(i,j)s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))xc~=Fscale(uc,sc)=scuc
:其中 H 和 W 为特征图的高和宽,u 为卷积后的结果,z 为特征图对应的全局注意力信息,δ 为 ReLU 激活函数,σ 为 sigmoid 激活函数,W1 和 W2 代表两个不同的全连接操作,s 代表每张特征图的重要程度。

😄SE_Net block 先对原始数据进行卷积操作得到 c 张特征图,接着对每张特征图进行全局平均池化得到 1x1xc 的的张量,如上式①。再将该张量放入全连接层进行相关操作,学习每张特征图的重要程度,如上式②。最后通过将 Excitation 步骤计算得到的通道权重值乘回特征图中,得到了SE blocks最终的输出,如上式③

补充SE-Net 论文

ECA-Net

ECA

  • ECA-Net 实现了对 SE-Net block 的改进,提出一种不降维的局部跨信道交互策略和自适应选择一维卷积核大小的方法,通过一维卷积层汇总跨信道信息的方法获取更加精确的注意力信息
  • ECA block 思想建立在跨通道信息交互很有必要,而 SE-Net block 只注意通道内部信息的综合
  • ECA-Net 采用 Group convolutions。分组卷积用于改进CNN架构,其中高维(低维)信道在固定分组数量的情况下包括长(短)卷积。换句话说,就是通道维度 C 和卷积核大小 k 成比例

ω i = σ ( ∑ j = 1 k ω i j y i j ) , y i j ∈ Ω i k ω = σ ( C 1 D k ( y ) ) \begin{aligned} &\omega_i = \sigma(\sum_{j=1}^k\omega_i^jy_i^j),\qquad y_i^j\in\Omega_i^k\\ &\omega = \sigma(C1D_k(y))\\ \end{aligned} ωi=σ(j=1kωijyij),yijΩikω=σ(C1Dk(y))
:yi 代表通道,ωi 为通道 yi 的权重,Ω 代表与 yi 相邻的 k 个通道,C1Dk 表示核为 k 的一维卷积操作。一维卷积和 1x1 卷积是不同的,此处的一维卷积指 1xk 的卷积。

通 道 数 : C = ϕ ( k ) = 2 γ ∗ k − b 卷 积 尺 寸 : k = ψ ( C ) = ∣ log ⁡ 2 ( C ) γ + b γ o d d ∣ \begin{aligned} &通道数:C = \phi(k) = 2^{\gamma*k-b} \\ &卷积尺寸:k = \psi(C) =|{\frac{\log_2(C)}{\gamma}+\frac{b}{\gamma}}_{odd}| \end{aligned} C=ϕ(k)=2γkbk=ψ(C)=γlog2(C)+γbodd
:其中 | t |_{odd} 表示距离 t 最近的奇数,ECA-Net 中 γ 和 b 分别取 2 和 1

补充ECA-Net 论文轻量模块注意力机制ECA-Net(注意力模块+一维卷积)

多路注意力

SK-Net

在这里插入图片描述

  • 我们在看不同尺寸不同远近的物体时,视觉皮层神经元接受域大小是会根据刺激来进行调节的。SK-Net 基于卷积核的注意力机制,构建一种模型,使网络可以根据输入信息的多个尺度自适应的调节接受域大小
  • SK-Net 结构由 Split、Fuse、Select 三部分组成
  • Split:对输入张量 X 进行不同卷积核大小的完整卷积操作(包括 efficient grouped/depthwise convolutions,Batch Normalization,ReLU function)。如结构图所示,对 X 进行 Kernel3×3 和 Kernel5×5 的卷积操作,得到两个输出
  • Fuse:对上面两个输出进行 element-wise summation,从而得到输出特征图 U,接着通过全局平均池化与全连接层获取特征图的注意力信息,从而创建一个紧凑的特征 z,以便为精确和自适应选择提供指导

U = U ~ + U ^ s = F g p ( U ) z = F f c ( s ) = δ ( B N ( W s ) ) \begin{aligned} &U = \tilde{U}+\hat{U}\\ &s = F_{gp}(U) \\ &z = F_{fc}(s) = \delta(BN(Ws)) \end{aligned} U=U~+U^s=Fgp(U)z=Ffc(s)=δ(BN(Ws))
:紧凑向量 z ∈ R ^ {d x 1}, W ∈ R ^ {d x C},BN 表示批量标准化,δ 为 ReLU,F_{fc} 为先降维再升维的两层全连接层,然后输出的两个向量 a 和 b,分别表示 \tilde{U} 和 \hat{U} 的注意力向量

  • Select:将紧凑向量 z 重新分为两个(上图结构)或多个(更多情况)的特征向量,然后分别与 split 之后的特征图进行相应通道的相乘操作,最后再相加构成输入到下一个神经元的张量

a c = e A c z e A c z + e B c z b c = e B c z e A c z + e B c z V = a c ⋅ U ~ + b c ⋅ U ^ \begin{aligned} &a_c = \frac{e^{A_cz}}{e^{A_cz}+e^{B_cz}}\\ &b_c = \frac{e^{B_cz}}{e^{A_cz}+e^{B_cz}}\\ &V = a_c \cdot \tilde{U} + b_c \cdot \hat{U} \end{aligned} ac=eAcz+eBczeAczbc=eAcz+eBczeBczV=acU~+bcU^
:A,B ∈ R ^ {C x d},A_c ∈ R ^ {1 x d}表示 A 的第 c 行,a_c 表示 a 的第 c 个元素值,且 b_c = 1 - a_c

补充SK-Net 论文轻量级模块SENet与SKNet详解

金字塔特征注意力网络

金字塔特征注意网络,重点关注有效的高层上下文特征和低层次的空间结构特征。作者首先设计了上下文感知金字塔特征提取模块(CPFE)用于多尺度高层次特征映射来获得丰富的上下文特征,其次采用 CPFE 的特征映射后的信道注意(CA)和低层次特征映射后的空间注意力(SA),然后将CA和SA的输出融合在一起,最后用一种边缘保留损失来指导网络学习更详细的边界定位信息
在这里插入图片描述
在这里插入图片描述

  • channel-wise attention:CA 的结构与 SE-Net 的思想是相同的,都是利用全局平均池化提供通道注意力信息,然后利用全连接层获取各通道的权重
    C A = F C A ( F G P ( X ) , W ) = F C A ( z , W ) = σ ( g ( z , W ) ) = σ ( W 2 δ ( W 1 z ) ) x ′ = C A ⋅ X \begin{aligned} &CA = F_{CA}(F_{GP}(X), W) = F_{CA}(z, W) = \sigma(g(z, W)) = \sigma(W_2\delta(W_1z)) \\ &x^{'} = CA \cdot X \end{aligned} CA=FCA(FGP(X),W)=FCA(z,W)=σ(g(z,W))=σ(W2δ(W1z))x=CAX
  • spacial attention:SA 利用交替的卷积核相同的卷积层来提取通道内部像素位置之间的注意力信息,获取通道内部不同像素位置之间的相关性与重要程度等信息
    S 1 = c o n v 2 ( c o n v 1 ( Y , W 1 1 ) , W 1 2 ) S 2 = c o n v 1 ( c o n v 2 ( Y , W 2 1 ) , W 2 2 ) S A = F ( Y , W ) = σ ( S 1 + S 2 ) X ′ = S A ⋅ X \begin{aligned} &S_1 = conv_2(conv_1(Y, W_1^1), W_1^2)\\ &S_2 = conv_1(conv_2(Y, W_2^1), W_2^2)\\ &SA = F(Y, W) = \sigma(S_1 + S_2)\\ &X^{'} = SA \cdot X \end{aligned} S1=conv2(conv1(Y,W11),W12)S2=conv1(conv2(Y,W21),W22)SA=F(Y,W)=σ(S1+S2)X=SAX
  • CPFE:上下文感知金字塔特征提取模块如下图所示。 将 VGG-16 中的 conv3-3,conv4-3 和 conv5-3 作为基础网络。 为了使最终提取的高级特征包含尺度和形状不变性的特征,采用具有不同扩张率的卷积,其被设置为 3,5 和 7 以捕获多感受野场上下文信息。 然后,通过跨通道连接组合来自不同的 atrous 卷积层的特征映射和 1×1 维度减少特征。 在此之后,获得具有上下文感知信息的三种不同比例特征,并将两个较小的特征上采样到最大的一个。 最后,通过跨渠道连接将它们组合为上下文感知金字塔特征提取模块的输出
    在这里插入图片描述

补充PFA-Net 论文带代码的文章空洞卷积(Atrous Convolution)

ResNeSt

在这里插入图片描述
在这里插入图片描述

补充ResNeSt 论文ResNeSt 论文阅读笔记

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SK注意力模块和SE注意力模块是视觉模型中常用的通道注意力模块。SK模块在SE模块的基础上进行了改进。SK模块能够对输入特征图进行通道特征加强,而且最终的输出不改变输入特征图的大小。 SK注意力模块的设计思想是选择卷积核,它能使用不同尺寸的卷积核来提取特征,然后自动选择合适的卷积核所提取的信息。这样做的好处是,不同大小的感受视野(卷积核)对不同尺度的目标会有不同的效果。 SE注意力模块是一种常见的通道注意力模块,它通过学习网络自动选择融合不同感受野的特征图信息。SE模块能够对输入特征图中的不同通道进行加权,以增强有用的特征并抑制无用的特征。 综上所述,SK注意力模块和SE注意力模块都是用来提升视觉模型性能的通道注意力模块。SK模块通过选择不同尺寸的卷积核来提取特征,SE模块通过学习网络自动选择融合不同感受野的特征图信息。它们都能够增强有用的特征,提升模型的性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SK 注意力模块 原理分析与代码实现](https://blog.csdn.net/qq_41204464/article/details/127334477)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [matlab注意力机制](https://download.csdn.net/download/weixin_44603934/87251899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值