文章目录

  • I . 人类的视觉原理
  • II . 卷积神经网络 模仿 视觉原理
  • III . 卷积神经网络简介
  • IV . 卷积神经网络 组成
  • V . 卷积神经网络 工作流程
  • VI . 降低样本参数数量级
  • VII . 卷积计算 图示分析
  • VIII . 卷积计算 简介
  • IX . 卷积计算 示例
  • X . 卷积本质
  • XI . 卷积 计算 参数

I . 人类的视觉原理


1 . 深度学习 与 大脑认知 :

① 深度学习基础 : 大脑对外界事务的认知原理 , 是很多深度学习算法的基础 , 这里讨论人类的视觉原理 ,

② 视觉原理 : 视觉识别信息处理过程 , 是由可视皮层完成的 , 并且可视皮层是分级的 ;

③ 卷积神经网络来源 : 卷积神经网络 受 人类视觉原理启发 , 而开发出来的 ;

2 . 视觉原理 与 可视皮层 分层 :

① 信号输入 : 视觉输入原始信号 , 即大脑从瞳孔中摄入一张由像素值组成的图片 ;

② 识别边缘 ( 可视皮层 底层 ) : 将输入的像素值 , 进行 初步处理 , 识别像素的 边缘 , 方向 信息 ;

③ 识别形状 ( 可视皮层 中层 ) : 将 边缘信息 抽象成 形状信息 , 如圆形 , 方形等 ;

④ 判定类别 ( 可视皮层 上层 ) : 在上述识别形状的基础上 , 判定该形状是什么类型的事务 , 如桌子 , 汽车等 ;

II . 卷积神经网络 模仿 视觉原理


卷积神经网络 原理 :

① 模拟视觉原理 : 人类视觉识别涉及到了 不同层级 的可视皮层 , 每层分别处理不同的事务 ;

② 构建多层神经网络模型 : 模仿上述分层的课视频曾 , 创建多层神经网络模型 , 如 卷积神经网络 ;

③ 分层工作机制 : 多层神经网络模型机制 , 在底层识别图像的边缘特征 , 上一层逐渐识别形状 , 最上层对图像像素进行判定分类 ;

III . 卷积神经网络简介


卷积神经网络 简介 :

① CNN 卷积神经网络 处理的数据类型 : CNN 卷积神经网络 , 是特殊的神经网络 , 其通常用于处理网格状的数据 , 如 时间序列 ( 音频数据 ) , 或 图片数据 ;

② CNN 适用场景 : CNN 卷积神经网络其本质是一个多层神经网络 , 该模型适合处理 大型图像 相关的 机器学习 问题 ;

③ CNN 成就 : CNN 在 深度神经网络 中是应用最早 , 最成功的的领域 ;

④ CNN 的计算 : 卷积神经网络其本质还是 神经网络 , 其基本的计算由 矩阵相乘 变成了 卷积 ;

⑤ CNN 处理图像原理 : 处理大型图像时 , 将图像识别问题 降维处理 , 从底层向高层 , 不断抽取特征时 , 其维度越降越低 , 最终将其变成可训练的模型 ;

IV . 卷积神经网络 组成


卷积神经网络 构成 :

① 组成 : 卷积神经网络由 卷积层 , 池化层 , 全连接层 , 组成 ;

② 卷积组 : 卷积层 与 池化层 , 配对组合 , 即 111 个卷积 + 111 个池化 , 组成 111 个卷积组 ; 整个卷积神经网络中有多个卷积组 ;

③ 工作机制 : 按照上述分层 , 逐层提取数据 ( 图像 ) 特征 , 这些特征通过全连接层结合起来 , 完成最终的分类判定操作 ;

V . 卷积神经网络 工作流程


卷积神经网络 工作流程 :

① 卷积 : 通过卷积 模拟 特征 ;

② 池化 : 通过卷积的 权值 共享 , 池化 , 可以降低整体网络的参数数量级 ;

③ 连接分类 : 上述 卷积 池化 后的结果通过传统的 神经网络 进行分类即可 ;

VI . 降低样本参数数量级


1 . 传统神经网络分析图片 : 使用 传统神经网络 分析一张图片 , 如果该图片有 100100100 万 像素 , 那么需要将每个像素值都作为一个属性值输入到神经网络中 , 那么其隐藏层有 100100100 万神经元单元 , 如果这样的图片有几万张 , 这个数量级太复杂 ;

2 . 卷积神经网络 减少参数数量级 原理 :

