前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【数据挖掘】卷积神经网络 ( 视觉原理 | CNN 模仿视觉 | 卷积神经网络简介 | 卷积神经网络组成 | 整体工作流程 | 卷积计算图示 | 卷积计算简介 | 卷积计算示例 | 卷积计算参数 )

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

作者头像
韩曙亮
发布2023-03-27 19:41:37
8380
发布2023-03-27 19:41:37
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

I . 人类的视觉原理

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

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

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

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

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

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

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

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

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

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

卷积神经网络 原理 :

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

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

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

III . 卷积神经网络简介

卷积神经网络 简介 :

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

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

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

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

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

IV . 卷积神经网络 组成

卷积神经网络 构成 :

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

② 卷积组 : 卷积层 与 池化层 , 配对组合 , 即

1

个卷积 +

1

个池化 , 组成

1

个卷积组 ; 整个卷积神经网络中有多个卷积组 ;

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

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

卷积神经网络 工作流程 :

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

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

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

VI . 降低样本参数数量级

1 . 传统神经网络分析图片 : 使用 传统神经网络 分析一张图片 , 如果该图片有

100

万 像素 , 那么需要将每个像素值都作为一个属性值输入到神经网络中 , 那么其隐藏层有

100

万神经元单元 , 如果这样的图片有几万张 , 这个数量级太复杂 ;

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

① 底层特征局部性 : 图像的最底层的特征都是局部性的 , 使用一个小的过滤器 , 如

10 \times 10

像素 , 就可以将图像的 边缘 特征表示出来 ; 边缘底层特征是 横向 , 垂直 , 斜线 , 等边缘 形状特征 ;

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

③ 降低数量级 :

100

万像素的图片 , 可以使用

1

万个

10 \times 10

像素 的过滤器 , 描述图片底部的特征 ;

VII . 卷积计算 图示分析

1 . 原始输入 与 卷积核 :

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

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

在这里插入图片描述
在这里插入图片描述

2 . 第

1

次卷积 :

\{a , b , e , f \}

与 卷积核

\{w, x, y , z\}

进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将

4

个乘积相加 , 这个操作表示一次卷积运算 , 结果是

( aw + bx + ey + fz )

;

在这里插入图片描述
在这里插入图片描述

3 . 第

2

次卷积 :

\{b,c,f,g \}

与 卷积核

\{w, x, y , z\}

进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将

4

个乘积相加 , 这个操作表示一次卷积运算 , 结果是

( wb + xc + yf + zg )

;

在这里插入图片描述
在这里插入图片描述

4 . 第

3

次卷积 :

\{c,d,g,h\}

与 卷积核

\{w, x, y , z\}

进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将

4

个乘积相加 , 这个操作表示一次卷积运算 , 结果是

( wc + xd + yg + zh )

;

在这里插入图片描述
在这里插入图片描述

5 . 第

4

次卷积 :

\{e , f,i,j \}

与 卷积核

\{w, x, y , z\}

进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将

4

个乘积相加 , 这个操作表示一次卷积运算 , 结果是

( we + xf + yi + zj )

;

在这里插入图片描述
在这里插入图片描述

6 . 第

5

次卷积 :

\{f,g,j,k\}

与 卷积核

\{w, x, y , z\}

进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将

4

个乘积相加 , 这个操作表示一次卷积运算 , 结果是

( wf + xg + yj + zk )

;

在这里插入图片描述
在这里插入图片描述

7 . 第

6

次卷积 :

\{g,h,k,l \}

与 卷积核

\{w, x, y , z\}

进行卷积 计算 : 如下图 , 对应位置的值相乘 , 然后将

4

个乘积相加 , 这个操作表示一次卷积运算 , 结果是

( wg + xh + yk + zl )

;

在这里插入图片描述
在这里插入图片描述

8 . 卷积结如下 : 变成了一个

2 \times 3

的图像 ;

在这里插入图片描述
在这里插入图片描述

9 . 卷积效果 :

① 卷积 结果 : 原来的输入图像是

3 \times 4

像素 , 经过卷积后 , 变成了

2 \times 3

的图像 ;

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

③ 卷积核维度 : 如果使用

3 \times 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\times 5

的 , 卷积核是

3 \times 3

的 ;

黄色部分是卷积核为 :

\begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}

卷积计算过程如下 :

① 第

3

行第

2

列 卷积结果 : 卷积核

\begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}

\begin{bmatrix} 0 & 1 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 0 \end{bmatrix}

进行卷积运算 , 如下 :

(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

② 第

3

行第

3

列 卷积结果 : 卷积核

\begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}

\begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 0 \\ 1 & 0 & 0 \end{bmatrix}

进行卷积运算 , 如下 :

(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
X . 卷积本质

1 . 卷积 及 卷积核 本质 :

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

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

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

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

2 . 卷积核底层纹理 :

① 底层纹理模式 : 如果有

n

个卷积核 , 可以理解为该图像有

n

种底层的纹理模式 , 使用这些纹理模式的特征可以绘制出一幅图像 , 也能从一堆杂乱的图像中识别出该图像 ;

② 底层纹理示例 : 下图是常用的

24

种卷积核 , 也就是

24

种底层纹理模式 ; 如 第

4

行 , 第

2

列 , 三条垂直的线 , 亮线表示 1 , 暗线表示 0 , 因此可以使用卷积核

\begin{bmatrix} 1 & 0 & 0 \\ 1 & 0 & 0 \\ 1 & 0 & 0 \end{bmatrix}

表示 , 该纹理 , 最左侧是亮的 , 右边两个是暗的 ;

在这里插入图片描述
在这里插入图片描述
XI . 卷积 计算 参数

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

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

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

2 . 卷积核大小 :

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

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

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

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

3

, 那么参数有

9

个 , 卷积核为

5

, 参数有

25

个 ;

3 . 填充 : 不想降维 , 先将输入图 对称 补

0

, 然后进行滑动窗口 , 卷积计算 ;

① 降低维度 : 卷积之后 , 不想降维 , 如前面的

5 \times 5

的输入图 , 使用

3 \times 3

卷积核 , 卷积之后变成了

3 \times 3

的图像 , 这里就将输入图的维度下降了 ;

② 对称补

0

: 如果不想降低输入图的维度 , 可以使用填充 , 即先在周边位置使用

0

补充 , 注意对称补充 , 不要在一个边上补

0

, 然后再进行卷积计算 ;

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
    • I . 人类的视觉原理
      • II . 卷积神经网络 模仿 视觉原理
        • III . 卷积神经网络简介
          • IV . 卷积神经网络 组成
            • V . 卷积神经网络 工作流程
              • VI . 降低样本参数数量级
                • VII . 卷积计算 图示分析
                  • VIII . 卷积计算 简介
                    • IX . 卷积计算 示例
                      • X . 卷积本质
                        • XI . 卷积 计算 参数
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档