卷积神经网络是一种多层的神经网络,主要运用在计算机视觉领域,比如图像分类、人脸识别、物体检测、图像分割、视频分析等。
输入的图片具有长、宽、通道数这三个维度,所以往往把卷积神经网络化成立体图。之所以称为卷积网络,是因为这个网络中含有卷积层,进行了卷积操作,卷积是一种数学运算。
CNN主要由数据输入层、卷积层、激活函数层、池化层和全连接层组成,其中每层由单独的神经元组成。
卷积操作就是用一个卷积核与图片上对应的数字相乘再相加的结果。
图片经过不同的卷积操作之后产生的效果是不同的。
卷积操作的一个重要作用:不同的卷积可以提取到图片不同的特征(比如轮廓特征,表面特征,甚至更细微的特征)
激活函数最常用的是线性整流单元(ReLu(x)) ReLU(x)=Max(x,0) 就是把特征图片上的所有负数都变为0,正数不变。
池化层:pooling淤积,汇聚。就是抓住主要矛盾,忽略次要因素。池化层把局部多个神经元的输出组合成下层单个神经元,来减少数据维度。
用数学语言来说就是在一个小矩阵中,找最大值或者是平均值,这就是所谓的最大池化或是平均池化。
卷积层后面跟着一个池化层目的是进一步放大主要特征,忽略掉几个像素的偏差。其意义不光能够降低数据维度,减少训练参数,同时还能够避免所谓的过拟合。
全连接层:它把相邻两层的神经元全部交叉相连,与传统的神经网络是一样的,其作用好比从全局出发做最终结论。
工作过程:向CNN输入一张图片,经过多次的卷积层、激活函数层、池化层抽取到图片的特征,再把特征图片送入最后的全连接层进行最终分类。
输入层 卷积层(先局部) 激活函数层 池化层 全连接层(再整体) 输出层
卷积层+池化层:多层集连,对输入数据进行多尺度特征提取和深度学习。