论文地址: 百度飞桨
https://arxiv.org/abs/2109.15099
https://arxiv.org/abs/2109.15099
本文提出了一种基于
MKLDNN
加速策略的轻量级CPU网络,称为PP-LCNet。它提高了轻量级模型在多个任务上的性能。本文列出了在延迟几乎恒定的情况下提高网络精度的技术。通过这些改进,PP-LCNet的精度在相同的推理时间,可以大大超过以前的网络结构。
由图1可以看出,PP-LCNet 精度提升且比MobileNetV3快3倍!
现有问题
:随着模型特征提取能力的增加以及模型参数和FLOPs数量的增加,在基于移动设备的ARM架构的基础上或基于CPU设备的架构上实现快速推理速度变得困难。在这种情况下,已经提出了许多优秀的移动网络,但由于MKLDNN的限制,这些网络的速度在启用了MKLDNN的IntelCPU上并不理想。
在本文中,作者重新考虑了在intel-cpu上设计的网络的轻量级模型元素。特别是,考虑以下三个基本问题:
-
如何在不增加延迟的情况下促进网络学习更强的特征表示。
-
提高CPU上轻量级模型精度的要素是什么。
-
如何有效地结合不同的策略,在CPU上设计轻量级的模型。
主要贡献是总结了一系列在不增加推理时间的情况下提高精度的方法,以及如何将这些方法结合起来,以获得更好的精度和速度的平衡。在此基础上,我们提出了设计轻量级CNN的一般规则,并为其他研究人员在CPU设备上构建CNN提供了新的思路。此外,它还可以为神经架构搜索研究人员在构建搜索空间时提供新的思路,从而更快地获得更好的模型。
网络整体结构:
具体细节:
如图2所示,使用MobileNetV1提到的DepthSepConv作为基本模块。这个块没有额外的连接和逐元素相加等额外的操作,这些操作不仅会降低模型的推理速度,而且不会提高小模型的精度。
此外,这个块已经被英特尔CPU加速库深入优化,推理速度可以超过其他轻量级块
。
Better activation function
使用HSwish 激活函数。
众所周知,激活函数的质量往往决定着网络的性能。由于网络的激活函数由Sigmoid变为ReLU,网络的性能得到了很大的提高。近年来,出现了越来越多超越ReLU的激活函数。当EfficientNet使用Swish激活函数表现出更好的性能后,MobileNetV3的作者将其升级为HSwish,从而避免了大量的指数运算。从那时起,许多轻量级网络也使用这个激活函数。作者还将BaseNet中的激活函数从ReLU替换为HSwish,性能有了很大的提高,而推理时间几乎没有改变。
return out
SE modules at appropriate positions
SE模块自被提出以来已被大量的网络使用。该模块还帮助SENet赢得了2017年ImageNet级比赛。它可以很好地加权网络通道以获得更好的功能,它的速度改进版本也可以用于许多轻量级网络,如MobileNetV3。然而,在Intel cpu上,SE模块增加了推理时间,因此我们不能将其用于整个网络。事实上,我们已经做了很多实验,并观察到当SE模块位于网络的末端时,它可以发挥更好的作用。所以我们只将SE模块添加到网络末端的块中。这导致了一个更好的精度-速度平衡。
Larger convolution kernels
卷积核的大小往往会影响网络的最终性能。在MixNet中,作者分析了不同大小的卷积核对网络性能的影响,并最终在网络的同一层中混合了不同大小的卷积核。然而,这样的混合降低了模型的推理速度,所以我们尝试在单层中只使用一种大小的卷积核,并确保在低延迟和精度高的情况下使用一个大的卷积核。实验发现,类似于SE模块的位置,取代3x3卷积内核只有5x5卷积内核的末端网络将实现替换的影响几乎所有层的网络,所以只在网络的末端做了这个替换操作。
论文地址: 百度飞桨https://arxiv.org/abs/2109.15099https://arxiv.org/abs/2109.15099本文提出了一种基于MKLDNN加速策略的轻量级CPU网络,称为PP-LCNet。它提高了轻量级模型在多个任务上的性能。本文列出了在延迟几乎恒定的情况下提高网络精度的技术。通过这些改进,PP-LCNet的精度在相同的推理时间,可以大大超过以前的网络结构。由图1可以看出,PP-LCNet 精度提升且比MobileNetV3快3倍!现有问题:随着...
前段时间看到了百度新出的一篇论文,提出了一种基于MKLDNN加速策略的
轻量级
CPU
网络,即
PP
-
LCNet
,它提高了
轻量级
模型在多任务上的性能,对于计算机视觉的下游任务,如目标检测、语义分割等,也有很好的表现。以下是论文链接和开源的基于PaddlePaddle的实现。
arXiv: https://arxiv.org/pdf/2109.15099.pdf
code: https://github.com/PaddlePaddle/PaddleClas
论文很短,模型结构也十分简洁,没有特别创新的部
谷歌论文题目:
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision A
pp
lications
其他参考:
CNN模型之MobileNet
Mobilenet网络的理解
轻量化网络:MobileNet-V2
Tensorflow实现参考:
https://github.com/Zeha...
一、
PP
-
LCNet
:
一个
轻量级
的
卷积神经网络
我们提出了
一个
基于MKLDNN加速策略的
轻量级
卷积神经网络
,叫做
PP
-
LCNet
,他是
一个
能够用于多任务的
轻量级
模型。这篇论文提出了一些能在保持延迟不变的情况下提高模型准确率的方法。在这些优势的加持下,
PP
-
LCNet
与之前预测速度差不多的模型相比更加准确。对于计算机视觉的一些下流任务(指具体应用),比如目标检测、语义分割等,该模型效果也很好。我们的实验是基于PaddlePaddle实现的可以直接在飞桨查看相关的项目事例。
二、模型提出的原因
轻量级
网络模型
PP
-
LCNet
: A Lightweight
CPU
Convolutional Neural Network
???? PDF Link ???? Github Code
Section 1 介绍
随着模型参数和FLOPs的加大,模型越来越难以在基于ARM架构的移动端设备或者x86架构的
CPU
上取得较快的推理速度。虽然有许多优秀的移动端网络被设计出来,但是由于MKLDNN的限制,网络的推理加速效果并不理想。本文重新考虑了
轻量级
模型的构成,尤其是我们考虑了三个基础问题:
在不增加网络延时的前提下,如
1. 前言
PP
LCNet
是百度团队结合Intel-
CPU
端侧推理特性而设计的轻量高性能网络
PP
-
LCNet
,所提方案在图像分类任务上取得了比ShuffleNetV2、MobileNetV2、MobileNetV3以及GhostNet更优的延迟-精度均衡。
论文提出了一种基于MKLDNN加速的轻量
CPU
模型
PP
-
LCNet
,它在多个任务上改善了轻量型模型的性能。
如下图所示,在图像分类任务方面,所提
PP
-
LCNet
在推理延迟-精度均衡方面大幅优于ShuffleNetV2、MobileNetV2、Mobile
文章目录前言基本概念感受野分辨率深度宽度下采样上采样参数量计算量卷积计算类型标准卷积深度卷积分组卷积空洞卷积转置卷积可变性卷积其他算子池化全连接计算Addition / ConcatenateChannel shuffle
卷积神经网络
架构设计,又指backbone设计,主要是根据具体任务的数据集特点以及相关的评价指标来确定
一个
网络结构的输入图像分辨率,深度,每一层宽度,拓扑结构等细节。目前人工智能技术应用的
一个
趋势是在端侧平台上部署高性能的
神经网络
模型并能在真实场景中实时(大于30帧)运行,如移动端
论文名称:
PP
-
LCNet
: A Lightweight
CPU
Convolutional Neural Network
作者:Cheng Cui, Tingquan Gao, Shengyu Wei,Yuning Du…
Code:https://github.com/PaddlePaddle/PaddleClas
总结了一些在延迟(latency)几乎不变的情况下精度提高的技术;
提出了一种基于MKLDNN加速策略的
轻量级
CPU
网络,即
PP
-
LCNet
。
提出了
一个
基于MKLDNN加速策略的
轻量级
CPU
网络,命名为
PP
-
LCNet
,它提高了
轻量级
模型在多任务上的性能。
本文列出了可以在延迟几乎不变的情况下提高网络准确性的技术。通过这些改进,
PP
-
LCNet
在相同的分类推理时间下,准确率可以大大超过以前的网络结构。如下图所示,它优于最先进的模型。并且对于计算机视觉的下游任务,也表现非常出色,比如物体检测、语义分割等。
所有的实验都是基于Padd