《ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices》

MobileNetV1《MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications》_程大海的博客-CSDN博客

《MobileNetV2: Inverted Residuals and Linear Bottlenecks》_程大海的博客-CSDN博客

《ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices》_程大海的博客-CSDN博客

pytorch中MobileNetV2分类模型的源码注解_程大海的博客-CSDN博客

pytorch卷积操作nn.Conv中的groups参数用法解释_程大海的博客-CSDN博客_pytorch中groups

开源代码:https://github.com/xxcheng0708/Pytorch_Image_Classifier_Template 


核心思想:

本论文的核心关注点在于卷积神经网络中的1x1卷积模块,作者指出在XCeption和ResNetXt等网络模型中,虽然采用了深度可分离卷积来降低参数量和计算量,但是这样又引入了大量的1x1标准卷积操作,导致的结果就是网络模型中存在大量的1x1卷积操作,1x1卷积的参数量和计算量占据了绝对的大头。下图是MobileNetV1网络使用深度可分离卷积之后的参数量和计算量统计,1x1卷积无论在参数量和计算量上都占据绝对大头:

核心方法:

所以本论文将1x1卷积作为重点关照对象,在深度可分离卷积中采用分组卷积的方式大大降低了卷积操作的参数量和计算量,所以作者将1x1卷积也修改为分组的1x1卷积,分组卷积的特点是各个channel单独进行卷积计算,没有融合多个channel的特征,即使堆叠多个分组卷积操作也无法提取到通道channel维度的融合特征。为了克服分组卷积带来的通道特征融合问题,论文中又提出对channel维度进行shuffle来实现通道维度特征融合的目的,这样使得后一层的卷积的输入中包含前一层输出的所有通道特征。这样就可以通过连续使用分组卷积来降低模型的参数量和计算量,同时还能保证提取到更具代表性的特征。

ShuffleNet核心单元:1x1分组卷积和channel shuffle

ShuffleNet网络结构:

存在的问题: 

分组卷积虽然显著降低了模型的参数量和计算量,但是带来了更多的显存访问次数,导致模型虽然有较少的参数量和计算量,但是推理时间(inference time)确并不一定少。这一点在X3D视频动作识别模型上也有所体现。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值