一、本文介绍
本文记录的是基于 GhostNetV3 的 RT-DETR轻量化改进方法研究。GhostNetV3
的轻量模块采用重参数化方法,训练时为深度可分离卷积
和1×1卷积
添加线性并行分支,推理时通过逆重参数化移除分支、折叠操作,能够在不增加推理成本的同时提高性能,从而实现RT-DETR
的轻量化改进。
专栏目录:RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:RT-DETR改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、GhostNet V3模型轻量化设计
GhostNetV3: Exploring the Training Strategies for Compact Models
GhostNetV3
旨在为边缘设备设计高效的轻量模型,通过独特的模块设计,在保持模型较小尺寸和快速推理速度的同时,提高模型性能。
2.1 出发点
为满足边缘设备有限的内存和计算资源需求,需要设计计算成本低、推理速度快的轻量模型。深度可分离卷积
和1×1卷积
由于内存和计算消耗可忽略不计,成为紧凑模型架构中的常见组件,GhostNetV3
在此基础上,对这些组件采用重参数化方法以提升性能。
2.2 结构原理
在训练阶段,为3×3深度可分离卷积
和1×1卷积
引入线性并行分支,这些分支配备BatchNorm层
。
值得注意的是,在重参数化的3×3深度可分离卷积
中引入了1×1深度可分离卷积分支
。推理时,可通过逆重参数化过程移除这些并行分支。由于卷积
和BatchNorm操作
在推理时都是线性的,它们可以折叠成一个卷积层,将所有分支的折叠权重和偏差重新参数化 ,从而在不增加推理成本的情况下提升性能。
2.3 优势
原文中对不同大小的GhostNetV3
进行消融实验,结果表明在其他训练设置不变的情况下,采用重参数化相较于直接训练·原始GhostNetV3·模型,性能有显著提升。
论文:https://arxiv.org/pdf/2404.11202
源码:https://github.com/huawei-noah/Efficient-AI-Backbones/tree/master/ghostnetv3_pytorch
三、实现代码及RT-DETR修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: