考虑 103×10310^3\times 10^3 的输入图像:

  • 全连接,隐层神经元的数目为 10610^6 时,则每一个输入像素与每一个隐层神经元之间都是待学习的参数,

    • 数目为 106×106=101210^6\times 10^6=10^{12}
  • 卷积,卷积核的大小为 10×1010\times 10 时,
    • 步长为 10,103×10310×10×(10×10)\frac{10^3\times 10^3}{10\times 10}\times \left(10\times 10\right),103×10310×10\frac{10^3\times 10^3}{10\times 10}表示的是输入图像可划分的块数,也即经卷机作用后的输出图像;
    • 步长为 1,(103−10+1)×(103−10+1)⋅(10×10)\left(10^3-10+1\right)\times\left(10^3-10+1\right)\cdot \left(10\times 10\right)
    • 在不考虑步长的前提下,可近似将待学习的参数的数目视为 (103×103)⋅(10×10)\left(10^3\times 10^3\right)\cdot \left(10\times 10\right)

1. 全连接层对参数个数的显著提升

现考虑图像输入层和 500 个隐层神经元的全连接:

  • MNIST:28×28×1×500=39200028\times 28\times 1\times 500=392000
  • CIfar:32×32×3×500=153600032\times 32\times 3\times 500=1536000
    • 而对于卷积操作而言,如 5×55\times 5 深度为 16 的卷积核而言,则需要的计算量为:5×5×3×16+16=12165\times 5\times 3\times 16+16=1216,极大地降低了参数的规模;

参数增多导致计算速度减慢,且很容易导致过拟合。

2. 卷积的共享参数特性

通过一个某一卷积核(过滤器),将一个 2×2×32\times 2\times 3 的节点矩阵变化为 1×1×51\times 1\times 5 的单位节点矩阵,则本次卷积操作,共需要的参数为:

2×2×3×5+5⇒65

2\times 2\times 3\times 5+5 ⇒ 65

+5 表示偏值项参数,

对于 cifar-10 数据集,输入层矩阵的维度是 32×32×332\times 32\times 3,假设第一层卷积层使用尺寸为 5×55\times 5 深度为 16,则此卷基层的参数为:

5×5×3×16+×16=1216

5\times 5\times 3\times 16+\times 16=1216

注意区分卷积层的参数,与当前输入层与卷积层的连接的个数(也即参数的个数与连接的数目):

比如对于 LeNet-5 网络,32×3232\times 32 的输入数据,经过 5×5×1×65\times 5\times 1\times 6 的卷积,得到 28×28×628\times 28\times 6 的特征映射:

  • 卷积层的参数:5×5××1×6+6=1565\times 5\times \times 1\times 6+6=156

    • 核的长*核的宽*输入的通道数*输出的通道数;
  • 卷积层共 28×28×6=470428\times 28\times 6=4704 个节点,每个节点和 5×55\times 5 个当前输入层节点相连,因此共连接数:4704×(5×5+1)=1223044704\times(5\times 5+1)=122304
    • 连接的数目与输入层的大小无关;

3. 卷积输出矩阵尺寸的大小

通过使用填充(padding,比如 zero-padding),或者使用过滤器移动的步长来结果输出矩阵的大小。

下面的公式给出在同时使用全零填充时结果矩阵的大小:

outlength=⌈inlength/stridelength⌉outwidth=⌈inlength/stridewidth⌉

out_{length}=\lceil in_{length}/stride_{length} \rceil\\ out_{width}=\lceil in_{length}/stride_{width} \rceil

如果不使用填充:

outlength=⌈(inlength−filterlength+1)/stridelength⌉outwidth=⌈(inlength−filterwidth+1)/stridewidth⌉

out_{length}=\lceil (in_{length}-filter_{length}+1)/stride_{length} \rceil\\ out_{width}=\lceil (in_{length}-filter_{width}+1)/stride_{width} \rceil