① 底层特征局部性 : 图像的最底层的特征都是局部性的 , 使用一个小的过滤器 , 如 10×1010 \times 1010×10 像素 , 就可以将图像的 边缘 特征表示出来 ; 边缘底层特征是 横向 , 垂直 , 斜线 , 等边缘 形状特征 ;

② 图像特征类似 : 图像中的特征 , 不管是相同图像 , 还是不同图像 , 其中的片段的特征是类似的 , 可以使用 同一组分类器 描述 不同的图像 特征 ; 如训练识别一只猫的图像 , 在这张图片上的猫 , 与另外一张图片的猫 , 其片段特征的是类似的 ;

③ 降低数量级 : 100100100 万像素的图片 , 可以使用 111 万个 10×1010 \times 1010×10 像素 的过滤器 , 描述图片底部的特征 ;

VII . 卷积计算 图示分析


1 . 原始输入 与 卷积核 :

① 原始输入 : 需要识别的图像 ;

② 卷积核 : 可以看做是滑动窗口 , 在图像上滑动 ;

2 . 第 111 次卷积 : {a,b,e,f}\{a , b , e , f \}{a,b,e,f} 与 卷积核 {w,x,y,z}\{w, x, y , z\}{w,x,y,z} 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 444 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 (aw+bx+ey+fz)( aw + bx + ey + fz )(aw+bx+ey+fz) ;

3 . 第 222 次卷积 :{b,c,f,g}\{b,c,f,g \}{b,c,f,g} 与 卷积核 {w,x,y,z}\{w, x, y , z\}{w,x,y,z} 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 444 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 (wb+xc+yf+zg)( wb + xc + yf + zg )(wb+xc+yf+zg) ;

4 . 第 333 次卷积 :{c,d,g,h}\{c,d,g,h\}{c,d,g,h} 与 卷积核 {w,x,y,z}\{w, x, y , z\}{w,x,y,z} 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 444 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 (wc+xd+yg+zh)( wc + xd + yg + zh )(wc+xd+yg+zh) ;

5 . 第 444 次卷积 :{e,f,i,j}\{e , f,i,j \}{e,f,i,j} 与 卷积核 {w,x,y,z}\{w, x, y , z\}{w,x,y,z} 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 444 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 (we+xf+yi+zj)( we + xf + yi + zj )(we+xf+yi+zj) ;

6 . 第 555 次卷积 :{f,g,j,k}\{f,g,j,k\}{f,g,j,k} 与 卷积核 {w,x,y,z}\{w, x, y , z\}{w,x,y,z} 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 444 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 (wf+xg+yj+zk)( wf + xg + yj + zk )(wf+xg+yj+zk) ;

7 . 第 666 次卷积 :{g,h,k,l}\{g,h,k,l \}{g,h,k,l} 与 卷积核 {w,x,y,z}\{w, x, y , z\}{w,x,y,z} 进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将 444 个乘积相加 , 这个操作表示一次卷积运算 , 结果是 (wg+xh+yk+zl)( wg + xh + yk + zl )(wg+xh+yk+zl) ;

8 . 卷积结如下 : 变成了一个 2×32 \times 32×3 的图像 ;

9 . 卷积效果 :

① 卷积 结果 : 原来的输入图像是 3×43 \times 43×4 像素 , 经过卷积后 , 变成了 2×32 \times 32×3 的图像 ;

② 效果 : 维度降低了 , 参数变少了 ;

③ 卷积核维度 : 如果使用 3×33 \times 33×3 的卷积核 , 那么维度降低的更多 ;

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 . 卷积计算 示例


计算图中的最后两个空白位置的卷积 :


输入图是 5×55\times 55×5 的 , 卷积核是 3×33 \times 33×3 的 ;

黄色部分是卷积核为 : [101010101]\begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}⎣⎡​101​010​101​⎦⎤​

卷积计算过程如下 :

① 第 333 行第 222 列 卷积结果 : 卷积核 [101010101]\begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}⎣⎡​101​010​101​⎦⎤​ 与 [011010110]\begin{bmatrix} 0 & 1 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 0 \end{bmatrix}⎣⎡​001​111​100​⎦⎤​ 进行卷积运算 , 如下 :

(1×0)+(0×1)+(1×1)+(0×0)+(1×1)+(0×0)+(1×1)+(0×1)+(1×0)=3(1 \times 0 ) + (0 \times 1 ) + (1 \times 1 ) + \\\\ (0 \times 0 ) + (1 \times 1) + (0 \times 0 ) + \\\\ (1 \times 1 ) + (0 \times 1) + (1 \times 0) = 3(1×0)+(0×1)+(1×1)+(0×0)+(1×1)+(0×0)+(1×1)+(0×1)+(1×0)=3

