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

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

一、本文介绍

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

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

模型 参数量 计算量 推理速度
rtdetr-l 32.8M 108.0GFLOPs 11.6ms
Improved 18.9M 63.2GFLOPs 10.6ms

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

二、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

三、实现代码及RT-DETR修改步骤

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

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

目录
相关文章
|
1天前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
22 3
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
|
1天前
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型
7 2
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V3 2024华为的重参数轻量化模型
|
1天前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
23 10
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
|
1天前
|
编解码 异构计算
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
25 9
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
|
1天前
|
计算机视觉
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
22 12
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
|
1天前
|
机器学习/深度学习
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
RT-DETR改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计
23 11
|
2月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
82 17
|
2月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
2月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
62 10
|
2月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
71 10

热门文章

最新文章