-
卷积计算
2020-03-31 10:09:06 -
卷积计算,反卷积计算,特征图大小计算,空洞卷积计算
2019-02-14 09:45:46卷积计算过程(单/RGB多通道) 特征图大小计算公式 转置卷积(反卷积)计算过程 空洞卷积计算过程 卷积计算过程(单/RGB多通道) 假设输入层的大小为 5 x 5,局部感受野(或称卷积核)的大小为 3 x 3,那么...感受野大小计算、卷积参数量与计算量、空洞卷积计算量与参数量
卷积计算,反卷积计算,特征图大小计算,空洞卷积计算
转自:https://www.jianshu.com/p/09ea4df7a788?utm_source=oschina-app
- 卷积计算过程(单/RGB多通道)
- 特征图大小计算公式
- 转置卷积(反卷积)计算过程
- 空洞卷积计算过程
卷积计算过程(单/RGB多通道)
假设输入层的大小为 5 x 5,局部感受野(或称卷积核)的大小为 3 x 3,那么输出层一个神经元所对应的计算过程(下文简称「卷积计算过程」)如下:
每个卷积核对应的权重 W 在计算卷积过程中,值是固定的,我们称为权重共享。
如果将输入层想像成黑板,局部感受野就像是黑板擦,他会从左往右,从上至下的滑动,每次滑动 1 个步长(Stride)并且每次滑动都重复上述的计算过程,我们就可以得到输出的特征图(feature map),如下图:
有时候,按照规定步数滑动到黑板边缘时,黑板擦一部分会露出在黑板外,这个时候就 不能够顺利执行卷积过程了,解决的方法是填充,常见的有两种填充(Padding)方法,第一种方法为 Valid,第二种方法为 Same,如下图所示:
Valid 是丢弃的方法,比如上述的 input_width = 7,kernel_width = 5,stride = 3,只允许滑动 1 次,多余的元素则丢掉。
Same 是补全的方法,对于上述的情况,允许滑动 3 次,但是需要补 4 个元素,左边补 2 个 0,右边补 2 个 0,这种方法则不会抛弃边缘的信息,关于如何计算填充数量会在下小节中讲到。
在实际应用中,输入的都为彩色图像(RGB 三通道),也就是说输入的维度是 [图片数,图片高,图片宽,通道数],这个时候,执行卷积的过程如下:
特征图大小的计算公式
我们在设计和调整网络结构的时候,还需要快速知道调整了卷积核后,输出特征图的大小,假定:
- 输入图片 i(只考虑输入宽高相等)
- 卷积核大小 f
- 步长 s
- 填充的像素数 p
那么输出的特征图大小 o 的计算公式则如下:
-
当填充方式为 VALID 时,p 值等于 0,代入相应的 i,f,p,s 就可以相应的计算出 o 值了。
-
当填充方式为 SAME 时,步长 s 为 1 时,输出的 o == i,我们则可以计算出相应的 P 值为 p = (f-1) / 2
转置卷积(反卷积,逆卷积)的计算过程
O=(i-1)*s + k
空洞卷积的计算过程
空洞卷积(Dilated convolutions)在卷积的时候,会在卷积核元素之间塞入空格,如下图所示:
这里引入了一个新的超参数 d,(d - 1) 的值则为塞入的空格数,假定原来的卷积核大小为 k,那么塞入了 (d - 1) 个空格后的卷积核大小 n 为:
进而,假定输入空洞卷积的大小为 i,步长 为 s ,空洞卷积后特征图大小 o 的计算公式为:
-
【数据挖掘】卷积神经网络 ( 视觉原理 | ...| 卷积计算图示 | 卷积计算简介 | 卷积计算示例 | 卷积计算参数 )
2020-04-28 21:53:14I . 人类的视觉原理 II . 卷积神经网络 模仿 视觉原理 III . 卷积神经网络简介 IV ....V ....VI ....VII . 卷积计算 图示分析 VIII . 卷积计算 简介 IX . 卷积计算 示例 X . 卷积本质 XI . 卷积 计算 参数文章目录
I . 人类的视觉原理
1 . 深度学习 与 大脑认知 :
① 深度学习基础 : 大脑对外界事务的认知原理 , 是很多深度学习算法的基础 , 这里讨论人类的视觉原理 ,
② 视觉原理 : 视觉识别信息处理过程 , 是由可视皮层完成的 , 并且可视皮层是分级的 ;
③ 卷积神经网络来源 : 卷积神经网络 受 人类视觉原理启发 , 而开发出来的 ;
2 . 视觉原理 与 可视皮层 分层 :
① 信号输入 : 视觉输入原始信号 , 即大脑从瞳孔中摄入一张由像素值组成的图片 ;
② 识别边缘 ( 可视皮层 底层 ) : 将输入的像素值 , 进行 初步处理 , 识别像素的 边缘 , 方向 信息 ;
③ 识别形状 ( 可视皮层 中层 ) : 将 边缘信息 抽象成 形状信息 , 如圆形 , 方形等 ;
④ 判定类别 ( 可视皮层 上层 ) : 在上述识别形状的基础上 , 判定该形状是什么类型的事务 , 如桌子 , 汽车等 ;
II . 卷积神经网络 模仿 视觉原理
卷积神经网络 原理 :
① 模拟视觉原理 : 人类视觉识别涉及到了 不同层级 的可视皮层 , 每层分别处理不同的事务 ;
② 构建多层神经网络模型 : 模仿上述分层的课视频曾 , 创建多层神经网络模型 , 如 卷积神经网络 ;
③ 分层工作机制 : 多层神经网络模型机制 , 在底层识别图像的边缘特征 , 上一层逐渐识别形状 , 最上层对图像像素进行判定分类 ;
III . 卷积神经网络简介
卷积神经网络 简介 :
① CNN 卷积神经网络 处理的数据类型 : CNN 卷积神经网络 , 是特殊的神经网络 , 其通常用于处理网格状的数据 , 如 时间序列 ( 音频数据 ) , 或 图片数据 ;
② CNN 适用场景 : CNN 卷积神经网络其本质是一个多层神经网络 , 该模型适合处理 大型图像 相关的 机器学习 问题 ;
③ CNN 成就 : CNN 在 深度神经网络 中是应用最早 , 最成功的的领域 ;
④ CNN 的计算 : 卷积神经网络其本质还是 神经网络 , 其基本的计算由 矩阵相乘 变成了 卷积 ;
⑤ CNN 处理图像原理 : 处理大型图像时 , 将图像识别问题 降维处理 , 从底层向高层 , 不断抽取特征时 , 其维度越降越低 , 最终将其变成可训练的模型 ;
IV . 卷积神经网络 组成
卷积神经网络 构成 :
① 组成 : 卷积神经网络由 卷积层 , 池化层 , 全连接层 , 组成 ;
② 卷积组 : 卷积层 与 池化层 , 配对组合 , 即 个卷积 + 个池化 , 组成 个卷积组 ; 整个卷积神经网络中有多个卷积组 ;
③ 工作机制 : 按照上述分层 , 逐层提取数据 ( 图像 ) 特征 , 这些特征通过全连接层结合起来 , 完成最终的分类判定操作 ;
V . 卷积神经网络 工作流程
卷积神经网络 工作流程 :
① 卷积 : 通过卷积 模拟 特征 ;
② 池化 : 通过卷积的 权值 共享 , 池化 , 可以降低整体网络的参数数量级 ;
③ 连接分类 : 上述 卷积 池化 后的结果通过传统的 神经网络 进行分类即可 ;
VI . 降低样本参数数量级
1 . 传统神经网络分析图片 : 使用 传统神经网络 分析一张图片 , 如果该图片有 万 像素 , 那么需要将每个像素值都作为一个属性值输入到神经网络中 , 那么其隐藏层有 万神经元单元 , 如果这样的图片有几万张 , 这个数量级太复杂 ;
2 . 卷积神经网络 减少参数数量级 原理 :
① 底层特征局部性 : 图像的最底层的特征都是局部性的 , 使用一个小的过滤器 , 如 像素 , 就可以将图像的 边缘 特征表示出来 ; 边缘底层特征是 横向 , 垂直 , 斜线 , 等边缘 形状特征 ;
② 图像特征类似 : 图像中的特征 , 不管是相同图像 , 还是不同图像 , 其中的片段的特征是类似的 , 可以使用 同一组分类器 描述 不同的图像 特征 ; 如训练识别一只猫的图像 , 在这张图片上的猫 , 与另外一张图片的猫 , 其片段特征的是类似的 ;
③ 降低数量级 : 万像素的图片 , 可以使用 万个 像素 的过滤器 , 描述图片底部的特征 ;
VII . 卷积计算 图示分析
1 . 原始输入 与 卷积核 :
① 原始输入 : 需要识别的图像 ;
② 卷积核 : 可以看做是滑动窗口 , 在图像上滑动 ;
2 . 第 次卷积 : 与 卷积核 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 ;
3 . 第 次卷积 : 与 卷积核 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 ;
4 . 第 次卷积 : 与 卷积核 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 ;
5 . 第 次卷积 : 与 卷积核 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 ;
6 . 第 次卷积 : 与 卷积核 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 ;
7 . 第 次卷积 : 与 卷积核 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 ;
8 . 卷积结如下 : 变成了一个 的图像 ;
9 . 卷积效果 :
① 卷积 结果 : 原来的输入图像是 像素 , 经过卷积后 , 变成了 的图像 ;
② 效果 : 维度降低了 , 参数变少了 ;
③ 卷积核维度 : 如果使用 的卷积核 , 那么维度降低的更多 ;
VIII . 卷积计算 简介
1 . 卷积计算 :
① 输入图 : 要分析的图片 , 又叫做特征图 ;
② 卷积核 :大小是固定的 , 用于扫描输入图 ; 可以由学习得到 , 也可以使用事先设计好的卷积核 ;
③ 内积运算 : 就是所有对应元素相乘 , 然后求和的结果 ;
③ 卷积计算过程 : 使用卷积核 扫描 输入图 , 如上示例 , 将扫描到的 输入图的部分内容 , 与卷积核的内容 , 进行内积运算 ;
2 . 常用的卷积核 :
① 常用卷积核 1 :
0 0 0 0 0 0 0 0 0 ② 常用卷积核 2 :
-1 -1 -1 0 0 0 1 1 1 ③ 常用卷积核 3 :
-1 0 1 -1 0 1 -1 0 1
IX . 卷积计算 示例
计算图中的最后两个空白位置的卷积 :
输入图是 的 , 卷积核是 的 ;黄色部分是卷积核为 :
卷积计算过程如下 :
① 第 行第 列 卷积结果 : 卷积核 与 进行卷积运算 , 如下 :
② 第 行第 列 卷积结果 : 卷积核 与 进行卷积运算 , 如下 :
X . 卷积本质
1 . 卷积 及 卷积核 本质 :
① 卷积核本质 : 卷积核的本质相当于一个过滤器 , 可以过滤识别图像的各个区域的特征 , 获取这些区域的特征值 ;
② 卷积核来源 : 卷积核一般是在学习训练过程中得到的 ;
③ 卷积结果的意义 : 每个卷积核代表了一种图像的特征模式 , 如果某个区域与该卷积核 进行内积运算 , 卷积出的值很大 , 说明该区域与该卷积核图像类似 ;
④ 多个卷积核 : 在实际使用中 , 一个卷积神经网络 , 可能会有多个卷积核 ;
2 . 卷积核底层纹理 :
① 底层纹理模式 : 如果有 个卷积核 , 可以理解为该图像有 种底层的纹理模式 , 使用这些纹理模式的特征可以绘制出一幅图像 , 也能从一堆杂乱的图像中识别出该图像 ;
② 底层纹理示例 : 下图是常用的 种卷积核 , 也就是 种底层纹理模式 ; 如 第 行 , 第 列 , 三条垂直的线 , 亮线表示 1 , 暗线表示 0 , 因此可以使用卷积核 表示 , 该纹理 , 最左侧是亮的 , 右边两个是暗的 ;
XI . 卷积 计算 参数
1 . 通道数 : 卷积核的个数 ;
① 输入通道数 : 上一层输出的通道数量 , 即卷积核的个数 ;
② 输出通道数 : 本层输出的通道数量 , 即卷积核的个数 ;
2 . 卷积核大小 :
① 卷积核大小关联性 : 与卷积计算后 , 每个卷积结果输出值 , 与多大范围的输入图像有关 , 即上面说的过滤器大小 , 底层纹理大小 , 滑动窗口大小 ;
② 建议取值 : 建议使用奇数大小 , 这样能保证卷积计算后 , 有唯一的一个中心点 ;
③ 卷积核效果 : 卷积核 越大 , 分类效果越好 ;
④ 卷积核参数数量 : 卷积核增大 , 其参数就会指数级增加 , 参数个数是卷积核的平方 , 即进行内积运算的参数个数 ; 如卷积核为 , 那么参数有 个 , 卷积核为 , 参数有 个 ;
3 . 填充 : 不想降维 , 先将输入图 对称 补 , 然后进行滑动窗口 , 卷积计算 ;
① 降低维度 : 卷积之后 , 不想降维 , 如前面的 的输入图 , 使用 卷积核 , 卷积之后变成了 的图像 , 这里就将输入图的维度下降了 ;
② 对称补 : 如果不想降低输入图的维度 , 可以使用填充 , 即先在周边位置使用 补充 , 注意对称补充 , 不要在一个边上补 , 然后再进行卷积计算 ;
4 . 步长 : 每次卷积核的移动距离 ( 单位 : 像素 ) , 即 每次移动滑动窗口 ( 卷积核 ) 的距离 , 单位是像素 , 之前的两个例子都是每次移动一个像素值 ;
-
matlab卷积计算
2013-04-26 13:59:42图像卷积计算 图像处理 卷积 卷积计算 matlab -
1*1卷积核作用,卷积参数计算,卷积计算量计算
2018-05-19 18:14:11一般的卷积运算可以压缩输入的长度和宽度,1*1卷积核可以整合各个数据通道信息缩小数据尺寸的深度,同时减小计算量卷积核参数计算:卷积核的长度*卷积核的宽度*卷积核的个数卷积计算量计算:输出数据大小*卷积核的...记录一下吴恩达老师深度学习的第二周的笔记,全是文字记录推荐继续撸视频... .. .
添加截图了,增加瓶颈层的解释(听说是某面试题,,,)
一般的卷积运算可以压缩输入的长度和宽度,1*1卷积核可以整合各个数据通道信息缩小数据尺寸的深度,同时减小计算量
卷积核参数计算:卷积核的长度*卷积核的宽度*卷积核的个数
卷积计算量计算:输出数据大小*卷积核的尺寸*输入通道数
比如(懒得绘图)求输入28*28*192经过5*5*32的卷积核输出为28*28*32的参数大小和运算量大小
① 参数计算:5*5*32
② 运算量计算:(28*28*32)*(5*5)*(192)≈1.2亿
那么1*1卷积核是怎么通过压缩通道信息来减少计算量的呢?
我们把上面你那个例子改一下在中间添加以一个1*1的卷积核
28*28*192先通过一个1*1*16卷积核得到28*28*16的大小然后再经过5*5*32的卷积核得到28*28*32的输出,那么输入输出都和前面那个例子是一样的,只是中间多了一个1*1的卷积核。我们来计算一下现在的计算量
① (28*28*16)*(1*1)*(192)≈2.4M
②(28*28*32)*(5*5)*(16)≈10.0M
所以total computational cost ≈1240万和1.2亿相比
看到了吧,就是添加了一个1*1的卷积核就大大降低计算量的哦,同时应该注意添加了1*1产生的“bottleneck layer”的意思
The end.
-
CNN卷积计算
2020-12-05 02:16:07卷积计算公式,假设输入图片和卷积核均为正方形尺寸分别为x,y:z=x-y/stride+1 经过pooling层,尺寸为d, 则输出尺寸为z/d -
多通道卷积计算
2017-05-18 14:16:41对于单通道图像,若利用10个卷积核进行卷积计算,可以得到10个特征图;若输入为多通道图像,则输出特征图的个数依然是卷积核的个数(10个)。 1.单通道多个卷积核卷积计算 一个卷积核得到的特征提取是不充分的,... -
卷积神经网络卷积计算具体过程?
2019-06-04 21:37:46对于卷积神经网络中的计算,大部分人所知道的计算如下图所示:卷积核中的各参数与图像矩阵相应位置的数值相乘后再求和。但是实际计算时图像往往是rgb图像,即图像有三...下面的验证过程就是为了搞懂卷积计算的详细过... -
基于脉动阵列的卷积计算模块硬件设计
2020-10-15 20:03:36针对FPGA实现卷积神经网络中卷积计算的过程中,高并行度带来长广播、多扇入/扇出的数据通路问题,采用脉动阵列来实现卷积神经网络中卷积计算模块,将权重固定到每个处理单元中,并按照输入和输出特征图的维度来设置... -
基于约束四边形区域的分段卷积计算方法
2020-07-09 18:15:35针对卷积计算时积分范围与被积函数不易确定的难题,提出了分段卷积计算的约束四边形方法。把参与卷积运算的两个分段函数中自变量t与积分哑变量τ之间的约束关系表示为τ-t坐标系中的约束四边形区域,通过四边形顶点向t... -
多通道卷积计算过程
2019-07-26 11:15:56多通道卷积计算过程 对于单通道图像,若利用10个卷积核进行卷积计算,可以得到10个特征图;若输入为多通道图像,则输出特征图的个数依然是卷积核的个数(10个)。 1.单通道多个卷积核卷积计算 一个卷积核得到的特征... -
基于matlab的GUI界面多种卷积计算和滤波器等
2020-12-30 19:45:20本资源时基于matlab的GUI界面多种卷积计算和滤波器等,可以实现手动输入,锯齿、正弦等波形选择,也可以由自己任意输入序列。一步一步的演示卷积计算步骤和结果。包括循环卷积、线性卷积、快速卷积。其次含有卡尔曼... -
mxnet卷积计算
2018-06-20 13:40:00卷积计算 ''' import mxnet as mx from mxnet.gluon import nn from mxnet import ndarray as nd # 卷积层 # 输入输出的数据格式是: batch * channel * height * width # 权重格式:output_channels * in_channels... -
C++性能优化系列——3D高斯核卷积计算(五)2D卷积分离计算
2020-08-29 15:22:13高斯卷积核具有可分离的性质,因此可以通过以下方法计算二维高斯卷积:构造一个一维高斯卷积核,将原始二维矩阵分别以行主序与列主序,与一维卷积核做卷积计算,得到的结果就是目标二维高斯卷积的结果。本篇按照上述... -
多通道卷积计算理解
2018-05-03 23:10:42多通道卷积计算对于单通道图像,若利用10个卷积核进行卷积计算,可以得到10个特征图;若输入为多通道图像,则输出特征图的个数依然是卷积核的个数(10个)。 1.单通道多个卷积核卷积计算 一个卷积核得到的特征提取... -
C++性能优化系列——3D高斯核卷积计算(六)交换维度计算2D卷积
2020-09-19 11:31:32在 C++性能优化系列——3D高斯核卷积计算(五)2D卷积计算 中,基于可分离卷积的性质,先计算x维度卷积,再将y维度卷积计算过程打乱并重组,完成了两个维度的向量化计算。本篇以先计算y维度卷积,后计算x维度卷积的... -
卷积神经网络之卷积计算、作用与思想
2020-09-03 18:06:52卷积神经网络之卷积计算、作用与思想 转载:https://www.cnblogs.com/shine-lee/p/9932226.html -
卷积计算公式_深度学习中卷积计算(coarse)指南
2020-12-16 03:07:00前言卷积的计算是CNN中最基本的算术单元,卷积的计算过程中出现的:Input Feature Map(FP), Output Feature Map(FP), 以及与 Kernel(size, strides, padding, dilation rate等)之间的关系和计算方式是我们应该掌握... -
1. 卷积神经网络-卷积计算过程
2020-05-24 21:59:48卷积计算可认为是一种有效提取图像特征的方法。 一般会用一个正方形的卷积核,按指定步长在输入特征图上滑动。 遍历输入特征图中的每个像素点。对每个步长,卷积核会与输入特征图出现重合区域,重合区域对应元素... -
精简:卷积计算过程
2020-10-21 20:48:13卷积计算过程如下,假设有一个k×k×N的卷积核,通道数为N,将这个卷积核与输入图片H×H×N的每个通道对应位置相乘,再将所得的数相加,得到最后的输出结果。 卷积层的计算过程如下图所示,为单通道的卷积过程。... -
CNN - 卷积神经网络卷积计算详解
2019-07-30 15:24:21卷积计算层:CONV Layer 人的大脑在识别图片的过程中,会由不同的皮质层处理不同方面的数据,比如:颜色、形状、光暗等,然后将不同皮质层的处理结果进行合并映射操作,得出最终的结果值,第一部分实质上是一个局部... -
C++性能优化系列——3D高斯核卷积计算(三)IPP计算一维卷积
2020-08-27 14:53:42本篇通过Intel高性能计算库IPP中的卷积计算API实现一维卷积,并记录程序耗时情况,同时与 性能优化系列(CPU)——3D高斯核卷积计算(三)FMA向量化计算一维卷积 中只通过编译器向量化版本对比性能。 功能实现 代码实现... -
多通道图像卷积计算演示
2018-08-21 09:43:38对于单通道图像,若利用10个卷积核进行卷积计算,可以得到10个特征图;若输入为多通道图像,则输出特征图的个数依然是卷积核的个数(10个)。 1.单通道多个卷积核卷积计算 一个卷积核得到的特征提取是不充分的...
-
access应用的3个开发实例
-
极品文件搜索工具推荐它没错 | 免索引全文信息检索工具
-
时滞遗传网络的稳定性和Neimark-Sacker分叉分析
-
元宵 | TcaplusDB君邀您来猜灯谜!
-
手动控制element中的DateTimePicker 日期时间选择器的显示和关闭
-
WebOffice.rar
-
信息系统密码应用测评要求.rar
-
MTK9632_9652_Toolbox_watchprops.rar
-
五福背后的 Web 3D引擎Oasis Engine正式开源
-
“5G+AI”工业视觉解决方案白皮书.pdf
-
物联网基础篇:快速玩转MQTT
-
IRACC空调485NET调试软件180819.exe
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
C++代码规范和Doxygen根据注释自动生成手册
-
iptables 企业级防火墙配置(四表五链)
-
程序员必修基础套餐课
-
2021 年该学的 CSS 框架 Tailwind CSS 实战视频
-
Spark初探
-
rhel7.7 x64安装oracle 11g 11.2.0.4_部署测试.txt
-
Apple前工程师WarrenMoore:Swift中Metal使用初体验