RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

简介: RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

一、本文介绍

本文记录的是基于MobileNet V4的RT-DETR目标检测轻量化改进方法研究MobileNet V4通过整合UIBMobile MQA以及优化的NAS策略能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中MNv4-Conv-SMNv4-Conv-MMNv4-Conv-LMNv4-Hybrid-MMNv4-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 设计原理

  1. 基于Roofline模型的分析
    • 理解硬件瓶颈:Roofline模型通过分析模型的运算强度(LayerMACsi/(WeightBytesi + ActivationBytesi))与硬件的处理器和内存系统的理论极限,来确定模型在不同硬件上是受内存带宽还是计算能力的限制。
    • 优化策略:根据不同硬件的特点(如低RP硬件上减少MACs以提高速度,高RP硬件上利用数据移动瓶颈小的特点增加模型容量),设计模型结构,使MobileNetV4在从0到500 MACs/byte的RP范围内都能达到接近Pareto最优的性能。
  2. 注意力机制优化
    • 考虑运算强度:由于加速器的计算能力大幅提高但内存带宽增长不成比例,所以在设计注意力机制时考虑运算强度,即算术运算与内存访问的比率。
    • 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 优势

  1. 性能优势
    • Pareto最优:通过整合UIBMobile MQA以及优化的NAS策略,MobileNetV4模型在移动CPUs、DSPs、GPUs以及各种加速器上大多达到了Pareto最优性能,即在不降低其他性能指标的情况下,某一性能指标无法进一步提升。
    • 跨硬件一致性:在不同硬件平台上表现出较为一致的性能,这是其他测试模型所不具备的。例如,在ImageNet - 1K分类任务中,MNv4 - Conv - M比MobileOne - S4和Fast ViT - S12快50%以上,且在可比延迟下比MobileNetV2的Top - 1准确率高1.5%。
  2. 效率优势
    • 计算效率UIB模块提供了空间通道混合的灵活性,可选择扩展感受野,增强了计算效率。例如,ExtraDW变体可以在不显著增加计算成本的情况下增加网络深度和感受野。
    • 推理速度Mobile MQA模块在移动加速器上实现了超过39%的推理速度提升,大大提高了模型的运行效率。
  3. 模型构建优势
    • 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修改步骤

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

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

目录
相关文章
|
20小时前
|
机器学习/深度学习 计算机视觉 网络架构
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
74 63
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块
|
4天前
|
机器学习/深度学习 并行计算 API
Qwen2.5-1M: 支持100万Tokens上下文的开源Qwen模型
两个月前,Qwen团队升级了 Qwen2.5-Turbo,使其支持最多一百万个Tokens的上下文长度。今天,Qwen正式推出开源的 Qwen2.5-1M 模型及其对应的推理框架支持。
|
4天前
|
缓存 负载均衡 Java
2025春招 SpringCloud 面试题汇总
大家好,我是V哥。SpringCloud是面试中的重点,涵盖基础概念、组件细节、高级特性及性能优化等内容。为帮助大家更好地准备2025年的Spring Cloud面试,我整理了一系列常见面试题及答案,涉及服务注册与发现(Eureka)、配置管理(Spring Cloud Config)、负载均衡(Ribbon)、断路器(Hystrix)、微服务网关(Spring Cloud Gateway)等关键知识点。此外,还包括分布式事务管理、链路追踪(Sleuth+Zipkin)、安全性(OAuth2)以及性能优化和实践经验。希望这些内容能助你一臂之力,顺利通过面试。欢迎关注威哥爱编程,全栈之路就你行。
120 24
|
27天前
|
消息中间件 人工智能 运维
1月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
1314 56
1月更文特别场——寻找用云高手,分享云&AI实践
|
4天前
|
消息中间件 Linux
Linux中的System V通信标准--共享内存、消息队列以及信号量
希望本文能帮助您更好地理解和应用System V IPC机制,构建高效的Linux应用程序。
62 48
DeepSeek开源Janus-Pro多模态理解生成模型,魔搭社区推理、微调最佳实践
Janus-Pro是DeepSeek最新开源的多模态模型,是一种新颖的自回归框架,统一了多模态理解和生成。
DeepSeek开源Janus-Pro多模态理解生成模型,魔搭社区推理、微调最佳实践
|
3天前
|
人工智能 前端开发 JavaScript
详解智能编码在前端研发的创新应用
接下来,人与智能体的交互将变得更为紧密,比如 N 年以后是否可以逐渐过渡。这个逐渐过渡的过程实际上是温和的,从依赖人类到依赖超大规模算力的转变,可能会取代我们的一些职责。这不仅仅是简单的叠加关系。对于AI和超大规模算力,这是否意味着我们可以大幅度提升软件质量,是否可以缩短研发周期并提高效率,还有创造出更优质的软件并持续发展,这无疑是肯定的。
|
2天前
|
机器人 API
自定义飞书Webhook机器人api接口
自定义飞书Webhook机器人api接口
45 25
|
5天前
|
Unix Linux Shell
export在linux中的作用
通过对 `export`命令的详细介绍和实际应用示例,可以更好地理解和使用这一命令来管理Linux环境中的变量配置,从而提高系统管理和脚本编写的效率和灵活性。
44 27
|
22天前
|
缓存 NoSQL 架构师
Redis批量查询的四种技巧,应对高并发场景的利器!
在高并发场景下,巧妙地利用缓存批量查询技巧能够显著提高系统性能。 在笔者看来,熟练掌握细粒度的缓存使用是每位架构师必备的技能。因此,在本文中,我们将深入探讨 Redis 中批量查询的一些技巧,希望能够给你带来一些启发。
78 23
Redis批量查询的四种技巧,应对高并发场景的利器!

热门文章

最新文章