深度可分离卷积_轻量级卷积神经网络介绍

本文介绍了轻量化卷积神经网络,包括MobileNet系列的深度可分离卷积,ShuffleNet系列的通道洗牌与优化,以及SNet(ThunderNet的backbone)的改进策略。这些网络设计旨在减少参数量,提高效率,适用于移动端应用。
摘要由CSDN通过智能技术生成

444c65442101d7395225a7b5f6fcace1.png

写在前面:上一篇我们谈到了目标检测中的性能评价指标,其中很重要的一项是速度指标,速度指标跟硬件,网络的参数,和你设计的算法有关,大型网络(例如Resnet152,Densenet)虽然性能优秀,但与之对应带来的是对设备的内存问题,和处理速度问题(具体见下面)。只有解决 CNN 效率问题,才能让 CNN 走出实验室,更广泛的应用于移动端。对于效率问题,通常的方法是进行模型压缩,即在已经训练好的模型上进行压缩,使得网络携带更少的网络参数,从而解决内存问题,同时可以解决速度问题。相比于在已经训练好的模型上进行处理,轻量化模型模型设计则是另辟蹊径。轻量化模型设计主要思想在于设计更高效的「网络计算方式」(主要针对卷积方式),从而使网络参数减少的同时,不损失网络性能。本文就近年提出的一些轻量级网络作一下介绍,主要包括:MobileNet系列(v1-v3)、ShuffleNet系列(v1-v2)、SNet(轻量型目标检测网络ThunderNet的backbone,改进自shufflenetv2)。关于源码,大家在github上应该可以找到。

  • 大型网络存在的问题
  1. 存储问题:数百层网络有着大量的权值参数,保存大量权值参数对设备的内存要求很高。

2. 速度问题:在实际应用中,往往是毫秒级别,为了达到实际应用标准,要么提高处理器性能,要么就减少计算量,大型网络计算量大,处理任务速度慢。

1. mobilenet系列

1.1 mobilenetv1(论文地址)

  • 核心思想

MobileNet 由 Google 团队提出,发表于 CVPR-2017,其核心思想主要是深度可分离卷积来替代标准卷积,减少参数量,下面我们就看看深度可分离卷积如何操作的,能够减少参数量。深度可分离卷积其核心思想是

1.首先进行逐通道的卷积(DW卷积),什么意思呢,就是说我将输入特征图按通道进行分组,有多少个通道就用多少个卷积核(所以此处卷积核通道数是1),与单个通道的特征图卷积,例如我输入特征图的通道数是3,我想通过深度可分离卷积之后得到的输出特征图通道数为256,那么在逐通道卷积这一步我就应该用个3个Dk*Dk*1的卷积核(一般DK=3用的比较多),每一个卷积核在输入特征图中的一个通道上进行卷积。

2. 进行了逐通道卷积之后,再用1x1的卷积(PW卷积),将上面经过卷积之后的特征图所有的通道串起来,什么意思呢,就是我现在这一步,类似于点卷积,对经过逐通道卷积后的所有特征图中的一个像素点,用1x1卷积核去卷积(此处卷积核通道数为输入特征图的通道数,个数取决于你想要得到的输出特征图通道数通道数是几,那么你就去用几个卷积核)还是接着上面的例子,输入特征图通道数为3&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值