一、本文介绍
本文记录的是基于MobileNet V4的RT-DETR目标检测轻量化改进方法研究。MobileNet V4
通过整合UIB
、Mobile MQA
以及优化的NAS策略
,能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中MNv4-Conv-S
、MNv4-Conv-M
、MNv4-Conv-L
、MNv4-Hybrid-M
和MNv4-Hybrid-L
五种模型,以满足不同的需求。
模型 | 参数量 | 计算量 | 推理速度 |
---|---|---|---|
rtdetr-l | 32.8M | 108.0GFLOPs | 11.6ms |
Improved | 21.2M | 77.1GFLOPs | 10.7ms |
专栏目录:RT-DETR改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:RT-DETR改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、MoblieNet V4设计原理
MobileNetV4: Universal Models for the Mobile Ecosystem
MobileNetV4
是一系列适用于移动生态系统的通用高效模型。以下将详细介绍其轻量化设计的出发点、原理、结构和优势:
2.1 设计出发点
- 平衡精度与效率:移动设备的计算资源有限,需要在保证模型精度的同时提高计算效率,以实现快速、实时和交互式的应用体验,同时避免通过公共网络传输私人数据。
- 硬件通用性:针对不同的移动硬件平台(如CPUs、DSPs、GPUs以及各种加速器),设计出在性能上普遍高效的模型,使其能在各种设备上都能良好运行。
2.2 设计原理
- 基于Roofline模型的分析
- 理解硬件瓶颈:Roofline模型通过分析模型的运算强度(LayerMACsi/(WeightBytesi + ActivationBytesi))与硬件的处理器和内存系统的理论极限,来确定模型在不同硬件上是受内存带宽还是计算能力的限制。
- 优化策略:根据不同硬件的特点(如低RP硬件上减少MACs以提高速度,高RP硬件上利用数据移动瓶颈小的特点增加模型容量),设计模型结构,使MobileNetV4在从0到500 MACs/byte的RP范围内都能达到接近Pareto最优的性能。
- 注意力机制优化
- 考虑运算强度:由于加速器的计算能力大幅提高但内存带宽增长不成比例,所以在设计注意力机制时考虑运算强度,即算术运算与内存访问的比率。
- MQA机制:
Mobile MQA
通过共享键和值来减少内存带宽需求,提高运算强度,同时还采用了如不对称空间下采样等策略进一步提高效率。
2.3 结构
2.3.1 通用倒置瓶颈(UIB)模块
- 结构特点:
UIB模块
是一种统一且灵活的结构,它扩展了MobileNet的倒置瓶颈(IB)模块,在扩展层之前和扩展与投影层之间引入了可选的深度可分离卷积(DW)。它可以统一Inverted Bottleneck (IB)、ConvNext、Feed Forward Network (FFN)以及一种新的Extra Depthwise (ExtraDW)变体。 - 模块实例化:
UIB模块
中的两个可选深度卷积有四种可能的实例化方式,分别对应不同的权衡。例如,ExtraDW
可以增加网络深度和感受野,结合了ConvNext-Like和IB的优点。
2.3.2 Mobile MQA模块
- 基础结构:是一种基于注意力机制的模块,它简化了
多头注意力(MHSA)机制
,==通过共享键和值来减少内存带宽需求。==- 优化结构:进一步采用不对称空间下采样(SRA),在优化后的MQA块中对关键和价值分辨率进行下采样,同时保留高分辨率查询,提高了模型效率。
2.4 优势
- 性能优势
- Pareto最优:通过整合
UIB
、Mobile MQA
以及优化的NAS策略,MobileNetV4模型在移动CPUs、DSPs、GPUs以及各种加速器上大多达到了Pareto最优性能,即在不降低其他性能指标的情况下,某一性能指标无法进一步提升。 - 跨硬件一致性:在不同硬件平台上表现出较为一致的性能,这是其他测试模型所不具备的。例如,在ImageNet - 1K分类任务中,MNv4 - Conv - M比MobileOne - S4和Fast ViT - S12快50%以上,且在可比延迟下比MobileNetV2的Top - 1准确率高1.5%。
- Pareto最优:通过整合
- 效率优势
- 计算效率:
UIB模块
提供了空间和通道混合的灵活性,可选择扩展感受野,增强了计算效率。例如,ExtraDW变体
可以在不显著增加计算成本的情况下增加网络深度和感受野。 - 推理速度:
Mobile MQA模块
在移动加速器上实现了超过39%的推理速度提升,大大提高了模型的运行效率。
- 计算效率:
- 模型构建优势
- NAS优化:采用了优化的神经网络架构搜索(NAS)策略,包括两阶段搜索(粗粒度搜索和细粒度搜索)以及使用离线蒸馏数据集,提高了搜索效率和模型质量,能够创建出比以前的先进模型更大的模型。
- 蒸馏技术:引入了一种新的蒸馏技术,通过动态混合不同增强策略的数据集以及添加平衡的类内数据,进一步提高了模型的准确性和泛化能力。例如,MNv4 - Hybrid - Large模型在ImageNet - 1K上的准确率达到87%,同时在Pixel 8 EdgeTPU上的运行时间仅为3.8ms。
论文:https://arxiv.org/pdf/2404.10518
源码:https://github.com/tensorflow/models/blob/master/official/vision/modeling/backbones/mobilenet.py
三、实现代码及RT-DETR修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: