卷积神经网络是一种特殊的多层感知器或前馈神经网络。标准的卷积神经网络一般由输入层(input layer)、交替的卷积层(convolutional layer)和池化层(pooling layer)、全连接层(full connection layer)构成,如图8.7.1所示。以图像处理为例,数据输入层主要是对原始图像数据进行预处理,其中包括去均值,把输入数据的各个维度都中心化为0;归一化,减少各维度数据因取值范围不同而带来的干扰。
图8.7.1 标准卷积神经网络
与普通的前馈神经网络的不同之处在于,卷积神经网络包含普通前馈神经网络没有的特征处理器,它是由卷积层和池化层(也称为降采样层)构成的。池化层可以被看作特殊的隐含层。卷积层的权重也称为卷积核。它一般是需要训练的,即通过误差来修改输入权重。但对有的实例,也可以是固定的,比如直接采用Gabor滤波器。卷积层的神经元一般按矩阵形式排列,为了减少计算工作量,往往把这个矩阵分割成若干小方阵,称为特征平面(feature map),同一特征平面的神经元共享权重(卷积核)。共享权重大大减少了网络各层之间的连接,降低了过拟合的风险。
一般的卷积神经网络包含多个卷积层,一个卷积层可以有多个不同的卷积核。通过将多个不同的卷积核进行处理提取出图像的局部特征,每个卷积核映射出一个新的特征图,再将卷积输出结果经过非线性激活函数的处理后输出。具体的计算操作将在8.7.3节介绍。
接下来,对激活函数处理的结果进行降采样,也称为池化(pooling),通常有均值池化(mean pooling)和最大池化(max pooling)两种形式。
池化用于压缩网络参数和数据大小,降低过拟合。如果输入为一幅图像,那么池化层的主要作用就是压缩图像的同时保证该图像特征的不变性。例如,一辆车的图像被缩小了一倍后仍能认出这是一辆车,这说明处理后的图像仍包含着原始图片里最重要的特征。图像压缩时去掉的只是一些冗余信息,留下的信息则是具有尺度不变性的特征,是最能表达图像的特征。池化操作的作用就是把冗余信息去掉,保留重要的信息,这样可以在一定程度上防止过拟合,方便网络的优化。(www.xing528.com)
全连接层,即两层之间所有的神经元权重连接,通常全连接层在卷积神经网络的尾部,与传统的神经网络神经元的连接方式相同。
卷积神经网络的训练算法也同一般的机器学习算法类似,先定义损失函数(loss function)来计算和实际结果的差值,找到最小化损失函数的参数值,利用随机梯度下降法,进行权重调整。
训练卷积神经网络时,网络的参数往往需要进行fine-tuning,也就是使用已用于其他目标,预训练模型的权重或者部分权重,作为初始值开始训练,这样可以很快收敛到一个较理想的状态。
卷积神经网络通过局部感受野(local reception fields)、权重共享(shared weights)、下采样(sub-sampling)实现位移、缩放和形变的不变性,主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。
权重共享大大降低了网络复杂性,特别是多维输入向量的图像直接输入网络这一特点可避免特征提取和分类过程中数据重建的复杂过程。同一特征映射面上的神经元权重相同,因此网络可以并行学习,这是卷积网络相对于全连接神经网络的一大优势。
关于卷积与权重共享、感受野与池化的具体操作将在8.7.3节介绍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。