当前位置:首页 > 教育 >

子网宽度对照表(正确子网号表示方法)

来源:原点资讯(m.360kss.com)时间:2023-04-20 03:40:45作者:YD166手机阅读>>

作者丨VincentLee

来源丨晓飞的算法工程笔记

来源链接:https://mp.weixin.qq.com/s/-LAfyLA3U4C27thFlRgDhw

轻量级网络的核心是在尽量保持精度的前提下,从体积和速度两方面对网络进行轻量化改造,本文对轻量级网络进行简述,主要涉及以下网络:

  • SqueezeNet系列
  • ShuffleNet系列
  • MnasNet
  • MobileNet系列
  • CondenseNet
  • ESPNet系列
  • ChannelNets
  • PeleeNet
  • IGC系列
  • FBNet系列
  • EfficientNet
  • GhostNet
  • WeightNet
  • MicroNet
SqueezeNet系列

SqueezeNet系列是比较早期且经典的轻量级网络,SqueezeNet使用Fire模块进行参数压缩,而SqueezeNext则在此基础上加入分离卷积进行改进。虽然SqueezeNet系列不如MobieNet使用广泛,但其架构思想和实验结论还是可以值得借鉴的。

SqueezeNet

SqueezeNet是早期开始关注轻量化网络的研究之一,使用Fire模块进行参数压缩。

子网宽度对照表,正确子网号表示方法(1)

SqueezeNet的核心模块为Fire模块, 结构如图 1 所示, 输入层先通过squeeze卷积层 卷 积)进行维度压缩,然后通过expand卷积层 卷积和 卷积混合)进行维度扩展。Fire模 块包含 3 个参数, 分别为squeeze层的 卷积核数 , expand层的 卷积核数 和 层的 卷积核数 , 一般

SqueezeNext

SqueezeNext是SqueezeNet实战升级版,直接和MobileNet对比性能。SqueezeNext全部使用标准卷积,分析实际推理速度,优化的手段集中在网络整体结构的优化。

子网宽度对照表,正确子网号表示方法(2)

SqueezeNext的设计沿用残差结构,没有使用当时流行的深度分离卷积,而是直接使用了分离卷积,设计主要基于以下策略:

  • Low Rank Filters   低秩分解的核心思想就是将大矩阵分解成多个小矩阵,这里使用CP分解(Canonical Polyadic Decomposition), 将 卷积分解成 和 的分离卷积, 参数量能从 降为。
  • Bottleneck Module   参数量与输入输出维度有关,虽然可以使用深度分离卷积来减少计算量,但是深度分离卷积在终端系统的计算并不高效。因此采用SqueezeNet的squeeze层进行输入维度的压缩,每个block的开头使用连续两个squeeze层,每层降低1/2维度。
  • Fully Connected Layers   在AlexNet中,全连接层的参数占总模型的96%,SqueezeNext使用bottleneck层来降低全连接层的输入维度,从而降低网络参数量。
ShuffleNet系列

ShuffleNet系列是轻量级网络中很重要的一个系列,ShuffleNetV1提出了channel shuffle操作,使得网络可以尽情地使用分组卷积来加速,而ShuffleNetV2则推倒V1的大部分设计,从实际出发,提出channel split操作,在加速网络的同时进行了特征重用,达到了很好的效果。

ShuffleNet V1

ShuffleNet的核心在于使用channel shuffle操作弥补分组间的信息交流,使得网络可以尽情使用pointwise分组卷积,不仅可以减少主要的网络计算量,也可以增加卷积的维度。

子网宽度对照表,正确子网号表示方法(3)

在目前的一些主流网络中,通常使用pointwise卷积进行维度的降低,从而降低网络的复杂度,但由于输入维度较高,pointwise卷积的开销也是十分巨大的。对于小网络而言,昂贵的pointwise卷积会带来明显的性能下降,比如在ResNext unit中,pointwise卷积占据了93.4%的计算量。为此,论文引入了分组卷积,首先探讨了两种ShuffleNet的实现:

  • 图1a是最直接的方法,将所有的操作进行了绝对的维度隔离,但这会导致特定的输出仅关联了很小一部分的输入,阻隔了组间的信息流,降低了表达能力。
  • 图1b对输出的维度进行重新分配,首先将每个组的输出分成多个子组,然后将每个子组输入到不同的组中,能够很好地保留组间的信息流。

