卷积神经网络综合指导

 

人工智能还在见证着计算机和人类能力之间差距不断缩小的巨大发展。研究者和狂热者一样,在各种各样不同领域工作去创造惊人的事情,其中的一个领域就是计算机视觉。

这个领域的目标就是让机器人像人类一样观察世界,用相似的世界感知世界,甚至使用知识处理庞大的任务,比如图像和视频识别,图像分析和分类,媒体娱乐,推荐系统,自然语言处理等。随着时间的推移,使用深度学习的计算机视觉已经得到发展和完善,主要归功于一个特定的算法——卷积神经网络。

 

1 介绍

卷积神经网络(ConvNet/CNN)是一个深度学习算法,它可以接收输入图片,给图片中的不同物体分配重要性(可学习的权重和偏置)并且能够和其他物体区分开。卷积神经网络和其他分类算法相比,它的预处理要求更低。传统算法的滤波器需要手工设计,但是卷积神经网络只要经过足够的训练就能学习这些分类器和特征。

 

2 CNN为什么优于前馈神经网络?

一幅图片只不过是一个像素值矩阵,那我们为什么不将其展开(将3*3的像素矩阵转成9*1的矩阵),然后将其输入到多层感知机中进行图像分类呢?

在一些非常基本的二值图像中,这种方法的精度可以达到平均精度,但是对于处理一些复杂的图片(比如RGB图片),这个方法的精度几乎为零。通过使用相关的过滤器,卷积神经网路可以成功的捕捉到一幅图片中时间和空间的的相关性。这种网络架构可以很好的拟合图片数据集,这归功于它可以减少参数的数量和重复使用的权重。换句话说,这个网络通过训练可以更好的理解图片的复杂性。

在图片中,我们有一个RGB图片,它可以分成红色,绿色和蓝色通道。试想一下,如果一次遍历每个通道的每个像素,那计算量会多么的庞大。卷积神经网络的任务就是将图片变成一个容易处理的格式,它并不会丢失对预测其重要作用的图片特征。这对我们在设计网络架构的时候至关重要,它不仅要能够很好的学习特征,而且还能扩展到庞大的数据集上。

 

3 卷积层

输入图片的维度是 = 5(高度)*5(宽度)*1(通道数)。在上面的论述中,绿色部分表示我们的5*5*1的输入图片,I 。在卷积层的第一个部分执行卷积部分的元素称之为Kernel/Filter, K, 也就是图片中黄色的部分。K表示的是一个3*3*1的矩阵。

Kernel移动了9次,因为Stride Length = 1,每一次算都会在K与图片中kernel悬浮的部分P进行矩阵乘法运算。

filter使用特定的步长从左向右进行移动,直到解析到图片的右边。然后继续移动,使用相同的步长向下跳到最左边的,然后继续移动直到解析了整幅图片。

在这个案例中,图片有多个通道,Kernel也和输入图片有着相同的通道。在Kn和In之间([K1, I1];[K2, I2];[K3, I3])进行矩阵乘法,并且所有的结果都会和偏置加在一起,然后返回一个一维通道的卷积特征输出。

卷积操作的目标是从输入图片中提取高维特征。卷积神经网络不限于只有一个卷积层。通常来说,第一个卷积层用来捕捉低维特征,比如边缘,颜色和梯度方法等等。随着网络的增加,网络架构也会提取高维特征,给我们提供一个可能很好理解数据集图片的网络。

卷积操作有两种不同类型的效果——一种卷积特征和输入相比尺寸变小,另一种是尺寸变化或者不变。前者使用了Valid Padding,后者使用了Same Padding。当我们使用3*3*1的kenel对5*5*1的输入图片增广成6*6*1的图片的时候,我们发现卷积矩阵的输出尺寸是5*5*1。因此它的名字就是——Same Padding

另一方面,如果我们对其使用相同的操作,但是不使用padding,我们会得到和kernel相同维度的特征图,我们称之为Valid Padding

 

4 池化层

池化层和卷积层相似都是用来减少卷积特征图的空间尺寸,它通过减小图片尺寸来减少处理数据的计算量。此外,该算法还可用于提取旋转的、位置不变的优势特征,从而保持模型的有效训练过程。有两种类型的池化:最大池化平均池化。最大池化返回图片区域中经过kernel之后的最大值。另一方面,平均池化返回平均值。

最大池化也用来作为噪声抑制。它可以过滤噪声,并且抑制噪声和减少图片尺寸。另一方面,平均池化只是将减少图片尺寸作为噪声抑制的方式。因此,我们可以认为最大池化比平均池化要好一些

卷积层和池化层共同构成卷积神经网络的第i个网络层。这些网络层的个数由网络的复杂度决定,为了捕捉到低维甚至高维的特征,网络层的个数可能会增加,但是这会增加整个网络的计算量。

经过上述的处理,我们可以让模型更好的理解图片的特征。接着,我们打算将最后的输出进行展开,然后将其输入到分类神经网络中进行预测。

 

5 分类 -- 全连接层

增加一个全连接层通常是一个可以学习高维特征的非线性组合的性价比很高的方式,其中高维特征就是卷积层的输出。全连接层正在学习这个空间中可能的非线性函数。

现在,我们已经量输入图片转成适合高维感知机的数据格式,我们应该将整个图片展开成一个列向量。这个展开的输出输入到前馈神经网络中,并且使用在训练的每个iteration中进行反向传播。经过几个epoch之后,这个模型可以区分一个图片中主要的特征和特定的地位特征,然后使用softmax分类技巧进行分类。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章