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-\lambda) A(x)+\lambda x$,其中$\lambda$是一个平衡修改后的激活函数$A'(x)$非线性的超参数,随着训练过程$\lambda$从$1$逐渐变为$0$。

    2.2.2 系列激活函数

  • 提升非线性:通过将多个激活函数进行堆叠来提高神经网络的非线性。具体公式为$A{s}(x)=\sum{i=1}^{n} a{i} A\left(x+b{i}\right)$,其中$n$是堆叠的激活函数数量,$a{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)$,其中\$h$、$w$和$c$分别是特征的宽度、高度和通道数。

2.3 结构

2.3.1 整体结构

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

    2.3.2 stem块

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

    2.3.3 主体阶段

  • 阶段1 - 3:在阶段$1$、$2$和$3$,使用一个步长为$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

相关文章
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
418 2
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
354 1
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
11月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
12月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
688 2
|
12月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
293 8
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
421 0
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
572 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
425 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章