我们先来总结一下人类识别物体的方法:
- 定位。这一步对于人眼来说是一个很自然的过程,因为当你去识别图标的时候,你就已经把你的目光放在了图标上。虽然这个行为不是很难,但是很重要。
- 看线条。有没有文字,形状是方的圆的,还是长的短的等等。
- 看细节。纹理、颜色、方向等。
卷积神经网络就是对上述过程的程序实现。
7.1卷积
卷积在卷积神经网络中的主要作用是提取图片的特征,同时保留原来图片中各个像素的相对位置(空间)关系。
举个例子,假设我们有 1 个 5x5 的矩阵 A 和 1 个 3x3 的矩阵 B,我们将这两个矩阵进行卷积操作(这有点类似点乘计算),操作过程如下图:
在这个过程中总共出现了 3 种矩阵:
- 原始图像的矩阵(A):这个实际上就是我们眼睛看到的世界。
- 3x3 矩阵(B):我们称为滤波器(Filter)、核(Kernel),或是特征提取器、卷积核。通过对滤波器矩阵设置不同的值,可以实现如边缘检测、锐化以及模糊操作等不同的操作。在实际的模型设计中,我们会使用不同尺寸的滤波器来实现不同的效果。通常我们只需要设定滤波器的尺寸和数量,卷积神经网络就可以自己通过梯度更新或反向传播得到内部的数值。使用越多的滤波器,可以提取到越多的图像特征,神经网络也有更好的性能。
- 卷积之后得到的