前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【数据挖掘】卷积神经网络 ( 池化 | 丢弃 | 批量规范化 | 卷积神经网络完整流程示例 | 卷积 | 池化 | 全连接 | 输出 | 卷积神经网络总结 )

【数据挖掘】卷积神经网络 ( 池化 | 丢弃 | 批量规范化 | 卷积神经网络完整流程示例 | 卷积 | 池化 | 全连接 | 输出 | 卷积神经网络总结 )

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

文章目
C_1
S_2
C_3
C_3

特征组合示例

S_4
C_5
F_6

I . 池化

1 . 池化 简介 :

① 池化概念 : 池化就是将一块区域降维 , 甚至减少到一个值 ;

② 池化过程 : 将图像分割成一块块小区域 , 每个区域只取一个值 , 取该区域的 最大值采样 , 或平均值采样 ;

③ 池化作用 : 卷积操作的卷积核一般都比较小 , 卷积完成后的图像一般也很大 , 进行池化过程 , 可以指数级地降低维度 ;

2 . 池化采样 : 使用采样窗口 , 将图片分割成一块一块的区域 , 每一块区域取一个值 ; 下图是一个采样窗口 , 四个值分别是

\{1,2,3,4\}

;

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

① 最大值采样 : 每个采样窗口中 , 取像素值最大的那个值 ; 如果取最大值 , 上述采样窗口取值

4

;

② 平均值采样 : 每个采样窗口中 , 取所有像素值的平均值 ; 如果取平均值 , 上述采样窗口取值

\dfrac{1 + 2 + 3 + 4}{4} = 2.5

;

3 . 池化意义 :

① 降低维度 : 降低了图片的维度 , 意味着损失了很多数据 , 但剩余的特征仍能够描述图像 , 极大降低了参数数量 ;

② 避免过拟合 : 由于维度降低了 , 还有避免过拟合的作用 ;

4 . 池化示例 : 如给一个

8 \times 8

的图片 , 使用

4 \times 4

的采样窗口 对该图片进行采样 , 最终得到一个

2 \times 2

的图片 ;

① 原始图片 :

8 \times 8

大小 ;

② 切割图片 : 使用采样窗口将其分割 , 如下 红色区域 , 绿色区域 , 紫色区域 , 黄色区域 ;

③ 取值 : 每个区域取一个值 , 最大值 , 或 平均值 ;

④ 最终结果 : 最终结果是

2 \times 2

的图片 , 如 红色区域

4\times 4

取平均值 , 对应该池化结果的红色值 ;

在这里插入图片描述
在这里插入图片描述
II . 丢弃操作

丢弃操作简介 :

① 全连接网络参数多 : 神经网络是全连接的 , 全连接会有非常多的参数个数 ;

② 丢弃神经元单元 : 在学习过程中 , 每次都随机丢弃一些神经元单元 ;

③ 作用 : 减少参数数量 , 可以 降低过拟合的风险 ;

III . 批量规范化

批量规范化 :

① 操作过程 : 对输入的数据减去一个均值 , 或除以一个方差 , 降低数值的大小 , 可以有效加快计算速度 ;

② 作用 : 能加快计算速度 ;

IV . 卷积神经网络 完整流程示例 ( 1 ) : 原始输入图

输入图 :

32 \times 32

大小的图片 ;

在这里插入图片描述
在这里插入图片描述
V . 卷积神经网络 完整流程示例 ( 2 ) : 卷积层
C_1

卷积层

C_1

:

① 操作过程 :

32 \times 32

大小的图像输入后 , 在该层使用

6

5 \times 5

的卷积核对输入图进行卷积 ;

② 卷积核大小 :

5 \times 5

, 这是过滤器 , 滑动窗口 等的大小 ;

③ 卷积结果 : 使用该卷积核得到的卷积结果是

28 \times 28

的图像 ,

5

32

中从左滑到右 , 从上滑到下 , 是

32 - 5 + 1 = 28

, 也就是

28 \times 28

的由来 ;

④ 卷积核个数 : 这里有

6

个卷积核 , 即对应

6

种底层纹理特征 ; 每个输入图 与 卷积核 进行卷积后 , 得到一个结果 , 这里得到 6 个卷积结果 ;

⑤ 本层卷积结果 :

6

28 \times 28

的图像 ;

