主干网络篇 | YOLOv5/v7 更换骨干网络之 MobileNetV3 | 基于神经网络搜索的轻量级网络
1. 简介
近年来,深度卷积神经网络(CNN)在图像识别、目标检测等领域取得了巨大进展。然而,随着模型复杂度的不断提升,模型训练和部署所需的计算资源也呈指数级增长,这对于资源受限的设备和平台带来了挑战。
为了解决这个问题,MobileNetV3 应运而生。MobileNetV3 是一种基于神经网络架构搜索(NAS)的轻量级卷积神经网络架构,它通过探索不同网络结构的组合,以最小化的计算代价获得最大化的精度,实现了模型的轻量化和高效性。
本文将介绍将 MobileNetV3 作为主干网络替换 YOLOv5/v7 中原有骨干网络的方案,并探讨基于神经网络搜索的轻量级网络设计。
2. 原理详解
MobileNetV3 的核心思想是通过神经网络架构搜索(NAS)寻找在特定性能指标约束下,模型参数量和计算量与模型精度之间的最佳平衡。
MobileNetV3 的架构搜索过程主要包括以下步骤:
- 定义搜索空间: 首先,定义一个包含不同网络结构组合的搜索空间,例如网络深度、宽度、卷积核大小、激活函数等。
- 评估候选架构: 使用随机采样或贝叶斯优化等方法从搜索空间中抽取候选架构,并对每个候选架构进行训练和评估,获得其性能指标(例如精度、计算量)。
- 更新搜索策略: 根据评估结果,更新搜索策略,将搜索重点放在更有可能找到高性能架构的区域。
- 重复步骤 2 和 3: 重复步骤 2 和 3,直到找到满足性能指标约束的最佳架构。
MobileNetV3 引入了以下两种关键技术来提高搜索效率:
- 深度可分离卷积: MobileNetV3 使用深度可分离卷积(Depthwise Separable Convolutions)来降低模型的计算量。深度可分离卷积