卷积神经网络 数据维度计算公式:输入输出关系、输出维度

假设你有 5 个大小为 7×7、边界值为 0 的卷积核,同时卷积神经网络第一层的深度为 1。

此时如果你向这一层传入一个维度为 224x224x3 的数据,那么神经网络下一层所接收到的数据维度是( )。

A.218*218*5

B.217*217*8

C.217*217*3

D.220*220*5

在进行深度学习训练时,优化器会对模型的参数进行优化,以寻找到一组最优解。一个简单的卷积神经网络,可以分为卷积池化层和全连接层,全连接层中的参数可以用神经元连接的权重W来表示,而卷积层的参数往往是用卷积核参数来表示。

2D卷积

卷积神经网络 数据维度计算公式:输入输出关系、输出维度
卷积神经网络 数据维度计算公式:输入输出关系、输出维度

卷积神经网络(Convolutional Neural Network,CNN)

卷积
神经网络不再对每个像素信息做处理,而是对图片每一小块像素区域做处理,这种做法加强了信息的连续性。神经网络能够看到一个图形而不是一个点,同时加深神经网络对图片的理解。

具体:批量过滤器在图片上滚动收集图片上的信息,每一次收集的都是像素区域,再整理总结,再滚动收集……

图像拥有长宽高,其中高表示图片的颜色信息黑白高度1 彩色高度3

批量过滤器,每次长宽压缩,高度增加,对输入图片更深的理解

convolution卷积层:主要作用是保留图片的特征
pooling池化层:主要作用是把数据降维,可以有效的避免过拟合
Full connected 全连接层:根据不同任务输出我们想要的结果
classifier 分类预测

卷积核(滤波器,convolution kernel)

是可以用来提取特征的图像和卷积核卷积,就可以得到特征值,就是destination value特征提取。

卷积神经网络 数据维度计算公式:输入输出关系、输出维度

卷积核放在神经网络里,就代表对应的权重(weight)

卷积核和图像点乘(dot product),就代表卷积核里的权重单独对相应位置的Pixel作用

卷积运算方式及各部分介绍
从左到右,每隔x列Pixel,向右移动一次卷积核进行卷积,当已经到最右,从上到下,每隔x行pixel,向下移动一次卷积核,移动完成,再继续如上所述,即先从左到右,再从上到下,直到所有pixels都被卷积核过一遍,则完成输入图片的第一层卷积层的特征提取。

这里的x叫作stride,就是步长,如果x = 2,就是相当每隔两行或者两列进行卷积。

补0(zero padding)
分量的pixel外面围一圈0,称之为补0(zero padding),同样是stride x=1的情况下,补0比原来没有添0的情况下进行卷积,从左到右,从上到下都多赚了2次卷积,这样第一层卷积层输出的特征图(feature map)仍然为5×5,和输入图片的大小一致,而没有添0的第一层卷积层输出特征图大小为3×3。

优点:
获得的更多更细致的特征信息,如获得更多的图像边缘信息。
控制卷积层输出的特征图的size,从而达到控制网络结构的作用,如果没有做zero-padding第二层卷积层的卷积核是3×3,那么第二层卷积层输出的特征图就是1×1。

卷积神经网络 数据维度计算公式:输入输出关系、输出维度

池化(Pooling)

​ Pooling 层主要的作用是下采样,通过去掉 Feature Map 中不重要的样本,进一步减少参数数量。

通常情况下,池化区域是2*2大小,然后按一定规则转换成相应的值,例如取这个池化区域内的最大值(max-pooling)、平均值(mean-pooling)等,以这个值作为结果的像素值。

最大池化(max-pooling)保留了每一小块内的最大值,也就是相当于保留了这一块最佳的匹配结果(因为值越接近1表示匹配越好)。也就是说,它不会具体关注窗口内到底是哪一个地方匹配了,而只关注是不是有某个地方匹配上了。

除了 Max Pooing 之外,常用的还有 Average Pooling ——取各样本的平均值。
对于深度为D的 Feature Map,各层独立做 Pooling,因此 Pooling 后的深度仍然为D。

通过加入池化层,图像缩小了,能很大程度上减少计算量,降低机器负载。

激活函数RelU (Rectified Linear Units)

常用的激活函数有sigmoid、tanh、relu等等,前两者sigmoid/tanh比较常见于全连接层,后者ReLU常见于卷积层。激活函数的作用是用来加入非线性因素,把卷积层输出结果做非线性映射。

在卷积神经网络中,激活函数一般使用ReLU(The Rectified Linear Unit,修正线性单元),它的特点是收敛快,求梯度简单。计算公式也很简单,max(0,T),即对于输入的负值,输出全为0,对于正值,则原样输出。

全连接层(Fully connected layers)

全连接层在整个卷积神经网络中起到“分类器”的作用,即通过卷积、激活函数、池化等深度网络后,再经过全连接层对结果进行识别分类。
卷积层的计算细节

卷积神经网络 数据维度计算公式:输入输出关系、输出维度

卷积层尺寸的计算原理

○输入矩阵格式:四个维度,依次为:样本数、图像高度、图像宽度、图像通道数

○输出矩阵格式:与输出矩阵的维度顺序和含义相同,但是后三个维度(图像高度、图像宽度、图像通道数)的尺寸发生变化。

