转载来源:深度学习分类网络

关于model参数量计算:1.CNN学习笔记——理解结构,LeNet5介绍

1 VGG-16

VGG16[1]是非常经典的模型,好用,是2014 ImageNet的亚军(有可能是vgg-19)。核心思想:小核,堆叠。主要分成5个stages,22333,13个卷积层,16的意思应该是加上3个FC层。每个stage后面都跟着一个pool来减小尺寸,参数方面fc占了很多,所以后面大多用conv或者global pool来代替。在做分割时,一般会把第四个pool的stride设成1,然后stage 5的conv用dilation conv来增加尺寸。192的感受野还是比较小的,并且按照一些论文的分析实际的感受野一般会比理论上的小很多,因此如果用它来做检测等任务的话,感受野也许这个是个问题。

2 Inception-V4

inception v1(Googlenet)应该是获得了image net 2014的冠军 vgg应该是亚军(有可能是vgg19),这个V4[2]版本是在2016年出来。在15年初还出现了一篇对深度学习网络影响比较大的论文,所以基本后面的网络都会在conv后面加BN,在caffe里一般会用两个层组合来实现这个功能bn/scale.所以画的图中用bsr来表示batchNormalizationrelu的组合.Inception结构中嵌入了多尺度信息,集成了多种不同感受野上的特征,另外一个思想是将cross channelcorrelationspatial corrections分离开。一般用1*1pointwise conv去提取cross channel的信息,然后3*3或者其他大核去提取空间信息。可以从架构图中看出来Incetpion还是比较乱的,要设置的参数太多。

3 ResNet

ResNet[3]是2015年image net的冠军。同等条件下,ResNet的速度和精度都会比VGG要好。个人觉得ResNet还是受到了Inception的启发,采用了多路的架构。但是ResNet有很好的解释性,它的核心是下面的ResUnitB.每一个这样的buildingblock都有一条通路加input通过某种方式叠加在输出中,就好比output = input+branch2,其中input和output类似,那么branch2就类似于一个残差的东西,因此就叫做残差网.

4 Identity mappings ResNet

在原始的ResNet中,左边的通道经过了Relu,因此并不是一个纯粹的等价映射通道,所以在这篇论文中作者利用了full pre-activation构建了一个Identity mapping[4]的building block来替换原有的,以便于信息和梯度传播,不过后面会介绍的WRN论文指出网络小于100层的用preActivation影响不太大。

5 ResNet-InceptionV2

结合了Resnetinception的思想[2]

6 WRN  (wide residual network)

WRN[5]的思想非常简单,主要把ResNetbuilding blockchannel增大,把网络变宽,从而能用不是很深的网络也能达到很好的效果.具体地说,比如对应于ResNet1-3-1这样bottleneck架构,WRN就是把前两个卷积的通道数量增加了一倍,参考的是caffe版本,未对照是否与原作者的有出入.同时这篇论文还指出了bottleneck的架构也许更适用于imagenet,其他一些数据库可能使用其他的building block更合适些。

7 SqueezeNet V1.1

在把网络做宽做深的同时,为了一些物联网、移动应用,学术界也在研究精简网络架构,在不损失很多精度下减小model size和提高速度。当然有些分支是利用裁剪,权重量化等方法,不在这里的讨论范围。

SqueezeNet[6]主要利用三个思想。第一个是大量使用1*1卷积,这会造成空间关系提取的困难,因此在每一个fire unit有还有3*3的通路,其实也是inception的思想,一个提取空间,一个提取cross channel;第二个,通过bottleneck的方式降低3*3输入测channel数量;第三个,推迟下采样,使得后面的feature map的分辨率大一些。个人觉得还是降的挺快的,不过确实不想其他网络降到了32倍,squeezeNet只降到16倍。注意论文中作者还利用了其他方法对模型进行压缩,压到了0.5M.


8 Xception

Xception[7]开始使用depthwise conv的方式提高速度和降低model size.它基于这样的假设,空间的联系和cross channel的联系可以完全独立。所以它用了3*3depthwise conv的核提取空间关系,而用1*1pointwise conv提取corss channel特征。另外它的building block应该也受到了[4]的影响,采用了Identity mapping的架构,而且感觉它的分辨率降得很快。Xception用的是keras或者tensorflow的实现,featuremap的大小是向上取整.下图中groupA3右侧多了个relu,画图方便,也不影响结果

9 ResNetXt

ResNetXt[8]结合了WRNgroup conv的思想。下图中的c就是group的数量。

10 MobileNet

MobilieNet[9]的思想跟 X ception 一致,不过它的 building block 变简单了,没有采用 residual 结构

11 ShuffleNet

像上面的几种网络采用group conv后,很多计算都集中在1*1conv,如果1*1conv也能用group的话那对模型压缩和速度都有好处,但是不利于精度,因为cross channel的很多信息丢了,那怎么能提取cross channel的一些特征,作者就提出了shuffle的概念[10],比如原来有两组,第一组是1234通道,第二组是5678,那么重排后第一组是1526,第二组是3748,这样就还能拿到这些信息。

12 DenseNet

resnet的的基础模块不同,虽然也用了bottleneck的结构,densnet[11]concat代替element add,因此输出的通道数量都比输入要多一些,论文中这个值一般是32。未优化下Densenet训练时特别耗显存.


13 Dual PathNetwork

Dual Path Network[12]结合了ResNetDenseNet.一个path照着ResNet把不同分支的特征element add,另外一个path照着ResNet把不同分支的特征concat.因此叫双路网络。

