YOLOv11改进策略【模型轻量化】| 替换华为的极简主义骨干网络:VanillaNet

简介: YOLOv11改进策略【模型轻量化】| 替换华为的极简主义骨干网络:VanillaNet

一、本文介绍

本文记录的是基于VanillaNet的YOLOv11轻量化改进方法研究VanillaNet的极简主义在于无 shortcut 连接,并且在网络的每个阶段仅使用一层卷积,无额外复杂模块,仅通过自身简洁的架构设计和训练策略,实现有效地训练和优化。

本文在替换骨干网络中配置了原论文中的vanillanet_5vanillanet_6vanillanet_7vanillanet_8vanillanet_9vanillanet_10vanillanet_11vanillanet_12vanillanet_13vanillanet_13_x1_5、和vanillanet_13_x1_5_ada_pool11种模型,以满足不同的需求。

模型 参数量 计算量 推理速度
YOLOv11m 20.0M 67.6GFLOPs 3.5ms
Improved 10.4M 29.8GFLOPs 2.3ms

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

二、VanillaNet结构详解

VanillaNet: the Power of Minimalism in Deep Learning

VanillaNet是一种强调设计的优雅和简洁的神经网络架构,以下是其相关介绍:

2.1 设计出发点

  • 应对优化挑战和复杂性:随着神经网络的发展,如Transformer模型在计算机视觉和自然语言处理领域取得了显著成功,但也面临着优化困难和固有复杂性的挑战。因此需要一种向简单性转变的范式,VanillaNet应运而生。
  • 关注资源受限环境:复杂的神经网络架构在部署时面临诸多问题,如ResNets中的shortcut操作消耗大量片外内存带宽,一些复杂操作需要复杂的工程实现。而在资源受限环境中,需要一种简洁且高效的网络架构,VanillaNet旨在解决这些问题。

2.2 原理

2.2.1 深度训练策略

  • 训练过程:在训练开始时,使用两个带有激活函数的卷积层代替单个卷积层进行训练。随着训练epoch的增加,激活函数逐渐变为恒等映射,训练结束时,两个卷积层可以轻松合并为一个卷积层,从而减少推理时间。
  • 数学原理:对于激活函数A(x),将其与恒等映射结合为A(x)=(1λ)A(x)+λx,其中λ是一个平衡修改后的激活函数A(x)非线性的超参数,随着训练过程λ1逐渐变为0

    2.2.2 系列激活函数

  • 提升非线性:通过将多个激活函数进行堆叠来提高神经网络的非线性。具体公式为$A{s}(x)=\sum{i=1}^{n} a{i} A\left(x+b{i}\right)na{i}b{i}$是每个激活函数的缩放和偏差参数,避免简单积累。
  • 全局信息学习:为了进一步丰富系列函数的逼近能力,使其能够学习全局信息,公式进一步扩展为$A{s}\left(x{h, w, c}\right)=\sum{i, j \in{-n, n}} a{i, j, c} A\left(x{i+h, j+w, c}+b{c}\right)$hwc分别是特征的宽度、高度和通道数。

2.3 结构

2.3.1 整体结构

  • 遵循神经网络的常见设计,包括stem块主体全连接层。与现有深度网络不同的是,在每个阶段只使用一层来构建一个尽可能简单的网络。

    2.3.2 stem块

  • 使用一个4×4×3×C的卷积层,步长为4,将输入的3通道图像映射为C通道的特征。

    2.3.3 主体阶段

  • 阶段1 - 3:在阶段123,使用一个步长为2的最大池化层来减小特征图的大小,同时通道数增加2倍。
  • 阶段4:在阶段4,不增加通道数,而是使用一个平均池化层。

    2.3.4 全连接层

  • 最后一层是一个全连接层,用于输出分类结果。每个卷积层的核大小为1×1,激活函数应用在每个1×1卷积层之后,并且在每层之后添加批量归一化。

在这里插入图片描述

VanillaNet-6模型的架构,仅由6个卷积层组成,非常容易在任何现代硬件上使用。输入特征的大小被下采样,而通道在每个阶段加倍,这借用了经典神经网络的设计,如AlexNet和VGGNet。

2.4 优势

  • 简洁性
    • 架构简单没有shortcut连接,避免了复杂的分支和额外的模块,如挤压和激励模块,使得网络架构极其简单,易于理解和实现。
    • 计算成本低:每层使用最小的计算成本,同时保持特征图的信息,例如卷积层核大小为1×1
  • 高效性
    • 推理速度快:在现代AI芯片环境下,其简单的设计和相对较浅的结构使得推理速度不受FLOPs或参数的限制,相比一些复杂的网络架构,如MobileNetV3-Large,虽然FLOPs较高,但推理速度更快。
    • 训练高效:采用的深度训练策略和系列激活函数在提升性能的同时,也保证了训练的高效性。
  • 性能相当:在大规模图像分类任务上,能够取得与著名的深度神经网络和视觉Transformer相当的性能,如在ImageNet数据集上的实验结果所示。

论文:https://arxiv.org/pdf/2305.12972v2
源码:https://github.com/huawei-noah/VanillaNet

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

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

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

目录
打赏
0
16
16
0
161
分享
相关文章
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
184 9
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
142 3
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
126 10
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
131 11
Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库
gev 是一个基于 epoll 和 kqueue 实现的高性能事件循环库,适用于 Linux 和 macOS(Windows 暂不支持)。它支持多核多线程、动态扩容的 Ring Buffer 读写缓冲区、异步读写和 SO_REUSEPORT 端口重用。gev 使用少量 goroutine,监听连接并处理读写事件。性能测试显示其在不同配置下表现优异。安装命令:`go get -u github.com/Allenxuxu/gev`。
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
135 17
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
103 10
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
128 10
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等