YOLOv11改进策略【卷积层】| GnConv:一种通过门控卷积和递归设计来实现高效、可扩展、平移等变的高阶空间交互操作

简介: YOLOv11改进策略【卷积层】| GnConv:一种通过门控卷积和递归设计来实现高效、可扩展、平移等变的高阶空间交互操作

一、本文介绍

本文记录的是利用GnConv优化YOLOv11的目标检测方法研究。YOLOv11在进行目标检测时,需要对不同层次的特征进行融合。GnConv可以考虑更高阶的空间交互,==能够更好地捕捉特征之间的复杂关系,从而增强特征融合的效果==,提高模型对目标的检测能力。


专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!

二、HorNet原理介绍

HorNet: 利用递归门控卷积实现高效高阶空间交互

GnConv(Recursive Gated Convolution,递归门控卷积)是论文中提出的一种高效操作,用于实现长期和高阶空间交互,其设计原理、计算公式和优势如下:

2.1、GnConv设计原理

  • 输入自适应交互与门控卷积Vision Transformer的成功主要依赖于对视觉数据中空间交互的适当建模,与简单使用静态卷积核聚合相邻特征的CNN不同,Vision Transformer应用多头自注意力来动态生成权重以混合空间标记,但自注意力关于输入大小的二次复杂度在很大程度上阻碍了其应用,尤其是在需要更高分辨率特征图的下游任务中。在这项工作中,作者寻求一种更有效和高效的方法来执行空间交互,使用门控卷积(gConv)来实现输入自适应的空间混合。
  • 高阶交互与递归门控:在通过gConv实现了高效的一阶空间交互后,作者设计了递归门控卷积(GnConv)来通过引入高阶交互进一步增强模型容量。具体来说,首先使用多个线性投影层($\phi_{in}$)获得一组投影特征($p_0$和$qk$),然后通过递归的方式执行门控卷积($p{k + 1} = f_k(q_k) \odot g_k(p_k) / \alpha$),其中$f_k$是一组深度卷积层,$g_k$用于匹配不同阶的维度,最后将最后一次递归步骤的输出$qn$送入投影层$\phi{out}$以获得$g^{n}Conv$的结果。从递归公式可以看出,$p_k$的交互阶数在每一步后都会增加1,因此$gnConv$实现了$n$阶空间交互。
  • 大核卷积与长期交互:为了使$GnConv$能够捕捉长期交互,作者采用了两种实现方式来处理深度卷积$f$:
    • 7×7卷积:7×7是Swin TransformersConvNext的默认窗口/核大小,研究表明该核大小在ImageNet分类和各种下游任务中产生良好性能,因此作者遵循此配置以公平地与代表性的Vision Transformer和现代CNN进行比较。
    • 全局滤波器(GF):GF层通过将频域特征与可学习的全局滤波器相乘,相当于在空间域中进行具有全局核大小和循环填充的卷积。作者使用了GF层的修改版本,即处理一半的通道与全局滤波器相乘,另一半与3×3深度卷积相乘,并仅在后期阶段使用GF层以保留更多局部细节。

2.2、GnConv计算公式

门控卷积输出

令$x \in \mathbb{R}^{H W \times C}$为输入特征,门控卷积$y = gConv(x)$的输出可写为:
$\begin{array}{r}
{\left[p{0}^{H W \times C}, q{0}^{H W \times C}\right]=\phi{in }(x) \in \mathbb{R}^{H W \times 2 C},} \
y = f\left(q
{0}\right) \odot p{0} \in \mathbb{R}^{H W \times C}, \
y = \phi
{out }\left(p_{1}\right) \in \mathbb{R}^{H W \times C},
\end{array}$

其中$\phi{in}$和$\phi{out}$是线性投影层以执行通道混合,$f$是深度卷积。注意到$p{1}^{(i, c)}=\sum{j \in \Omega{i}} w{i \to j}^{c} q{0}^{(j, c)} p{0}^{(i, c)}$,其中$\Omega{i}$是以为$i$中心的局部窗口,$w{i \to j}$代表卷积权重。

  • 递归门控卷积
    $\begin{aligned}
    &\left[p{0}^{H W \times C{0}}, q{0}^{H W \times C{0}}, \ldots, q{n - 1}^{H W \times C{n - 1}}\right]=\phi{in }(x) \in \mathbb{R}^{H W \times\left(C{0} + \sum{0 \leq k \leq n - 1} C{k}\right)}, \
    &p{k + 1} = f{k}\left(q{k}\right) \odot g{k}\left(p{k}\right) / \alpha, k = 0, 1, \ldots, n - 1,
    \end{aligned}$
    其中$g
    {k}$的定义为:$g{k}=\begin{cases}Identity, & k = 0 \Linear\left(C{k - 1}, C_{k}\right), & 1 \leq k \leq n - 1\end{cases}$。
  • 计算复杂度:总FLOPs为:$FLOPs\left(g^{n}Conv\right) < HW C\left(2K^{2} + \frac{11}{3} \times C + 2\right)$,其中$K$是深度卷积的核大小。