卷积神经网络的权值参数个数的量化分析相关推荐

  1. 卷积神经网络实现手写数字集

    1.引言 手写数字是人手书写的各种字符中最简单常见的一种.在过去的30多年间,对手写数字识别的研究一直都是模式识别领域的研究热点.数字是世界各国通用的符号,类别也较少,有助于做深入分析及验证一些新的理 ...

  2. Caffe学习系列(16):各层权值参数可视化

    原文有更新: Caffe学习系列(16):各层权值参数可视化 - denny402 - 博客园 http://www.cnblogs.com/denny402/p/5103425.html 通过前面的 ...

  3. CNN卷积神经网络:权值更新公式推导

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/happyer88/article/details/46772347 在上篇<CNN卷积神经网络学习笔 ...

  4. 卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?

    向AI转型的程序员都关注了这个号

  5. 深度学习之七:卷积神经网络

     9.5.Convolutional Neural Networks卷积神经网络 卷积神经网络是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点.它的权值共享网络结构使之更类似于生物 ...

  6. Convolutional Neural Networks卷积神经网络

    http://blog.csdn.net/zouxy09/article/details/8781543 9.5.Convolutional Neural Networks卷积神经网络 在数学上卷积是 ...

  7. Convolutional Neural Networks卷积神经网络(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. 深入学习卷积神经网络中卷积层和池化层的意义(转)

    为什么要使用卷积呢? 在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量:需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用 ...

  9. cnn(卷积神经网络)比较系统的讲解

    本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流. [1]Deep learning简介 [2]Deep Learning训练过程 [3]Deep Learning模型之 ...

最新文章

  1. 无需用户输入,Adobe提出自动生成高质量合成图像新方法
  2. 合并单元格两行_28 HTML5标签学习——table单元格的合并
  3. linux下面mysql不监听3306
  4. 通过带数据盘的自定义镜像来创建使用应用程序网关的虚拟机规模集
  5. 推荐系统读书笔记(推荐系统实战)
  6. md5 java 工具类_Java实现一个MD5工具类
  7. 南京师范大学计算机科学与技术复试名单,2018年各学院硕士研究生复试办法及复试名单公示网址汇总表...
  8. 文档权限服务器上,服务器上的权限
  9. 一个html页面最多写多少代码,在多个页面使用同一个HTML片段的代码
  10. linux虚拟机读取本地磁盘文件,kvm虚拟化学习笔记(十三)之kvm虚拟机磁盘文件读取小结...
  11. Android数据库设计
  12. ps里面的css,PS中如何添加图层样式
  13. 中国计算机学会推荐国际学术会议和期刊目录 2015
  14. 近距离传感器(proximity sensor)
  15. 程序员大佬都在用的代码编辑器,你不用就OUT啦
  16. 图的深度(DFS)/广度优先搜索算法(BFS)/Dijkstra
  17. 写《2020年11月线上自行车业务分析报告》
  18. 图形学变换——平移、旋转和缩放
  19. 从真假美猴王谈起 - 让套牌车、克隆x 无处遁形的技术手段思考
  20. android 恢复照片误删,安卓手机数据恢复:红米手机照片误删怎么恢复

热门文章

  1. linuxsz隐藏文件_linux中rz上传、sz下载命令详解
  2. 按钮灭了_劣质灭火器整瓶都灭不掉一盆火 教你几招辨别消防产品真假
  3. php 保存错误日志,PHP中把错误日志保存在系统日志中_PHP教程
  4. Python打包成.exe文件详细实例
  5. Android仿支付宝高顶部功能条伸缩动画
  6. CDH中impala 的查询返回部分结果。 已超出 199 流查询的时间序列流限制。
  7. JDBC在spring中的使用
  8. java swing 删除事件_java swing清除事件队列
  9. 多线程—— Queue(储存进程结果)
  10. windows rt运行android,Move from Android to WinRT