深层神经网络的重要性在于它为复杂的非线性模型和知识分层处理的系统方法打开了大门。
Architecture of ConvNet
ConvNet不仅仅是一个具有许多隐藏层的深层神经网络。它是一个模拟大脑视觉皮层如何处理和识别图像的深层网络。
基本上,图像识别就是分类。
因此,ConvNet的输出层通常采用多类分类神经网络。然而,无论采用何种识别方法,直接使用原始图像进行图像识别的结果都很差.
第4章中的示例使用了原始图像,它们工作得很好,因为它们是简单的黑白图像。否则,识别过程将以非常糟糕的结果结束。为此,人们开发了各种图像特征提取技术。在ConvNet之前,特征提取程序是由特定领域的专家设计的。因此,它需要大量的成本和时间,同时产生了不一致的性能水平。这些特征抽取器独立于机器学习。 ConvNet在培训过程中包括了特征提取程序,而不是手动设计。ConvNet的特征抽取器由特殊类型的神经网络组成,其权值通过训练过程确定。事实上,ConvNet将手动特征提取设计转变为自动化过程是其主要特点和优势。图6-2描述了ConvNet的培训概念。 输入图像进入特征提取网络。提取的特征信号进入分类神经网络。然后,分类神经网络根据图像的特征进行操作并生成输出。
特征提取神经网络由卷积层和汇聚层对组成。
顾名思义,卷积层使用卷积运算转换图像。它可以被认为是数字滤波器的集合。
池层将相邻像素组合成单个像素。因此,池层降低了图像的尺寸。因为ConvNet的首要关注点是图像;卷积层和池层的操作在概念上是在二维平面上进行的。这是ConvNet和其他神经网络的区别之一。
总之,ConvNet由特征提取网络和分类网络的串行连接组成。通过训练过程,确定两层的权重。特征提取层有成堆的卷积层和池层。卷积层通过卷积运算对图像进行转换,池化层降低图像的维数。分类网络通常采用普通的多类分类神经网络。
Convolution Layer
卷积层生成称为特征映射的新图像。特征映射突出了原始图像的独特特征。与其他神经网络层相比,卷积层的工作方式非常不同**。该层不使用连接权重和加权和**。相反,它包含转换图像的过滤器。我们将这些滤波器称为卷积滤波器。通过卷积滤波器输入图像的过程产生特征映射。图6-4显示了卷积层的过程,其中带圆圈的*标记表示卷积操作,φ标记表示激活函数。这些运算符之间的方形灰度图标表示卷积过滤器。卷积层生成与卷积滤波器相同数量的特征映射。因此,例如,如果卷积层包含四个过滤器,它将生成四个特征映射。 卷积层的滤波器是二维矩阵。通过训练过程确定滤波器矩阵的值。因此,在整个培训过程中,这些值都会不断得到培训。这方面类似于普通神经网络连接权值的更新过程。
卷积是一个相当难在文本中解释的运算,因为它位于二维平面上。
此特征映射元素中的值取决于图像矩阵是否匹配卷积滤波器。
总之,卷积层对输入图像操作卷积滤波器并生成特征映射。在卷积层中提取的特征由经过训练的卷积滤波器确定。因此,卷积层提取的特征取决于所使用的卷积滤波器。卷积滤波器创建的特征映射在层产生输出之前通过激活函数进行处理。卷积层的激活函数与普通神经网络的激活函数相同。
在最近的大多数应用中都使用了ReLU函数,也经常使用Sigmoid函数和tanh函数。移动平均滤波器是一种特殊类型的卷积滤波器,在数字信号处理领域中得到广泛应用,仅供参考。
Pooling Layer
池层减小了图像的大小,因为它将图像某个区域的相邻像素组合成单个代表值。
为了在池层中进行操作,我们应该确定如何从图像中选择池像素以及如何设置代表值。相邻像素通常从方阵中选择,并且组合的像素数量因问题而异。代表值通常设置为所选像素的平均值或最大值。
实际上,在数学意义上,池化过程是一种卷积运算。与卷积层的区别在于卷积滤波器是静止的,卷积区域不重叠。下一节中提供的示例将对此进行详细说明。池层在一定程度上补偿了偏心和倾斜的物体。例如,池层可以提高对猫的识别,猫可能在输入图像中偏离中心。此外,由于池处理减小了图像大小,因此非常有利于减轻计算负载和防止过度拟合。
池层和隐藏层之间的输入节点(W5块左侧的方形节点)是二维图像到向量的变换。由于该层不涉及任何操作,因此这些节点表示为正方形。使用反向传播算法训练网络的函数MnistConv获取神经网络的权重和训练数据,并返回训练后的权重。
其中W1、W5和Wo分别是卷积滤波器矩阵、合用隐藏层权重矩阵和隐藏输出层权重矩阵。
值得注意的是,第三行第四列上的图像包含一些明亮的像素。ReLU操作后,此图像将完全变暗。实际上,这不是一个好迹象,因为它无法捕获2的输入图像的任何特征。需要通过更多的数据和更多的培训来改进。但是,由于要素图的其他部分工作正常,分类仍然有效。
图6-24显示了第五个结果,它提供了ReLU层产生的平均池化过程之后的图像。每个图像在10像素空间中继承前一个图像的形状,该空间是前一个大小的一半。这显示了池层可以减少多少所需资源。
图6-24是特征提取神经网络的最终结果。这些图像被转换成一维向量并存储在分类神经网络中。这就完成了示例代码的解释。尽管在该示例中仅使用了一对卷积和池层;通常在大多数实际应用中都会用到它们。包含网络主要特征的小图像越多,识别性能越好。
Summary
为了提高机器学习的图像识别性能,需要提供突出特征的特征映射,而不是原始图像。传统上,特征抽取器是手工设计的。ConvNet包含一种用于特征提取的特殊类型的神经网络,其权重通过训练过程确定。
ConvNet的特征抽取器由卷积层和池层的交替堆栈组成。由于ConvNet处理二维图像,它的大多数操作都是在二维概念平面上进行的。
使用卷积滤波器,卷积层生成突出输入图像特征的图像。该层的输出图像数与网络包含的卷积滤波器数相同。卷积滤波器实际上只是一个二维矩阵。
池层减小了图像大小。它绑定相邻像素并用代表值替换它们。代表值是像素的最大值或平均值。
|