图1b的思想可以简单地用channel shuffle操作进行实现,如图1c所示, 假设包含 组的卷积 层输出为 维,首先将输出reshape()为 , 然后进行transpose 0 , 最后再flatten()回维。

ShuffleNet V2

ShuffleNetV1的pointwise分组卷积以及bottleneck结果均会提高MAC,导致不可忽视的计算损耗。为了达到高性能以及高准确率,关键是在不通过稠密卷积以及过多分组的情况下,获得输入输出一样的大维度卷积。ShuffleNet V2从实践出发,以实际的推理速度为指导,总结出了5条轻量级网络的设计要领,并根据要领提出了ShuffleNetV2,很好地兼顾了准确率和速度,其中channel split操作十分亮眼,将输入特征分成两部分,达到了类似DenseNet的特征重用效果。

子网宽度对照表,正确子网号表示方法(4)

栏目热文

子网前缀长度(网络前缀长度多少最好)

子网前缀长度(网络前缀长度多少最好)

相信很多刚入门的工程师第一大难关就是子网划分,怎么也划分不明白,甚至有些工作了一段时间还只能依靠各种ip地址计算器。计算...

2023-04-20 03:52:20查看全文 >>

什么叫子网前缀(子网前缀解释)

什么叫子网前缀(子网前缀解释)

-----关注IT小技术,分享更多IT小技术!01 IPv6介绍 IPv6是英文“Internet Protocol V...

2023-04-20 04:18:37查看全文 >>

子网前缀长度在哪里看(子网划分的正确方法)

子网前缀长度在哪里看(子网划分的正确方法)

使用通常获取ipv4的IP地址的方法是无法获取IPv6地址的,本文介绍了使用C语言获取ipv6地址的三种方法,每种方法均...

2023-04-20 03:58:19查看全文 >>

无法保存ip设置请设置一个或多个(电脑0x80070002无法更改存储位置)

无法保存ip设置请设置一个或多个(电脑0x80070002无法更改存储位置)

大家有时在应用电脑上的时候会手动式的去设置一些IP地址,此刻有小伙伴们说自个的设置的情况下提示没法保存ip设置,那麼面对...

2023-04-20 03:44:30查看全文 >>

子网前缀长度一般是多少(前缀长度24子网掩码是多少)

子网前缀长度一般是多少(前缀长度24子网掩码是多少)

在IPv4中,地址是在类中创建的。 优雅的IPv4地址清楚地定义了用于网络前缀的位和用于该网络上的主机的位。为了在IPv...

2023-04-20 03:44:28查看全文 >>

英语on in at 用法口诀(英语inaton的用法口诀总结)

英语on in at 用法口诀(英语inaton的用法口诀总结)

今天辅导我家大宝英语时发现了一个问题,那就介词in、on和at的用法,他有点分不清楚,总是用错,孩子自己也很头疼,一道题...

2023-04-20 03:44:50查看全文 >>

30秒记住in on at的用法(inonat表示位置的用法)

30秒记住in on at的用法(inonat表示位置的用法)

图片来自网络图片来自网络图片来自网络图片来自网络图片来自网络图片来自网络图片来自网络图片来自网络图片来自网络图片来自网络...

2023-04-20 03:47:34查看全文 >>

on和in和at的用法口诀(on in at的用法口诀)

on和in和at的用法口诀(on in at的用法口诀)

介词 in,on 和 at 短小精悍,但用法差异很大,稍不留神就会用错。一、用介词 in,on 或 at 完成下面的句...

2023-04-20 03:55:23查看全文 >>

具体时间点用in还是on(on in at的用法及区别)

具体时间点用in还是on(on in at的用法及区别)

当谈论时间或位置时,英文中的 at、in 和 on 有不同的用法,以下列举了一些通常使用的用法at on inAt:表示...

2023-04-20 04:13:54查看全文 >>

几月几号前用in还是on(在几月几日早上用on还是用in)

几月几号前用in还是on(在几月几日早上用on还是用in)

时间介词指的是用于描述时间的介词,例如:at、in、on等。它们的用法有以下几种:1. "at"用于表示...

2023-04-20 03:48:02查看全文 >>

文档排行