PP-LCNet: 一个轻量级的卷积神经网络

一、PP-LCNet: 一个轻量级的卷积神经网络

我们提出了一个基于MKLDNN加速策略的轻量级卷积神经网络,叫做PP-LCNet,他是一个能够用于多任务的轻量级模型。这篇论文提出了一些能在保持延迟不变的情况下提高模型准确率的方法。在这些优势的加持下,PP-LCNet与之前预测速度差不多的模型相比更加准确。对于计算机视觉的一些下流任务(指具体应用),比如目标检测、语义分割等,该模型效果也很好。我们的实验是基于PaddlePaddle实现的可以直接在飞桨查看相关的项目事例。

二、模型提出的原因

轻量级网络模型,主要从三个方面来进行考虑:

  • 如何让模型在不提高延迟的情况下跟好的学习特征。

  • 什么组件可以提高轻量级的网络的准确率

  • 如何有效地集成那些为轻量级CPU网络设计的策略

三、模型整体结构

在这里插入图片描述

1、更好的激活函数的使用

一般而言,我们经常使用的激活函数不外乎为tanh relu sigmoid 还有bert中的gelu函数,这里我们使用了一种比较新颖的激活函数swich。
因为之前对于视觉不是很了解,这方面使用的激活函数也不是很熟悉,想对我而言还是比较新的函数了。
swish链接

在EfficientNet用 Swish激活函数展示出更好的性能后MobileNetV3将他升级到了H-Swish,进而减少了大量的指数运算。自那以后,许多轻量级网络也用了这个激活函数,我们也把我们基本网络中的RELU换成了H-Swish。性能提高了很多但预测时间基本没变。

h-swish的知识链接

2、SE模块

SE模块在他被提出后就被大量网络使用,他帮助SENet赢得了2017年的ImageNet图像分类大赛。他在调整网络的通道的权重以获取更好的特征信息方面很优秀,同时它的速度型版本也被一些网络,比如MobileNetV3使用。但是,在intelCPU上,他会提高预测时间,所以我们不能到处用,事实上我们做了很多实验,发现当SE模块放到最后的时候比较好。所以我们把他放到了我们网络的靠进末尾的地方,结果获得了很好的准确率和速度的平衡。和MobileNetV3一样,SE模块的两层激活函数分别是RELU,H-Sigmoid。

(SE模块放在网络最后部分效果比较好,在se层中使用的激活函数为relu和h-sigmoid)

3、更大的卷积核

卷积核的大小会影响到网络的性能,在MixNet中,作者分析了不同大小的卷积核对网络性能的影响,最后决定在**同一层的卷积中混合使用不同大小的卷积核。但是这样的混合使用会增加预测的时间,**所以我们决定在同一层卷积中用一种大小的卷积核,为了保证不会大量增加预测时间,我们也做了实验,发现在模型的最后将3x3卷积核换成5x5的效果比较好,所以我们只在模型的末尾作了这个替代。

4、GAP后更高维度的1x1卷积层

在我们的模型,GAP后面的维度很小,直接在他后面添加分类层会损失很多特征信息,为了增强模型的鲁棒性,我们在两者之间添加了1280维、大小为1x1的卷积核(和FC[全连接层]等价)这使得模型鲁棒性更好但只有一点的预测时间提高。

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椒椒。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值