在这里插入图片描述
在这里插入图片描述
VI . 卷积神经网络 完整流程示例 ( 3 ) : 池化层
S_2

池化层

S_2

:

① 本层输入 :

6

28 \times 28

的图像 ;

② 池化层操作 : 使用

2 \times 2

的采样窗口 , 对上述卷积得到的

6

个图像进行采样 , 将

6

28 \times 28

的图像池化成

6

14 \times 14

的图像 ;

③ 采样窗口 :

2 \times 2

, 相当于把图像数据量缩小了

4

倍 ;

④ 本层池化结果 :

6

14 \times 14

的图像 ;

在这里插入图片描述
在这里插入图片描述
VII . 卷积神经网络 完整流程示例 ( 4 ) : 卷积层
C_3

卷积层

C_3

:

① 卷积核 大小 :

5 \times 5

的卷积核组成 ;

② 卷积图像大小 :

14 \times 14

的图像 , 使用

5 \times 5

的卷积核 进行卷积 , 得到的结果是

10 \times 10

的图像 , 由

14 - 5 + 1 = 10

计算得来 ;

③ 卷积核个数 :

16

个 , 每个输入图片 , 卷积后都得到

16

个图片 ;

④ 特征图组合 全连接 : 上一层

S_2

池化层 输出了

6

14 \times 14

的图像 , 如果是全连接 , 那么本层需要进行

6 \times 16

次卷积 , 得到

96

个卷积结果 ;

⑤ 特征图组合 部分连接 : 上一层

S_2

池化层 输出了

6

14 \times 14

的图像 , 可以为不同的输入图像 ( 上一层输入的

6

张图片 ) , 配置不同的卷积核 ( 本层的

16

个卷积核 ) 进行卷积计算 , 有多种排列组合方式可供选择 ;

3 . 输入与输出结果 :

① 输入图 :

6

14 \times 14

的图像 ;

② 输出图 :

16

10 \times 10

的图像 ;

在这里插入图片描述
在这里插入图片描述
VIII . 卷积神经网络 完整流程示例 ( 5 ) : 卷积层
C_3

特征组合示例


1 . 特征图组合示例 :

C_3

中有

16

个卷积核 , 分别编号

n = 1, 2, \cdots, 16

, 上一层

S_2

输出

6

个图像 , 编号

m = 1, 2, \cdots, 6

; 可以使用一个

6 \times 16

的矩阵 (

6

16

列 ) 表示为哪个图像 , 进行哪个卷积操作 ;

① 表格说明 :

0

5

行 , 表示输出的

6

个图片 ;

0

15

列 , 表示本层的

16

个卷积核 ;

② 表格位置含义 :

0

行 代表是上层

S_2

的第

0

个输入图像 , 第

0

列 , 表示本层

C_3

的第

0

个卷积核 ;

2 . 表格值含义 :

① 卷积 : 如果 第

0

行 第

0

列 值为 1 , 表示 第

0

个输入图像 需要与 第

0

个卷积核 进行卷积运算 ;

② 不卷积 : 如果 第

0

行 第

0

列 值为 0 , 表示 第

0

个输入图像 需要与 第

0

个卷积核 不进行卷积运算 ;

3 . 下面表格示例含义 : 下图中除了第

5

张图片的 第

15

个卷积核 的卷积计算不用执行外 , 其它的

95

个卷积计算都要执行 ;

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

3

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

5

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

该表中有

96

个表格位置 , 可以精确的指出哪些卷积操作需要做 , 哪些不需要做 , 可以使用矩阵形式表示出来 , 我就不写了 , Latext 矩阵太麻烦 ;

4 . 特征组合的意义 :

① 减少计算量 : 可以减少参数个数 , 进而降低计算量 ;

② 增加性能 : 不同特征组合 , 有利于指定的特征提取 ;

IX . 卷积神经网络 完整流程示例 ( 6 ) : 池化层
S_4

池化层

S_4

输入 : 输入

16

10 \times 10

的图像 , 使用

2 \times 2

的采样 进行池化 , 得到

16

5 \times 5

的图像 ;

池化层

S_4

输出 : 输出

16

5 \times 5

的图像 ;

在这里插入图片描述
在这里插入图片描述
X . 卷积神经网络 完整流程示例 ( 7 ) : 卷积层
C_5

