摘要
PP-LCNetV2 是在图像分类任务中提出的一种轻量级卷积神经网络,用于在边缘设备上实现高效的推理。PP-LCNet 系列模型的设计旨在提高移动和边缘设备上的推理性能,同时保持较高的准确率。PP-LCNetV2 是在 PP-LCNetV1 基础上改进的。
理论介绍
PP-LCNetV2模型结构如下:
在PP-LCNetV1基础上重参数化策略组合了不同大小卷积核的深度卷积,并优化了点卷积、Shortcut等。
- Rep 策略
卷积核的大小决定了卷积层感受野的大小,通过组合使用不同大小的卷积核,能够获取不同尺度的特征,因此 PPLCNetV2 在 Stage4、Stage5 中,在同一层组合使用 kernel size 分别为 5、3、1 的 DW 卷积,同时为了避免对模型效率的影响,使用重参数化(Re parameterization,Rep)策略对同层的 DW 卷积进行融合。如下图所示:
- shortcut(跳跃连接)
PP-LCNetV2 增加了 shortcut,并且在 RepDepthwiseSeparable 模块中实现了这一优化。shortcut(跳跃连接)可以有效提升模型的训练效果和推理表现,尤其是在深层网络中,它能够缓解梯度消失问题,提升网络的表达能力和优化效率。在 Block 中增加 Shortcut,如下所示:
- 改进的激活函数
PP-LCNetV2 改进了激活函数的使用,采用了 Hardswish 激活函数替代了部分模块中的 ReLU。Hardswish 是一种结合了线性与非线性特性的激活函数,在维持性能的同时减少了计算量和内存开销。该函数能提供比 ReLU 更高效的非线性表达能力,在边缘设备的推理任务中,表现出更好的性能。 - SE 模块
PP-LCNetV2 还引入了 SE模块(Squeeze-and-Excitation),该模块可以动态学习特征通道的重要性,并通过调整每个通道的权重,提升网络的特征表达能力。
代码可在这个链接找到:代码地址
本文在 YOLOv9 中的主干网络替换成PP-LCNetV2(百度飞浆视觉团队自研,轻量化架构),全网独发,代码已经整理好了,跟着文章复制粘贴,即可直接运行
<