博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
卷积神经网络的权值参数个数的量化分析
阅读量:4317 次
发布时间:2019-06-06

本文共 1187 字,大约阅读时间需要 3 分钟。

考虑 103×103 的输入图像:

  • 全连接,隐层神经元的数目为 106 时,则每一个输入像素与每一个隐层神经元之间都是待学习的参数,
    • 数目为 106×106=1012
  • 卷积,卷积核的大小为 10×10 时,
    • 步长为 10,103×10310×10×(10×10)103×10310×10表示的是输入图像可划分的块数,也即经卷机作用后的输出图像;
    • 步长为 1,(10310+1)×(10310+1)(10×10)
    • 在不考虑步长的前提下,可近似将待学习的参数的数目视为 (103×103)(10×10)

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

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

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

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

2. 卷积的共享参数特性

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

2×2×3×5+565

+5 表示偏值项参数,

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

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

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

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

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

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

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

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

outlength=inlength/stridelengthoutwidth=inlength/stridewidth

如果不使用填充:

outlength=(inlengthfilterlength+1)/stridelengthoutwidth=(inlengthfilterwidth+1)/stridewidth

转载于:https://www.cnblogs.com/mtcnn/p/9421449.html

你可能感兴趣的文章
AOP面向切面编程C#实例
查看>>
怎么让win7右下角只显示时间不显示日期 ?(可行)
查看>>
AngularJs学习笔记-慕课网AngularJS实战
查看>>
数据库三大范式
查看>>
工作总结之二:bug级别、优先级别、bug状态
查看>>
访问修饰符、封装、继承
查看>>
更换pip源到国内镜像,提升pip下载速度.
查看>>
POJ 2265 Bee Maja (找规律)
查看>>
Kendo MVVM 数据绑定(七) Invisible/Visible
查看>>
DB Intro - MySQL and MongoDB
查看>>
Practical Mathematical Handwriting
查看>>
[zz]kvm环境使用libvirt创建虚拟机
查看>>
bzoj1059 [ZJOI2007]矩阵游戏
查看>>
JDK配置步骤
查看>>
springcloud微服务实战--笔记
查看>>
View(视图)——菜单Menu
查看>>
uva 408 Uniform Generator
查看>>
SharePoint 2010 类似人人网站内信功能实施
查看>>
CF 327E(Axis Walking-状态压缩Dp-lowbit的使用)
查看>>
object对象java 利用反射 从数据库取出数据对象list 类似hibernate
查看>>