CNN卷积神经网络(Convolutional Neural Network)
广泛运用于图像识别领域
CNN结构可以分为3层
- 卷积层:主要作用是提取特征
- 池化层:主要作用是下采样(downsampling),却不会破坏识别结果
- 全连接层:主要作用是分类
举例:
如何判断图片上是一只鸟
通过卷积层来查找特征,然后通过全连接层来做分类判断这是一只鸟,而池化层则是为了让训练的参数更少,在保持采样不变的情况下,忽略掉一些信息。
1. 卷积层
那么卷基层是如何提取特征的呢?我们都知道卷积就是2个函数的叠加,应用在图像上,则可以理解为拿一个滤镜放在图像上,找出图像中的某些特征,而我们需要找到很多特征才能区分某一物体,所以我们会有很多滤镜,通过这些滤镜的组合,我们可以得出很多的特征。
用RGB的方式来表示图片
比如一张长度为1080,宽度为1024的图片,总共包含了1080 * 1024的像素,如果为RGB图片,因为RGB图片由3种颜色叠加而成,包含3个通道,因此我们需要用1080 * 1024 * 3的数组来表示RGB图片。
我们先从简单的情况开始考虑,假设我们有一组灰度图片,这样图片就可以表示为一个矩阵,假设我们的图片大小为5 * 5,那么我们就可以得到一个5 * 5的矩阵,接下来,我们用一组过滤器(Filter)来对图片过滤,过滤的过程就是求卷积的过程。假设我们的Filter的大小为3 * 3,我们从图片的左上角开始移动Filter,并且把每次矩阵相乘的结果记录