1 . 卷积层

C_5

操作 :

① 卷积层

C_5

输入 : 输入

16

5 \times 5

的图像 ;

② 卷积操作 : 使用

120

5 \times 5

的卷积核 , 在上述

16

个图像上进行卷积操作 , 得到

120 \times 6

1 \times 1

的图像 ;

③ 卷积层

C_5

输出 : 输出

120

1 \times 1

的图像 ;

2 . 卷积计算分析 :

① 卷积核大小 与 图像大小 : 此处卷积核大小 与 图像大小都是

5 \times 5

的大小 , 卷积之后 , 只剩下一个值 , 即

1 \times 1

像素大小 ;

② 卷积核 与 图像 卷积结果个数 :

1

个图像 与

120

个 卷积核进行卷积 , 有

120

个结果 ;

6

个图像 与

120

个 卷积核进行卷积 , 有

720

个结果 ;

③ 特征选择 : 此处又要进行特征选择 , 并不需要将所有输入图像 , 每个都进行

120

次卷积 , 只选择其中的

120

个组合即可 , 因此这里输出

120

1 \times 1

的图像 ;

在这里插入图片描述
在这里插入图片描述
XI . 卷积神经网络 完整流程示例 ( 8 ) : 全连接层
F_6

1 . 输入与输出 :

① 本层的输入值 :

120

个连接的权重 , 乘以每个单元输入值 , 加上每个输入单元的偏置 , 将这

120

个值累加起来 , 就得到了某个单元的输入 ;

② 本层的输出 : 本层的单个单元的输入 , 传入 sigmod 函数 , 即可得到单元的输出值 ;

2 . 神经元个数 :

① 全连接层 神经元个数 : 全连接层有

12 \times 7 = 84

个神经元单元 , 每个神经元单元都代表图像的像素点 ;

② 神经元个数由来 : 假设图像的大小为

12 \times 7

像素大小 , 每个像素值都作为一个输入 , 即有

84

个单元 ;

3 . 连接参数 :

① 全连接 : 该层

84

个神经元 , 与 上一层

C_5

卷积层输出的

120

个值进行全连接 , 即

C_5

层与

F_6

层有

120 \times 84

条连接线 ;

② 权重 : 这里的权重 是上一层

120

个单元 , 与本层

84

个单元 , 单条连接的权重 ;

③ 偏置 : 注意这里的偏置是上一层输出单元的参数 , 是

120

个输出单元的每个单元的偏置参数值 ;

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

XII . 卷积神经网络 完整流程示例 ( 9 ) : 输出层

1 . 输出层简介 :

① 全连接 : 输出层 与 上一层

F_6

是全连接的 , 即

F_6

全连接层

84

个神经元单元 与 输出层的

10

个神经元的连接 是 全连接 的 ;

② 输出层 神经元单元 个数 : 该层有

10

个神经元单元 , 分别对应

0 ,1,2,3,4,5,6,7,8,9

, 这

9

个数字 ;

③ 描述总结 : 当前有

10

张图片 , 每张图片有

12 \times 7

像素 , 即

84

个像素点 ;

2 . 连接的深层次含义 :

① 全连接层单元分析 : 全连接层

F_6

84

个单元 , 对应的就是

84

个像素点 ;

② 输出层单元分析 : 输出层的每个单元 , 都代表一张图片 ;

③ 连接个数分析 : 输出层每个单元 , 都连接

F_6

全连接层的所有单元 , 这里每个图片都有

84

个连接 ,

10

个图片有 有

10 \times 84 = 840

个连接 ;

④ 连接 与 像素值对应 : 输出层每个单元 ( 每张图片 ) 都有

84

个连接 , 这里直接与每个图片的

12 \times 7 = 84

个像素点对应 ;

⑤ 连接本质 : 连接的权值就是真实像素值 ;

3 . 连接权值描述 :

F_6

层与输出层的连接权值 : 全连接层

F_6

中的第

j

个单元 是

x_j

, 与 输出层 第

i

个单元 进行连接 , 该连接的权值为

w_{ij}

;

w_{ij}

连接权值 : 该连接权值就是 第

i

张图片对应的

F_6

层 像素点位置 的真实像素值 ;

4 . 输出计算 : 每个单元的输出值使用

y

标记 , 输出层

10