○权重矩阵(卷积核)格式:同样是四个维度,但维度的含义与上面两者都不同,为:卷积核高度、卷积核宽度、输入通道数、输出通道数(卷积核个数)

◎输入矩阵、权重矩阵、输出矩阵这三者之间的相互决定关系

卷积核的输入通道数(in depth)由输入矩阵的通道数所决定。(红色标注)

输出矩阵的通道数(out depth)由卷积核的输出通道数所决定。(绿色标注)

输出矩阵的高度和宽度(height, width)这两个维度的尺寸由输入矩阵、卷积核、扫描方式所共同决定。计算公式如下。(蓝色标注)

卷积神经网络 数据维度计算公式:输入输出关系、输出维度
  • 注:以下计算演示均省略掉了 Bias ,严格来说其实每个卷积核都还有一个 Bias 参数。
    标准卷积计算举例

以 AlexNet 模型的第一个卷积层为例,

  • 输入图片的尺寸统一为 227 x 227 x 3 (高度 x 宽度 x 颜色通道数),
  • 本层一共具有96个卷积核,
  • 每个卷积核的尺寸都是 11 x 11 x 3。
  • 已知 stride = 4, padding = 0,
  • 假设 batch_size = 256,
  • 则输出矩阵的高度/宽度为 (227 – 11) / 4 + 1 = 55
卷积神经网络 数据维度计算公式:输入输出关系、输出维度

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/11125.html

(7)
江山如画的头像江山如画管理团队
上一篇 2022年9月22日 上午10:33
下一篇 2022年9月22日 下午5:15

99%的人还看了以下文章

  • 国内github网站打不开的解决方法(验证100%解决)

    最近国内访问github.com经常打不开,无法访问。 github网站打不开的解决方法 1.打开网站http://tool.chinaz.com/dns/ ,在A类型的查询中输入 github.com,找出最快的IP地址。 2.修改hosts文件。 在hosts文件中添加: # localhost name resolution is handled wi…

    2022年2月1日 编程开发
    21.1K0
  • 2个pycharm使用技巧:更改文件、文件夹名称,更换pip为清华源

    pycharm怎么重命名文件、文件夹名称 1.右键单击文件名称,在弹出的界面选择refacto下的rename选项 2.在弹出的界面输入新的名称即可 pycharm更换pip清华源 永久使用 直接在Pycharm打开终端Terminal,选择Command Prompt,将下列语句复制进去,回车执行 pip config set global.index-u…

    2023年10月3日
    1.5K0
  • 网络编程 ASP.NET(C#)学习笔记二:数据类型-值类型

    C#中数据类型主要分为两大类:值类型和引用类型。本节课主要讲解值类型的分类和结构类型、枚举类型的定义和使用。 值类型: C#中值类型包括3种:简单类型、结构类型和枚举类型。 简单类型包括整数类型、字符类型、实数类型和布尔类型等,在此不做介绍,随便找本书看下即可。 结构类型:用于定义复杂的数据类型。如图书信息(包括书名,作者,出版社,价格等等),坐标点的信息(…

    2018年1月30日
    5.3K0
  • 填坑!安装opencv-python库后,没有CV2文件夹,找不到haarcascade分类器文件

    python内import cv2正常运行,但是根据以下方法在e:\python\python39\lib\site-packages下找不到CV2文件夹,也找不到data\haarcascades相关分类器文件。 OpenCV-python haarcascade各种分类器文件位置 使用 pip list 查看是否安装opencv-python E:\py…

    2020年12月8日
    8.0K0
  • input file获取文件路径时无法获取正确的路径

    页面有一个input file服务器控件,一个div,div是image标签的容器,当点击input file的值改变,我们往div里追加image标签;但当通过js的onchange事件动态获取input file 的路径的时候,发现console.log(path)打印出的路径是被浏览器屏蔽的, 例如:C:\fakepath\file.jpg 这是由于浏…

    2019年11月13日
    6.9K0
  • python 期末复习-综合练习题

    十八、分别使用for循环和while循环求1+2+3+4+……+856的和 要求: 1、新建一个“sum.py”文件。 2、编写程序。 3、调试程序。 4、排除错误。 十九、输入一个数,判断奇数偶数 要求: 1、新建一个“number.py”文件 2、编写程序。 3、调试程序。 4、排除错误。 二十、分别使用for循环和while循环输出1到100之间的偶数…

    2023年6月15日
    2.4K0

发表回复

登录后才能评论

评论列表(3条)

  • 江山如画的头像
    江山如画 2023年10月14日 上午10:55

    传统的机器学习方法包括监督学习、无监督学习和半监督学习,其中监督学习是学习给定标签的数据集。请问标签为离散的类型,称为分类,标签为连续的类型,称为什么?(D)
    A.给定标签 B.离散 C.分类 D.回归

  • 江山如画的头像
    江山如画 2022年10月14日 上午8:50

    在 CNN 中使用 1×1 卷积时,下列哪一项是正确的( D)。
    A. 它可以帮助降低维数
    B. 可以用于特征池
    C. 由于小的内核大小,它会减少过拟合
    D. 都正确

  • 江山如画的头像
    江山如画 2022年9月22日 下午2:22

    答案为A