PaddleClas/docs/zh_CN/models/PP-LCNetV2.md

4.0 KiB
Raw Blame History

PP-LCNetV2


1. 概述

骨干网络对计算机视觉下游任务的影响不言而喻,不仅对下游模型的性能影响很大,而且模型效率也极大地受此影响,但现有的大多骨干网络在真实应用中的效率并不理想,特别是缺乏针对 Intel CPU 平台所优化的骨干网络,我们测试了现有的主流轻量级模型,发现在 Intel CPU 平台上的效率并不理想,然而目前 Intel CPU 平台在工业界仍有大量使用场景,因此我们提出了 PP-LCNet 系列模型PP-LCNetV2 是在 PP-LCNetV1 基础上所改进的。

2. 设计细节

PP-LCNetV2 模型的网络整体结构如上图所示。PP-LCNetV2 模型是在 PP-LCNetV1 的基础上优化而来主要使用重参数化策略组合了不同大小卷积核的深度卷积并优化了点卷积、Shortcut等。

2.1 Rep 策略

卷积核的大小决定了卷积层感受野的大小,通过组合使用不同大小的卷积核,能够获取不同尺度的特征,因此 PPLCNetV2 在 Stage3、Stage4 中,在同一层组合使用 kernel size 分别为 5、3、1 的 DW 卷积同时为了避免对模型效率的影响使用重参数化Re parameterizationRep策略对同层的 DW 卷积进行融合,如下图所示。

2.2 PW 卷积

深度可分离卷积通常由一层 DW 卷积和一层 PW 卷积组成,用以替换标准卷积,为了使深度可分离卷积具有更强的拟合能力,我们尝试使用两层 PW 卷积,同时为了控制模型效率不受影响,两层 PW 卷积设置为第一个在通道维度对特征图压缩第二个再通过放大还原特征图通道如下图所示。通过实验发现该策略能够显著提高模型性能同时为了平衡对模型效率带来的影响PPLCNetV2 仅在 Stage4、Stage5 中使用了该策略。

2.3 Shortcut

残差结构residual自提出以来被诸多模型广泛使用但在轻量级卷积神经网络中由于残差结构所带来的元素级element-wise加法操作会对模型的速度造成影响我们在 PP-LCNetV2 中,以 Stage 为单位实验了 残差结构对模型的影响,发现残差结构的使用并非一定会带来性能的提高,因此 PPLCNetV2 仅在最后一个 Stage 中的使用了残差结构:在 Block 中增加 Shortcut如下图所示。

2.4 激活函数

在目前的轻量级卷积神经网络中ReLU、Hard-Swish 激活函数最为常用虽然在模型性能方面Hard-Swish 通常更为优秀,然而我们发现部分推理平台对于 Hard-Swish 激活函数的效率优化并不理想因此为了兼顾通用性PP-LCNetV2 默认使用了 ReLU 激活函数并且我们测试发现ReLU 激活函数对于较大模型的性能影响较小。

2.5 SE 模块

虽然 SE 模块能够显著提高模型性能,但其对模型速度的影响同样不可忽视,在 PP-LCNetV1 中,我们发现在模型中后部使用 SE 模块能够获得最大化的收益。在 PP-LCNetV2 的优化过程中,我们以 Stage 为单位对 SE 模块的位置做了进一步实验,并发现在 Stage3 中使用能够取得更好的平衡。

3. 实验结果

在不使用额外数据的前提下PPLCNetV2_base 模型在图像分类 ImageNet 数据集上能够取得超过 77% 的 Top1 Acc同时在 Intel CPU 平台的推理时间在 4.4 ms 以下,如下表所示,其中推理时间基于 Intel(R) Xeon(R) Gold 6271C CPU @ 2.60GHz 硬件平台OpenVINO 推理平台。

Model Params(M) FLOPs(M) Top-1 Acc(%) Top-5 Acc(%) Latency(ms)
MobileNetV3_Large_x1_25 7.4 714 76.4 93.00 5.19
PPLCNetV2_x2_5 9 906 76.60 93.00 7.25
PPLCNetV2_base 6.6 604 77.04 93.27 4.32

关于 PP-LCNetV2 模型的更多信息,敬请关注。