深度学习——卷积神经网络认知
对CNN的认知
1.def
卷积神经网络(CNN)是一种特殊的对图像识别的方式,属于带有前向反馈的网络,可用来合理有效的减少神经网络的参数个数。其特点是经过多次特征提取,关联型、序列型或结构化等类型的特征被提取,主要来识别二维图形。
2.工作原理
(1)输入层:代表一张图的像素矩阵;如32×32×3。
特征提取:
(2)卷积层:深入分析得到抽象程度更高的特征;经过卷积层的节点矩阵深度会增加。
(3)池化层:不改变三维结构,缩小矩阵的大小;高分辨率到低分辨率,缩小全连接层节点数,从而减少参数。
分类任务:
(4)全连接层:一般1到2层分类信息。
(5)softmax层:用于分类问题,得到不同种类的概率分布情况。
3.CNN的结构
(1)三维结构的网络容量(包含:长、宽、高)。
包含三维空间中神经元的卷积神经网络,作为可视化的一个层。卷积网络的每一层都将三维输入转换为三维输出值。
分别代表像素和色彩通道
(2)组成部分
- 卷积层:对输入数据应用若干过滤器,一个输入参数被用来做了很多类型的特征提取。
note:①过滤器尺寸只需制定两个维度,另一个要人工设置的是深度。
②对图像应用一个过滤器,将产生一个对应的特征图谱(FM)。
参数计算: 【1】①当使用全0填充 out = [in / stride]
②不使用全0填充 out = [(in - filter +1 ) / stride ]
【2】 参数 (尺寸×输入深度+1)× 深度
- 子采样层(池化层):缩减输入数据的规模,也可以防止过拟合。
note:最后一个池化层通常连接到一个或多个全连接层,全连接层的输出就是最终的输出。
(2)基本流程
1°输入图像,通过和若干过滤器和可加偏置进行卷积,产生相应个FM;
2°FM每组的四个像素进行求和、加权值和加偏置,通过sigmod函数得到相应特征映射图;
3°继续卷积直到最后一个子采样层;
4°将这些像素处理规则化,并连接成一个向量输入到传统的神经网络,得到输出。
4.参数减少和权值共享
通过感受区域和权值共享减少了神经网络需要的参数的个数。
(1)子采样层分组特征提取
原始数据分组特征提取,可以减少连接数目,即减少神经网络需要训练的权值参数的个数。
参数计算:若1000×1000的图像,隐层神经元个数1000×1000,权值参数个数为10^12。
局部感受域10×10,权值参数个数1000×1000×10×10=10^8。
(2)权值共享
应用小尺寸卷积核对应的参数共享在大尺寸图像上进行卷积,从而在大尺寸图像任意位置获得一个此特征的**值。
参数计算:若10×10卷积核则100个权值参数,提取一种特征;共100个卷积核
权值参数个数:100种卷积核×每种卷积核共享100个参数=10000
note:此方法隐层参数个数和隐层神经元个数无关,只和卷积核的大小、种类有关。