卷积神经网络(CNN)不同于平面的全连接神经网络,是局部连接,立体化的。其保留了图像本身的尺寸和厚度,因此适用于图像处理
卷积神经网络有以下特定 1 在每一轮卷积中通过从局部到整体的过程提取特征 2 参数共享,同一卷积核可以识别图像里相似的特征 3 通过池化可以缩小图片,但不会影响识别效果
卷积神经网络识别过程: 1 输入原图 2 卷积提取特征 3 池化压缩图片 4 重复卷积和池化的步骤,不断提取特征形成特征图(feature map) 5 展开图片,放入传统全连接网络进行识别
在识别图片中,全连接网络会把图片拉平成一维,这么做会丢失图像尺寸信息,并且需要大量的输入神经元。卷积神经网络保留图片原有尺寸和厚度
卷积过程: 卷积神经网络的神经元为卷积核。卷积核在图中平移,和原图中覆盖的区域进行点积,得到的结果形成特征图
卷积核矩阵具体值相当于神经网络的权重,要通过训练调试 每一个卷积核可以提取的特征由卷积核的参数绝对,如果卷积核参数和图象某一处特征相似,提取的特征图会覆盖更多特征。在卷积过程我们一般使用多个参数不同的卷积核,可能其中一些提取横线,一些提取竖线,一些提取弯角,最后把每一个的特征图组合起来
卷积厚度: 厚度(depth)指的是每一个像素的通道数,如灰度图厚度为1,RGB彩图有三个颜色通道,厚度为3。
卷积核的厚度和图象厚度一致,对于厚度为3的RGB图片,卷积核厚度也为3。最后得到的特征图厚度永远为1
当用多个卷积核提取特征后,得到的每一个特征图汇总起来即为下一轮卷积的输入。此时图行列数为特征图行列数,图的厚度为特征图个数
步幅(stride):卷积过程卷积核滑动步长 步幅增加会增加重叠,可以提取更多特征,但是会降低时间效率 步幅减少会减少重叠,减少特征图大小,但是会漏掉特征
填充(paddling):在图片周围补0,增加特征图大小
特征图尺寸 = (width - kernel + 2 * paddle) / stride + 1
池化:类似于有损压缩,对特征图进行缩小,可以防止过拟合,并减少计算量 如下图max-pooling提取最大值,mean-pooling提取平均值 lu 激活:在卷积完之后也要把特征图输入激活函数进行激活,激活函数一般选用ReLU 完整流程:
|