在这里插入图片描述

2.3、优势

  • 高效:基于卷积的实现避免了自注意力的二次复杂度。在执行空间交互时逐渐增加通道宽度的设计也使能够以有限的复杂度实现更高阶的交互。
  • 可扩展:将自注意力中的二阶交互扩展到任意阶,以进一步提高建模能力。由于不对空间卷积的类型做假设,因此(gnConv)与各种核大小和空间混合策略兼容。
  • 平移等变性:完全继承了标准卷积的平移等变性,这为主要视觉任务引入了有益的归纳偏差,并避免了局部注意力带来的不对称性。

论文:https://arxiv.org/pdf/2207.14284
源码:https://github.com/raoyongming/HorNet

三、实现代码及YOLOv11修改步骤

模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址:

https://blog.csdn.net/qq_42591591/article/details/142818651

目录
相关文章
|
9月前
|
机器学习/深度学习 人工智能 算法
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
人工智能中数据组合采样、特征层、算法层的讲解(图文详解)
201 0
|
机器学习/深度学习
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
1251 0
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
|
机器学习/深度学习 人工智能 数据可视化
ShuffleNet:极致轻量化卷积神经网络(分组卷积+通道重排)
我们引入了一个高效计算的CNN结构名字叫做shuffleNet,这个结构被设计用来解决部署算力非常有限的移动设备问题,这个新的结构使用了两个新的操作,pointwise group convolution 和 channel shuffle能够在极大减少计算量的同时保持一定的精度。我们在ImageNet classification和MS COCO目标检测数据集上做实验论证了ShuffleNet和其他的结构相比有着很好的性能。比如,相比于mobilenet,shufflenet在ImageNet 分类任务上有着更低的top-1错误率(错误率是7.8%)需要的计算量为40MFLOPs。在一个AR
1804 0
ShuffleNet:极致轻量化卷积神经网络(分组卷积+通道重排)
|
15小时前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进策略【注意力机制篇】| CVPRW-2024 分层互补注意力混合层 H-RAMi 针对低质量图像的特征提取模块
YOLOv11改进策略【注意力机制篇】| CVPRW-2024 分层互补注意力混合层 H-RAMi 针对低质量图像的特征提取模块
8 1
YOLOv11改进策略【注意力机制篇】| CVPRW-2024 分层互补注意力混合层 H-RAMi 针对低质量图像的特征提取模块
|
3天前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
YOLOv11改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
4 0
YOLOv11改进策略【卷积层】| CVPR-2023 SCConv 空间和通道重建卷积:即插即用,减少冗余计算并提升特征学习
|
3天前
|
计算机视觉
YOLOv11改进策略【卷积层】| RCS-OSA 通道混洗的重参数化卷积 二次创新C3k2
YOLOv11改进策略【卷积层】| RCS-OSA 通道混洗的重参数化卷积 二次创新C3k2
8 0
YOLOv11改进策略【卷积层】| RCS-OSA 通道混洗的重参数化卷积 二次创新C3k2
|
2月前
|
机器学习/深度学习 存储
线性化注意力综述:突破Softmax二次复杂度瓶颈的高效计算方案
大型语言模型虽在各领域表现出色,但其核心的softmax注意力机制存在显著的计算资源消耗问题。本文探讨通过线性时间复杂度的替代方案突破这一瓶颈,介绍线性注意力机制、门控线性注意力及状态空间模型(SSM)等创新方法,旨在优化计算效率与内存容量之间的权衡,提升模型性能。
107 9
线性化注意力综述:突破Softmax二次复杂度瓶颈的高效计算方案
|
4月前
|
机器学习/深度学习
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
本文探讨了深度可分离卷积和空间可分离卷积,通过代码示例展示了它们在降低计算复杂性和提高效率方面的优势。
429 2
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
|
9月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8 | 卷积模块 | 提高网络的灵活性和表征能力的动态卷积【附代码+小白可上手】
本教程介绍了如何在YOLOv8中使用动态卷积提升网络性能和灵活性。动态卷积利用注意力机制动态选择和组合卷积核,适应输入数据特征,解决了轻量级CNN的局限。文中提供了详细步骤教读者如何添加和修改代码,包括在`conv.py`中添加`Dynamic_conv2d`模块,更新`init.py`、`task.py`和`yaml`配置文件。此外,还分享了完整代码和进阶技巧,帮助深度学习初学者实践目标检测。参考[YOLOv8改进](https://blog.csdn.net/m0_67647321/category_12548649.html)专栏获取更多详情。
|
9月前
|
机器学习/深度学习 自然语言处理 算法
深圳大学提出Shift-ConvNets | 稀疏/移位操作让小卷积核也能达到大卷积核效果,且硬件友好
深圳大学提出Shift-ConvNets | 稀疏/移位操作让小卷积核也能达到大卷积核效果,且硬件友好
219 0
深圳大学提出Shift-ConvNets | 稀疏/移位操作让小卷积核也能达到大卷积核效果,且硬件友好