卷积神经网络层(Convolutional Neural Network,CNN)是一种特殊的深层前馈网络,一般包括数据输入层、卷积层、激活层、下采样层和全连接层。
卷积层是卷积神经网络中重要的单元,它的构成是一系列对数据进行滤波的卷积核,其本质就是图像的局部区域与卷积核的权值加权求和的线性叠加过程。图像I作为输入,使用二维的卷积核K进行卷积,则卷积过程可表示为:
其中,I(i,j)为图像在(i,j)位置的值,S(i,j)为卷积运算后得到的特征图。
激活卷积操作是线性的,只能进行线性的映射,表达能力有限。因此针对非线性映射问题的处理是,需要引入非线性激活函数。对于处理不同的非线性问题,引入的激活函数也不同,常用的主要有sigmoid、tanh、relu等。
Sigmoid函数表达式为:
Tanh函数表达式为:
Relu函数的表达式为:
下采样层又叫池化层,一般会放在几个卷积层之后,来减小特征图像的大小。池化函数使用某一位置的相邻输出的总体统计特征来代替网络在该位置的输出。一般池化层有三个功能:一是降低特征维度,池化操作相当于又进行了一次特征提取过程,可以去除冗余信息,减小下一层的数据处理量。二是为了防止过拟合,池化操作获得更为抽象的信息,提高泛化性。三是保持特征不变性,池化操作保留最重要的特征。
全连接层通常放在卷积神经网络的尾部,层与层之间所有的神经元都有权值连接。目的是将网络中学习到的特征全部映射到样本的标记空间,从而进行类别判断。Softmax函数通常用在神经网络的最后一层,作为分类器的输出,softmax函数输出的每个值的范围都在(0,1)之间。
有一些经典高效的CNN模型,例如:VGGNet、ResNet、AlexNet等,都已广泛应用于图像识别领域。