PaddleClas-图像分类中的常用移动端系列模型

简介

  • 这里主要介绍PaddleClas中已经开源的常用移动端系列模型,PaddleClas的github repo:https://github.com/PaddlePaddle/PaddleClas。
  • PaddleClas中包含了ShuffleNetV2以及MobileNet等移动端系列模型。

MobileNet系列

在MobileNetV1中,主要是使用了深度可分离卷积去减少计算量,提升精度;在V2中,则是引入了线性瓶颈块以及逆残差模块,防止网络中特征的退化;MolbileNetV3中,也是使用了大量的可分离卷积,同时引入了之前咱们提到的SE注意力模块,去区分特征之间的重要程度;在网络设计中,MolbileNetV3也基于网络搜索,改进了一些模块。此外,对网络最后一个阶段进行了改进,如下图所示

在这里插入图片描述

  • 改进之后,网络结构精简了许多,而模型的精度并没有任何损失。此外,为了进一步提升精度,MolbileNetV3中也引入了hard swish与hard sigmoid激活函数去改进特征的激活过程。
  • 下面给出了MV3的速度精度曲线,比MV1、MV2、ShuffleNet系列来说,还是有较大的优势的。

在这里插入图片描述

ShuffleNet

  • PaddleClas里只提供了ShuffleNetV2,在V1中,其实最主要的就是引入了channel shffle的情况,这个一方面降低了flops,另一方面也避免了直接进行分组卷积的话,通道之间的信息无法连通的问题。
    在这里插入图片描述

  • ShuffleNetV2中,也是强调了特征之间交互的重要性,同时作者也总结了轻量级网络设计的4大准则。

    • 尽量保证输入和输出通道相同
    • 谨慎使用分组卷积,虽然说group num越大,flops越小,但是这会带来额外的通道拆分和重组耗时。
    • 尽量减少网络的分支数。
    • 尽量减少elem-wise的操作,比如说relu、biaa、elem-add,elem-mul等。

猜你喜欢

转载自blog.csdn.net/u012526003/article/details/106592082