个单元 , 第

i

个单元的输出值为

y_i

, 计算公式如下 :

y_i = \sum_{j = 1}^{84}(x_j - w_{ij})^2
y_i

表示输出层第

i

个单元的输出 ;

x_j

表示经过多个 卷积 池化 后的 计算出的像素值 ;

w_{ij}

指的是

12 \times 7

图片上的对应的真实像素值 ;

(x_j - w_{ij})^2

取平方 , 是为了获取其误差 , 避免符号干扰 ; 这是误差平方公式 , 整体是误差平方和公式 ;

5 .

y_i

输出意义 :

① 像素位置说明 :

x_j

表示识别出的像素图片第

j

个像素的位置 ,

w_{ij}

表示第

i

张图片的第

j

个像素的位置 ;

② 同一位置像素相减 : 假如这两张图片是同一张图片 , 那么

x_j

w_{ij}

是相同的 , 或者相似的 , 其相减数值很小 , 基本为

0

;

③ 值越小相似度越大 :

y_i

值很小时 , 说明此时该图片与第

i

张图片及其相似 , 该图片就被识别成

i

图片 ;

④ 输出结果分析 : 输出的

10

y_i

, 哪个值最小 , 就将输入图片分类成该 第

i

张图片 ;

在这里插入图片描述
在这里插入图片描述
XIII . 卷积神经网络 完整流程示例整体图示 ( 10 )

在这里插入图片描述
在这里插入图片描述
XIV . 卷积神经网络 总结

1 . 先卷积池化 再全连接训练 : 卷积神经网络 一般会进行多层的卷积 池化 操作 , 然后将维度降低到可接受程度以后 , 再将图片的像素值输入到传统神经网络中 , 该网络中各层都是全连接的 , 又叫全连接层 , 然后进行训练 , 找到合适的参数 ;

2 . 卷积 池化作用 : 卷积 和 池化操作 目的是为了提取图片的特征 , 降低输入图像的维度 , 进而减少训练的参数个数 ;

3 . 全连接层本质 : 全连接层 与 输出层 组合 , 就是一个传统的神经网络 , 有输入层 , 隐藏层 , 输出层 , 起到将卷积池化后的图像输入然后分类的作用 , 就是一个分类器 ;

4 . 特征提取性能 : 每次卷积 , 都会 使用 卷积核 提取 底层纹理特征 , 卷积次数越多 , 提取的特征越多 , 学习到的特征就越丰富 , 与之相对的是神经网络变得越来越复杂 ;

XV . 卷积神经网络 与 传统神经网络

卷积神经网络 与 传统神经网络 :

① 训练过程一致 : 卷积神经网络看起来很复杂 , 但其训练过程与传统的神经网络基本一样 , 也是使用反向传播算法 ; 只是加入了 卷积 池化的 步骤 ;

② 向前传播输入 : 将输入图进行多次 卷积 池化操作 , 提取特征 , 将提取到的特征属性输入到全连接层 , 然后就是计算各层输入输出 ;

③ 向后传播误差 : 计算输出值 , 与实际值的误差 , 然后向后将误差传播回去 , 作为修改全连接层中的权值和偏置的依据 ; 使用梯度下降方法更新权值和偏置 ;

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目
    • I . 池化
      • II . 丢弃操作
        • III . 批量规范化
          • IV . 卷积神经网络 完整流程示例 ( 1 ) : 原始输入图
            • V . 卷积神经网络 完整流程示例 ( 2 ) : 卷积层
              • VI . 卷积神经网络 完整流程示例 ( 3 ) : 池化层
                • VII . 卷积神经网络 完整流程示例 ( 4 ) : 卷积层
                  • VIII . 卷积神经网络 完整流程示例 ( 5 ) : 卷积层
                    • IX . 卷积神经网络 完整流程示例 ( 6 ) : 池化层
                      • X . 卷积神经网络 完整流程示例 ( 7 ) : 卷积层
                        • XI . 卷积神经网络 完整流程示例 ( 8 ) : 全连接层
                          • XII . 卷积神经网络 完整流程示例 ( 9 ) : 输出层
                            • XIII . 卷积神经网络 完整流程示例整体图示 ( 10 )
                              • XIV . 卷积神经网络 总结
                                • XV . 卷积神经网络 与 传统神经网络
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档