概述

深层神经网络问题导入

常见的神经网络

05_p1
05_p1

(NN,CNN,RNN)

不同神经网络的应用

05_p2
05_p2

根据不同的问题,需要不同的算法。

一般的神经网络存在的问题

之前介绍的一般的神经网络也可以称为全连接神经网络。

05_p3
05_p3

所有节点之间相互连接,计算量仍然很大。

图像模式的特性

考虑图像识别问题
对于一张位图(一般像素的,不是矢量的),
要识别其内容,我们并不需要考虑所有的像素,即识别东西靠的是一部分特征,
因此,我们需要一种提取局部特征的方法。
另外,这种特征在一定程度的缩放下仍然有效。(图片放大缩小也认得出来)
\(\Rightarrow\)
1、关键的是局部特征。
2、特征可以缩放。

神经网络概念引出

对图像模式特性的两个问题的分析

对于第一个问题,
需要定义一种提取局部特征的方法,
然后用这种方法遍历整张图片。
\(\Rightarrow\)
卷积

对于第二个问题,
在神经网络逐层累加的过程中,可以直接对图像进行缩放。
\(\Rightarrow\)
池化

CNN结构基础

卷积层——激活函数——池化层——全连接层

简单解释一下

卷积

(又称空域滤波)
对一定范围内的输入进行线性运算,输出结果到下一层。

05_p4
05_p4

以上图为例子,输入为\(f\)输出(下一层)为\(g\)
用了一个\(3\times3\)的卷积核(又称滤波器,即一组运算的参数和方法)

\[ g\left(x,y\right)=\sum_{s=-a}^{a}\sum_{t=-b}^{b}w\left(s,t\right)f\left(x+s,y+t\right) \]

(显然,就是二维卷积)

再拿个有数字的实例

05_p5
05_p5

常用滤波器举例

盒滤波器

05_p6
05_p6

简单的求平均,显然,可以把图片模糊化。

高斯滤波器

同理,这就叫高斯模糊。

05_p7
05_p7

锐化用的滤波器的基础设计

05_p8
05_p8

池化

降低数据复杂度的运算,
比如“最大池化‘,选取特定范围输入中的最大值,输出到下一层。
(感觉其实就是把线性运算改成其他功能的函数的卷积)

CNN基本框架

输入层——卷积层——激活层——池化层——全连接层
(卷积、激活、池化即类似隐层,可以有多层,
全连接层即最后的结果经过一次全连接的运算后输出)

输入层

没啥好说的,略。

卷积层

计算机如何知道图上有什么物体——检测图像的边缘

05_p9
05_p9
05_p10
05_p10

灰度图像上的单核卷积

05_p5
05_p5

感受野:一个神经元连接到的输入区域。

RGB图像上的单核卷积

05_p11
05_p11

输入有三层,那么需要的卷积核深度为三。
卷积核深度=输入数据的层数(channel)

多个卷积核

05_p12
05_p12

一个卷积核,提取一种模式,对应一层输出,
多个卷积核就有多层输出。

stride

卷积核一次滑动的步长。

padding

一般选项有两种padding=valid/same(不补零/补零)
即在输入的周围补不补零。

05_p13
05_p13

显然,stride和padding都会影响输出层的大小。

05_p13:
\(W_1×H_1×D_1\)

超参数
层数,\(K\)
维数,\(F\)(一般每层都是\(F\times F\)方阵)
步长stride,\(S\)
补零padding,\(P\)(补充的维数)

输出
\(W_2×H_2×D_2\)
\(W_2=\frac{W_1+2P-F}{S}+1\)
\(H_2=\frac{H_1+2P-F}{S}+1\)
\(D_2=K\)

激活层

往模型中加入非线性元素,能表示更大范围的函数。
一般不在同一个网络中使用多种激活函数。

05_p14
05_p14

池化层

在width和height的维度上进行下采样,不改变depth的维度。

池化过程举例

05_p15
05_p15

上面即使用\(2\times2\),stride=2的卷积核进行池化,
相当于缩小为50%。
该卷积核是人为定义的,不是通过学习获得,不算做参数。

这样能成倍减少计算量。

不同的池化方法

最大池化、平均池化……

05_p16
05_p16
05_p17
05_p17

全连接层

将多层的特征映射抻直成一个一维的向量。
采用全连接的方式将向量连接向输出层。