《CNN笔记总结系列之一》简要介绍及输入层
二、卷积神经网络简要介绍
卷积神经网络(CNN)是一种专门用来处理具有类似网格结构的数据的神经网络,例如图像数据可以看作二维的像素网络,是深度学习的代表算法之一。卷积网络是指那些至少在网络的一层中使用卷积运算来代替一般的矩阵乘法运算的神经网络。
与神经网络关系?
在我们所学习的神经网络中,它的结构如下所示:
其实卷积神经网络依旧是层级网络,只是层的功能和形式做了变化,将传统的矩阵乘法运算变为卷积运算,是传统神经网络的改进,从算力和准确率方面大幅提升。
如下图所示,左边为传统神经网络中每个像素的全连接,而右边为每行隔两个像素作为局部连接,因此在数量上,少了许多权值参数参量。卷积神经网络就是基于此,将全连接变为局部连接,由于额外的神经交互作用,也可以获得全局关系。
图片来源:http://www.elecfans.com/emb/fpga/20171116580425_2.html
3.1卷积神经网络的层级结构
- 数据输入层 /Input layer
- 卷积计算层/CONV layer
- **层/ReLU layer
- 池化层/Pooling layer
- 全连接层/FC layer
之后,本系列文从卷积神经网络的以上五个层面进行总结归纳。
三、数据输入层
与传统的神经网络/机器学习一样,对于图像信息,首先要进行预处理操作,而常见的输入层中对图像预处理方式有以下几个方面。
首先对一副RGB图像进行分解,将其分为红(R)绿(G)蓝(B)三个通道,其中每个值介于0-255之间,之后再进行如下操作:
- 去均值:即考虑将输入图像信息的各个维度都中心化为0,把样本的中心拉回到坐标系原点。
- 归一化:将幅度信息归一化到同样的范围,如下所示,即减少各维度数据取值范围的差异带来的干扰,一般在[-1,1]之间。
- PCA降维/白化:通过PCA进行降维操作,消除特征之间的相关性,白化是对数据各个特征轴上的幅度归一化。
Reference
[1]https://www.jianshu.com/p/1ea2949c0056
[2]https://blog.csdn.net/fu6543210/article/details/82817916
[3]https://baike.baidu.com/item/%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/17541100?fr=aladdin
[4]http://www.elecfans.com/emb/fpga/20171116580425_2.html
[5]http://www.woshipm.com/ai/3884563.html