首页 理论教育探析卷积神经网络的应用

探析卷积神经网络的应用

【摘要】:卷积神经网络是对BP神经网络的改进,与BP一样,都采用了前向传播计算输出值,反向传播调整权重和偏置,CNN与普通神经网络的区别在于,CNN包含了一个由卷积层和子采样层(池化层)构成的特征抽取器。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。图7-5卷积神经网络一种典型的CNN网络,主要由输入层、卷积层、LERU层、池化层、全连接层以及输出层共六部分组成,如图7-5所示。

卷积神经网络(convolutional neural networks,CNN)是对BP神经网络的改进,与BP一样,都采用了前向传播计算输出值,反向传播调整权重和偏置,CNN与普通神经网络的区别在于,CNN包含了一个由卷积层和子采样层(池化层)构成的特征抽取器。CNN相邻层之间的神经单元也并不是全连接,而是部分连接,某个神经单元的感知区域来自于上层的部分神经单元,而不是像BP那样与所有的上层神经单元相连接。

在CNN的一个卷积层中,通常包含若干个特征平面(feature map),每个特征平面由一些矩形排列的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。

共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值子采样(max pooling)两种形式。子采样(池化)可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数,提高了模型的泛化能力。

图7-5 卷积神经网络

一种典型的CNN网络,主要由输入层、卷积层、LERU层、池化层、全连接层以及输出层共六部分组成,如图7-5所示。卷积层是CNN的核心结构,通过局部感知和参数共享两个原理,实现了对高维输入数据降维处理,并且能够自动提取原始数据的优秀特征。激活层的作用与传统DNN网络的激活层一样,把上一层的线性输出,通过非线性的激活函数进行处理,既可以采用传统的sigmoid激活函数,也可以采用单侧抑制的ReLU激活函数。在深度学习领域,ReLU的单侧抑制激活函数普遍比传统的sigmoid函数效果更好。池化层也称为子采样层或下采样层,是CNN网络的另一个核心结构层。通过对输入数据的各个维度进行空间的采样,可以进一步降低数据规模,并且对输入数据具有线性转换的不变形,增强网络的泛化能力。全连接层等价于传统的多层感知机MLP,经过前面的卷积层和池化层的反复处理后,一方面,输入数据的维度已经下降至可以直接采用前馈网络来处理;另一方面,全连接层的输入特征是经过反复提炼的结果,因此比直接用原始数据作为输入所取得的效果更好。

局部感受野是卷积核窗口在上一层图像上的映射,为了降低参数的维度以及防止过拟合出现,CNN中神经元并不是对上一层图像的全局进行感知,而是每个神经元只对卷积核窗口大小的局部区域进行感知,然后在更高层将局部的信息综合起来得到全局的信息。

CNN中每一层由多个特征图(map)组成,每个map由多个神经单元组成,同一个map所有的神经单元共用一个卷积核(即权重),卷积核跟上一层图像卷积往往得到图像的一个特征,权值共享策略减少了需要训练的参数,使得训练出来的模型的泛化能力更强。权值共享也实现了特征与位置的无关性,图像的一部分的统计特性与其他部分是一样的。意味着在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,都能使用同样的学习特征。每个卷积都代表了一种特征提取方式,就像一个筛子,将图像中符合条件(激活值越大越符合条件)的部分筛选出来。局部感受野其实是一个滤波的过程,也是一个对图像降维的过程。

一个卷积核代表了对图像上一个隐含特征的提取,为了充分理解和表达图像,需要使用多个卷积核,比如32个卷积核,可以提取并学习到32种图像的隐含特征。每个卷积核跟图像卷积后,生成另一幅图像,即特征图(feature map)。对输入图像的第一个卷积层,包含N个特征图像,不同特征图像是使用不同卷积核与原图像卷积的结果,每个卷积核代表了一种特征提取方式。

池化是对特征向量的下采样,进一步降低了特征的维度,减少了计算量,并且使训练不容易出现过拟合现象。池化也是一种滤波。

CNN的训练遵循“前向传输,逐层波浪式的传递输出值;逆向反馈,反向逐层调整权重和偏置”的规则,所不同的是,传统神经网络训练的目的是为了获取神经元间传递的权重和偏置,CNN训练的目的是为了获取神经元间卷积核的形式和偏置,即CNN中卷积层的权重更新过程本质是卷积核的更新过程。