② 第 333 行第 333 列 卷积结果 : 卷积核 [101010101]\begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}⎣⎡​101​010​101​⎦⎤​ 与 [111110100]\begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 0 \\ 1 & 0 & 0 \end{bmatrix}⎣⎡​111​110​100​⎦⎤​ 进行卷积运算 , 如下 :

(1×1)+(0×1)+(1×1)+(0×1)+(1×1)+(0×0)+(1×1)+(0×0)+(1×0)=4(1 \times 1 ) + (0 \times 1 ) + (1 \times 1 ) + \\\\ (0 \times 1 ) + (1 \times 1) + (0 \times 0 ) + \\\\ (1 \times 1 ) + (0 \times 0) + (1 \times 0) = 4(1×1)+(0×1)+(1×1)+(0×1)+(1×1)+(0×0)+(1×1)+(0×0)+(1×0)=4

X . 卷积本质


1 . 卷积 及 卷积核 本质 :

① 卷积核本质 : 卷积核的本质相当于一个过滤器 , 可以过滤识别图像的各个区域的特征 , 获取这些区域的特征值 ;

② 卷积核来源 : 卷积核一般是在学习训练过程中得到的 ;

③ 卷积结果的意义 : 每个卷积核代表了一种图像的特征模式 , 如果某个区域与该卷积核 进行内积运算 , 卷积出的值很大 , 说明该区域与该卷积核图像类似 ;

④ 多个卷积核 : 在实际使用中 , 一个卷积神经网络 , 可能会有多个卷积核 ;

2 . 卷积核底层纹理 :

① 底层纹理模式 : 如果有 nnn 个卷积核 , 可以理解为该图像有 nnn 种底层的纹理模式 , 使用这些纹理模式的特征可以绘制出一幅图像 , 也能从一堆杂乱的图像中识别出该图像 ;

② 底层纹理示例 : 下图是常用的 242424 种卷积核 , 也就是 242424 种底层纹理模式 ; 如 第 444 行 , 第 222 列 , 三条垂直的线 , 亮线表示 1 , 暗线表示 0 , 因此可以使用卷积核 [100100100]\begin{bmatrix} 1 & 0 & 0 \\ 1 & 0 & 0 \\ 1 & 0 & 0 \end{bmatrix}⎣⎡​111​000​000​⎦⎤​ 表示 , 该纹理 , 最左侧是亮的 , 右边两个是暗的 ;

XI . 卷积 计算 参数


1 . 通道数 : 卷积核的个数 ;

① 输入通道数 : 上一层输出的通道数量 , 即卷积核的个数 ;

② 输出通道数 : 本层输出的通道数量 , 即卷积核的个数 ;

2 . 卷积核大小 :

① 卷积核大小关联性 : 与卷积计算后 , 每个卷积结果输出值 , 与多大范围的输入图像有关 , 即上面说的过滤器大小 , 底层纹理大小 , 滑动窗口大小 ;

② 建议取值 : 建议使用奇数大小 , 这样能保证卷积计算后 , 有唯一的一个中心点 ;

③ 卷积核效果 : 卷积核 越大 , 分类效果越好 ;

④ 卷积核参数数量 : 卷积核增大 , 其参数就会指数级增加 , 参数个数是卷积核的平方 , 即进行内积运算的参数个数 ; 如卷积核为 333 , 那么参数有 999 个 , 卷积核为 555 , 参数有 252525 个 ;

3 . 填充 : 不想降维 , 先将输入图 对称 补 000 , 然后进行滑动窗口 , 卷积计算 ;

① 降低维度 : 卷积之后 , 不想降维 , 如前面的 5×55 \times 55×5 的输入图 , 使用 3×33 \times 33×3 卷积核 , 卷积之后变成了 3×33 \times 33×3 的图像 , 这里就将输入图的维度下降了 ;

② 对称补 000 : 如果不想降低输入图的维度 , 可以使用填充 , 即先在周边位置使用 000 补充 , 注意对称补充 , 不要在一个边上补 000 , 然后再进行卷积计算 ;

4 . 步长 : 每次卷积核的移动距离 ( 单位 : 像素 ) , 即 每次移动滑动窗口 ( 卷积核 ) 的距离 , 单位是像素 , 之前的两个例子都是每次移动一个像素值 ;

