1、卷积神经网络 CNN卷积神经网络(ConvolutionalNeuralNetwork,简称CNN)是神经网络近些年来最重要的研究成果之一,也是深度学习理论和方法中的重要组成部分。卷积层(Convolutional Layer)卷积神经网络最主要的特征是在多层神经网络中引入了一种全新的隐藏层卷积层(ConvolutionalLayer)。卷积层与全连接层不同,每层中的各个节点与上层的各个节点之间并非是全连接关系,而是仅与一部分节点有连接。卷积层的强项在于能够实现“特征提取”卷积层中的每一个节点,能够体现出上一层中多个节点的特征,这就是深度学习理论中最主要的概念“特征提取”和“特征抽象”的由来。
2、特征提取是实现高质量的图像识别的重要基础,被广泛应用于指纹识别、人脸识别、智能监控等应用场景特征提取适合空间位置上存在一定关联的数据数字图片在计算机中的表达形式以黑白图像为例点阵化数字化0,0,1,1,0,0,0,0,1,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0 0,1,1,1,1,0 表示为一个66的二维数组数值只有0和1灰度图像的表达灰度图像0,0,15,26,0,0,0,0,15,26,0,0,0,36,
3、0,0,47,0,0,36,0,0,47,0,0,0,0,0,121,0,0,0,0,0,121,0,0,0,0,77,0,0,0,0,0,77,0,0,0,0,65,0,0,0,0,0,65,0,0,0,0,91,25,121,88,0 0,91,25,121,88,0 数字化具体数字仅为示例与纯黑白图像相比,每个点的数值代表色彩的深度,范围可以为0-255彩色图像的表达211,10,5,0.7,v,v,v,v,v,211,10,5,0.7,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,
4、v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v,v v,v,v,v,v,v 数字化彩色图像中,每个点的使用一个向量(一维数组)来表示的,每个数值代表一个通道常用的RGBA体系,就是由红、绿、蓝和透明度4个通道组成的例子中第一个点就是由代表红、绿、蓝和透明度的数值组成的向量由于空间有限,后面的点都用“v”代替,也都是和第一个点类似的向量灰度图像和纯黑白图像相当于只有一个通道的彩色图像彩色图像卷积的计算过程&第1个点的计算方法卷积核中的数值,就是CNN网络需要调节的可变参数输入层中与卷积核同样大小的子矩阵(虚线部分)与卷积核做点乘后求和的运算得到输出矩阵中的第一个点
5、卷积计算的剩余过程&第2个点的计算方法虚线框右移后,继续如法炮制做第2个点的运算到达最右侧后,虚线框下移一行(1个点)并从最左端继续如此直至做完所有行列补充空白点进行卷积补充0点(空白点)进行卷积不补充0点(空白点)进行卷积,结果矩阵会少一行一列多卷积核的情况输出矩阵也会变“厚“卷积的作用:提取特征输出矩阵中的数值5,代表了“2”字起笔转折的笔画特征卷积过程图像滤波对原矩阵,按照顺序将各区域元素与W矩阵相乘,W矩阵为:卷积滤波计算(3)池化最大池化过程池化(Pooling):称为欠采样或下采样,主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。主要有:最大池化(MaxPooling),平均池化(AveragePooling)。多级特征提取卷积层1卷积层2可以通过增加卷积层来做更高级的特征提取典型的卷积神经网络结构一般都是先由多个卷积层进行特征提取,而后增加全连接层来做最后的神经元计算卷积模型项目实战卷积神经网络模型训练卷积神经网络模型训练代码路径:/第5章/2/train_cnn.pyKeras模型保存与加载模型保存与加载代码路径:/第5章/2/train_cnn_model.pyKeras使用模型预测使用模型预测代码路径:/第5章/2/predict_one_img.py参考网址卷积神经网络(CNN)综述https:/