详细解读 | CVPR 2021轻量化目标检测模型MobileDets(附论文下载)(二)

简介: 详细解读 | CVPR 2021轻量化目标检测模型MobileDets(附论文下载)(二)

4架构搜索方法


本文提出的搜索空间是互补的任何神经结构搜索算法。

在实验中使用了TuNAS,因为它的可伸缩性和相对于随机baseline的可靠改进。TuNAS构建了一个one-shot模型,该模型包含给定搜索空间中的所有架构选择,以及一个控制器,其目标是选择优化平台感知的奖励功能的架构。

在搜索过程中,one-shot模型和控制器一起训练。在每一步中,控制器从跨越选择的多项分布中抽样一个随机体系结构,然后更新与抽样体系结构相关的one-shot模型权值的部分,最后计算抽样体系结构的奖励,用于更新控制器。更新内容是通过对以下奖励功能应用强化算法来实现的:

Cost Models

作者训练了一个Cost Model,——一个线性回归模型,它的特征是,对于每一层,输入/输出通道规模和层类型之间的交叉乘积的指标。该模型跨平台高保真度。线性代价模型与之前提出的基于查找表的方法有关,但只要求在搜索空间内对随机选取的模型的延迟进行基准测试,而不要求度量卷积等单个网络操作的cost。

因为R(M)是在每次更新步骤时计算的,所以效率是关键。在搜索过程中,本文基于一个小型的小批处理估计了mAP(M)的效率,并使用回归模型作为设备上延迟c(M)的替代。为了收集成本模型的训练数据,本文从搜索空间随机抽取数千个网络架构,并在设备上对每个架构进行基准测试。这在每个硬件和搜索之前只执行一次,消除了服务器类ML硬件和移动设备之间直接通信的需要。对于最终的评估,所找到的体系结构将基于实际硬件测试而不是成本模型进行基准测试。


5实验


5.1 不同硬件的实验

CPU

图5显示了pixel-1 cpu的NAS结果。正如预期的那样,MobileNetV3+SSDLite是一个强大的baseline,因为它的backbone的效率已经在相同的硬件平台上对ImageNet上的分类任务进行了大量优化。作者还注意到,在这种特殊情况下,常规卷积并没有提供明显的优势,因为IBN-only在FLOPS/CPU延迟下已经很强大了。然而,w.r.t.进行特定领域的体系结构搜索,目标检测任务在COCO上提供了不小的收益(150-200ms范围内的+1mAP)。

EdgeTPU

image.png

图6显示了以Pixel-4 EdgeTPUs为目标时的NAS结果。使用这3种搜索空间中的任何一种进行硬件感知的体系结构搜索,都能显著提高整体质量。这很大程度上是由于baseline架构(MobileNetV2)1对CPU延迟进行了大量优化,这与FLOPS/MAdds密切相关,但与EdgeTPU延迟没有很好地校准。值得注意的是,虽然IBN-only仍然提供了最好的准确性-madds权衡(中间图),但在搜索空间中使用常规卷积(IBN+Fused或IBN+Fused+Tucker)在准确性-延迟权衡方面提供了明显的进一步优势。实验结果证明了完全卷积在EdgeTPUs上的有效性。

DSP

image.png

图7显示了Pixel-4 DSP的搜索结果。与EdgeTPUs类似,很明显,在搜索空间中包含规则卷积可以在相当的推断延迟下显著改善mAP。

5.2 SOTA对比结果


6参考


[1].MobileDets: Searching for Object Detection Architectures for Mobile Accelerators

相关文章
|
Kubernetes 监控 Cloud Native
Kubernetes自动伸缩方案的终极指南
【4月更文挑战第18天】
668 0
Kubernetes自动伸缩方案的终极指南
|
Windows
mathtype7产品激活密钥最新
MathType是强大的数学公式编辑器,MathType公式编辑器可以说是专门为理科生准备的软件,它可以帮助用户快速的在各种文档中插入符号和公式,不论是简单的公式和符号,还是复杂的都可以非常轻松的输入,并且在与office文档结合使用时,表现的非常完美,是非常好的一款软件,与常见的文字处理软件和演示程序配合使用,能够在各种文档中加入复杂的数学公式和符号,可用在编辑数学试卷、书籍、报刊、论文、幻灯演示等方面,是编辑数学资料的得力工具。
51898 0
|
Shell 分布式数据库 Apache
Hbase常用shell操作
Hbase常用shell操作
852 1
|
10月前
|
机器学习/深度学习 计算机视觉 iOS开发
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
588 0
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构
|
机器学习/深度学习 人工智能 文字识别
ultralytics YOLO11 全新发布!(原理介绍+代码详见+结构框图)
本文详细介绍YOLO11,包括其全新特性、代码实现及结构框图,并提供如何使用NEU-DET数据集进行训练的指南。YOLO11在前代基础上引入了新功能和改进,如C3k2、C2PSA模块和更轻量级的分类检测头,显著提升了模型的性能和灵活性。文中还对比了YOLO11与YOLOv8的区别,并展示了训练过程和结果的可视化
20481 0
|
设计模式 Java API
Quarkus RESTful API性能揭秘:如何打造极速响应的应用程序?
在互联网高速发展的背景下,企业对应用性能的要求日益提升。Quarkus作为一款基于Java的开源框架,以出色的性能和简洁的设计模式成为开发者的首选。本文通过实例展示如何利用Quarkus构建响应迅速的RESTful API应用。首先创建Maven项目并配置Quarkus依赖,接着逐步实现用户管理系统的各个模块,包括实体类、数据访问层、服务层及资源层,最终完成一个高性能的RESTful API。通过Quarkus,开发者可以更高效地开发出轻量级且响应快速的应用程序。
223 1
|
机器学习/深度学习 数据采集 算法
Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
|
小程序 Java 关系型数据库
基于Java微信小程序智能招聘平台设计和实现(源码+LW+调试文档+讲解等)
基于Java微信小程序智能招聘平台设计和实现(源码+LW+调试文档+讲解等)
|
NoSQL 编译器 C语言
【C 言专栏】C 语言中的调试技巧与工具
【5月更文挑战第6天】在C语言编程中,调试是必不可少的技能,涉及基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。高级技巧包括内存检查和性能分析。通过分析问题、设置断点、逐步调试和检查逻辑来解决错误。调试时需保持耐心,合理选用工具,记录过程,并避免过度调试。熟练掌握这些技能将提升代码质量和开发效率。
389 0
【C 言专栏】C 语言中的调试技巧与工具
|
缓存 NoSQL Redis
揭秘Redis的高效失效策略,提升可用性
Redis是广泛使用的开源内存数据库,其高性能和多样性使其在现代应用中不可或缺。然而,内存限制和数据管理是关键挑战。本文探讨了Redis的失效策略,包括内存淘汰(如LRU和LFU)和缓存失效策略(定时清除、惰性清除和定时扫描清除),以应对内存耗尽、数据过期等问题,确保系统性能和稳定性。通过合理配置这些策略,可以优化内存使用,防止数据不一致,提升系统效率。
570 0
揭秘Redis的高效失效策略,提升可用性