【数据挖掘】卷积神经网络 ( 视觉原理 | CNN 模仿视觉 | 卷积神经网络简介 | 卷积神经网络组成 | 整体工作流程 | 卷积计算图示 | 卷积计算简介 | 卷积计算示例 | 卷积计算参数 )相关推荐

  1. 【3D视觉原理】2-3D传感器原理

    文章目录 内容概要 3D光学测量方法概述 被动测距 单目立体视觉(精度不高) 聚焦法 离焦法 双目立体视觉(精准) 多目立体视觉(更精准) 主动测距 结构光法 光点法 光条法 光面法 飞行时间法(To ...

  2. 可逆神经网络(Invertible Neural Networks)详细解析:让神经网络更加轻量化

    ©作者 | 初识CV 单位 | 海康威视 研究方向 | 计算机视觉 前言 本文以可逆残差网络(The Reversible Residual Network: Backpropagation With ...

  3. 我们来研究一下Eureka的工作流程机制及相关原理

    作者:代码忘烦恼 blog.csdn.net/qwe86314/article/details/94552801 Eureka 工作原理 我们来学习 Eureka,了解它的相关概念.工作流程机制等. ...

  4. Kafka(消息队列原理,kafka定义,Kafka架构原理,kafka架构的工作流程)秒懂的kafka

    目录 什么是Kafka? 消息队列原理: 为什么要用Kafka? kafka的架构 kafka工作流程详解: 什么是Kafka? kafka是一个分布式消息队列 这个定义意味深长,记住容易,理解不易. ...

  5. 机器学习16:简单, 直观的方法理解CNN(卷积神经网络)核心原理及实现

    1.CNN(卷积神经网络)的典型应用场景 1.1 WaveNet 模型: https://deepmind.com/blog/wavenet-generative-model-raw-audio/ 如 ...

  6. CNN卷积神经网络—LeNet原理以及tensorflow实现mnist手写体训练

    CNN卷积神经网络-LeNet原理以及tensorflow实现minst手写体训练 1. LeNet原理 2.tensorflow实现Mnist手写体识别 1.安装tensorflow 2.代码实现手 ...

  7. 深度学习三人行(第8期)----卷积神经网络通俗原理

    上一期,我们一起学习了深度学习中如何避免过拟合, 深度学习三人行(第7期)----深度学习之避免过拟合(正则化) 接下来我们一起学习下网红网络之卷积神经网络(CNN),我们多多交流,共同进步.本期主要 ...

  8. cnn卷积神经网络反向传播,cnn正向传播和反向传播

    如何对CNN网络的卷积层进行反向传播 在多分类中,CNN的输出层一般都是Softmax.RBF在我的接触中如果没有特殊情况的话应该是"径向基函数"(RadialBasisFunct ...

  9. 卷积神经网络数学原理解析

    来源:海豚数据科学实验室 作 者:Piotr Skalski 翻 译:通夜(中山大学).had_in(电子科技大学) 编 辑:Pita 原标题:Gentle Dive into Math Behind ...

最新文章

  1. 消息模式Toast.makeText的几种常见用法
  2. Facebook 开源 Instagram 安全工具 Pysa
  3. python教学网站-python教学网站
  4. C++——有关chrono库的duration
  5. EntityFramework实体默认值遇到Oracle自增主键
  6. (82)Verilog HDL:状态机二段式
  7. ubuntu系统下mysql重置密码和修改密码操作
  8. 标准库函数begin和end的使用
  9. 北京链家买二手房的经历与感受
  10. 计算机类期刊审稿周期及录用比例
  11. 【渝粤教育】国家开放大学2018年春季 7404-21T数学建模 参考试题
  12. 一道笔试题(求质数乘积)
  13. 2022年3月 python一级 程序题 【买本子和画三角形】
  14. 应试教育堵死了孩子们犯错的道路
  15. dve 二维数组信号 显示波形_VCS课时3:使用DVE进行Debug
  16. 给深度学习研究生的入门建议(未完待续ing)
  17. 实现上一页和下一页的效果
  18. python录音pyaudio_python调用pyaudio使用麦克风录制wav声音文件的教程
  19. 大家的日语(第三节)
  20. 使用Git命令行推送代码到远程仓库,阿里云效Codeup代码管理平台

热门文章

  1. DataGridView删除、修改方法封装
  2. 将oracle冷备份恢复到另外一个数据库实例中
  3. WPF后台操作前台元素之查找对象
  4. (9)C#之ADO.NET 两个ListBox联动案例
  5. WP7之题样式与数据绑定
  6. jQuery Alert Dialogs (Alert, Confirm, Prompt Replacements)(翻译)
  7. Angular 一个简单的指令实现 阻止事件扩散
  8. leetcode 293.Flip Game(lintcode 914) 、294.Flip Game II(lintcode 913)
  9. 29 基于PCL的点云平面分割拟合算法技术路线(针对有噪声的点云数据)
  10. Python 之路 Day5 - 常用模块学习