ShuffleNetV2-学习记录

文章介绍了ShuffleNetV2的设计理念,强调不应仅依赖FLOPs评估模型效率,而应关注实际运行速度。作者提出设计原则,包括使用平衡的卷积,考虑组卷积成本,降低碎片化及减少元素级别运算。ShuffleNetV2通过channelsplit结构和通道重组排序优化信息交互,提高效率。
摘要由CSDN通过智能技术生成

引入:本次学习内容基本来自于Ningning Ma , Xiangyu Zhang 等编写的的《ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design》,以及部分讲解视频,本学习记录仅为个人学习收获,部分内容存在纰漏烦请各位大佬批评指正。
(一)摘要:根据目前市面上几种高效的卷积网络模型提出了两条原则,四项准则,以此为规范更好的设计新的网络结构。并根据提出的准则重新规划了shuffleNet模型。

(二)发表时间:2018

(三)关键词:网络结构设计,多尺度运行,碎片化处理

(四)学习笔记:

ShuffleNetV2论文中首先提出是观点是不应该使用FLOPs作为模型的度量标准,因为MobileNetV2比NASNET-A快得多,但它们FLOPs很接近。因此作者提出了两个意见来作为设计网络架构的原则——应该使用直接度量(例如,速度)而不是间接度量(例如,FLOP)。其次,应在目标平台上评估直接度量指标。

作者也提到了目前的一些技术对网络结构是设计并不是都有益处的,例如深度可分离卷积中的逐点卷积会占据大部分的复杂性,ResNext中使用的组卷积在相同计算复杂度的情况下拓展了通道数,但是通道数的增加也使得MAC(内存访问成本)大大增加。在GoogleNet中使用的多线程卷积处理,虽然增加了精准度,但是会降低模型的并行度,因此相应的速度也会减慢。以及,ReLu,Add等元素级别的操作也需要较大的内存访问成本。

因此作者提出一个高效的网络结构应该是这样的:

(1)使用相对平衡(相同的通道数,逐点卷积)的卷积。

(2)考虑组卷积的成本。

(3)适量降低碎片化程度。

(4)减少元素级别运算。

接着作者根据以上的原则提出了自己的新的结构——ShuffleNetV2。

新的ShuffleNetV2中增加了新的channel split结构。首先将一个输入量拆分成两路,其中一路直接做恒等映射,不做其他任何处理。另外一路包含三个卷积操作,分别是1×1,接着是3×3卷积,最后是一个1×1卷积层。但是这一路的输入输出通道数是相同的,并且1×1卷积层不再是组卷积层。最后将结构concat在一起,而不是add操作。最后对结构进行通道重组排序,完成信息的交互。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值