14 SENet

SENet[13]设计了一个gating(reweighting)模块让网络可以自学习各个channel的权重。下图展示的是将SE block加入到了ResNet UnitA中的情况。大体的意思还是比较好理解。

深度卷机网络(Deep CNNs)的GFLOPS与参数量计算相关推荐

  1. 花书+吴恩达深度学习(十六)序列模型之双向循环网络 BRNN 和深度循环网络 Deep RNN

    目录 0. 前言 1. 双向循环网络 BRNN(Bidirectional RNN) 2. 深度循环网络 Deep RNN 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花 ...

  2. Lesson 16.1016.1116.1216.13 卷积层的参数量计算,1x1卷积核分组卷积与深度可分离卷积全连接层 nn.Sequential全局平均池化,NiN网络复现

    二 架构对参数量/计算量的影响 在自建架构的时候,除了模型效果之外,我们还需要关注模型整体的计算效率.深度学习模型天生就需要大量数据进行训练,因此每次训练中的参数量和计算量就格外关键,因此在设计卷积网 ...

  3. 常规-分组-深度分离-分组深度分离卷积-参数量-计算量-dilation-python实现

    不同的卷积操作 本文所用样本 一般的卷积(常规的) 分组卷积 深度分离卷积 逐通道卷积(depthwise conv) 逐点卷积 (pointwise conv) 分组深度分离卷积 上面卷积总结 卷积 ...

  4. 深度残差网络 - Deep Residual Learning for Image Recognition

    CVPR2016 code: https://github.com/KaimingHe/deep-residual-networks 针对CNN网络深度问题,本文提出了一个叫深度残差学习网络,可以使得 ...

  5. 深度残差网络(Deep Residual Network)ResNet

    一说起"深度学习",自然就联想到它非常显著的特点"深.深.深",通过很深层次的网络实现准确率非常高的图像识别.语音识别等能力.因此,我们自然很容易就想到:深的网 ...

  6. 深度学习模型参数量/计算量和推理速度计算

    作者|龟壳 来源 | 知乎 地址 | https://zhuanlan.zhihu.com/p/376925457 本文仅作学术分享,若侵权请联系后台删文处理 本文总结了一些关于模型参数量计算以及推理 ...

  7. 深度信念网络Deep Belief Networks资料汇总

    毕设做的是DBNs的相关研究,翻过一些资料,在此做个汇总. 可以通过谷歌学术搜索来下载这些论文. Arel, I., Rose, D. C. and K arnowski, T. P. Deep ma ...

  8. LSTM(长短时记忆网络)原理、pytorch实现、参数量分析以及应用场景简单总结

    目录 一.LSTM原理 遗忘门 输入门 细胞状态更新 输出门 LSTM数学模型 二.lstm的实现 三 .lstm学习参数总量分析一级pytorch框架下lstm输入总结 1.学习参数总量分析 2.p ...

  9. 深度学习——参数量计算

    一.卷积层参数计算 卷积层需要关注的参数有conv(kernel_size,in_channel,out_channel),即卷积核大小,输入输出通道数,和偏差bias. 计算公式:conv_para ...

  10. 深度学习--深度信念网络(Deep Belief Network)

    本篇非常简要地介绍了深度信念网络的基本概念.文章先简要介绍了深度信念网络(包括其应用实例).接着分别讲述了:(1) 其基本组成结构--受限玻尔兹曼机的的基本情况,以及,(2) 这个基本结构如何组成深度 ...

最新文章

  1. 5G NGC — 关键技术 — 网络切片 — 切片的选择
  2. Linux宝塔面板介绍 Centos安装宝塔面板教程
  3. int (*p)[4] 与 int* p[4]
  4. UVA - 1588 ​​​​​​​Kickdown
  5. 构造函数和复制函数java_什么是Java构造函数?
  6. GWO(灰狼优化)算法
  7. pycharm直接显示所有show value的值(直接打开所有的值)
  8. 古文构词之法、造词之法
  9. Ubuntu 20.04安装python3.6版本后terminal终端无法打开
  10. C++语言对C语言的扩展(二)
  11. 大连雅思培训百家国际雅思考试词汇量要求与记忆方法是什么
  12. VLAN与三层交换机
  13. Linux - send 出现 Resource temporarily unavailable
  14. 银行资管智能化转型迫在眉睫 金融壹账通赋能两大核心能力
  15. info setup 制作的安装程序 提示卸载程序出现内部错误找不到此版本的卸载程序的utCompiledCode记录
  16. 四川一度智信|小白卖家不懂选品?
  17. 堪称神级的Java技术栈手册火了!
  18. chrome顶部变黑_黑暗模式来了!最新版Chrome浏览器让你的网页通通变黑(内附设置教程)...
  19. 找到1000以内的完数 利用Python实现
  20. HFSS双频单极子印刷天线

热门文章

  1. CIO40: IT中年男修身修性修心之王阳明
  2. 一元二次方程求根计算机的代码,一元二次方程求根Java源程序代码
  3. html表内画斜线,使用HTML的canvas,给表格画斜线-Go语言中文社区
  4. python词云图片生成不出来_python实现使用词云展示图片
  5. 天行健,君子自强不息
  6. C语言·abs()函数
  7. 土方回填施工方案范本_土方回填施工方案范本
  8. matlab abort,matlab自动关闭是怎么回事???
  9. 王珞丹用手写传递情感 字体入库笔尖上的中国
  10. Collecting package metadata (current_repodata.json): failed