定义
卷积神经网络(convolutional neural network)简称CNN,主要用于处理图像数据,但仍然可以处理其他形式的数据,像语音数据等。其最擅长的就是图片的处理,它具有人工神经元,能够在一定范围内和其他单元相应,从而能很好地处理图像,尤其是大型图像。
对于卷积神经网络,典型的应用就是分类,给它一个输入的图像,它就会给出一个分类的结果,换言之如果你输入一张猫的图像,它的输出标签就会是“猫”,如果你输入一张狗的图像,它的输出标签就会是“狗”。
CNN做的事情:给定n个标签,输入一个图像,图像是什么未知,需要用模型判断这个图像是个什么东西,总之输出一个结果(结果是给定的某一标签)。
层级结构
1、输入层(input)
是将原始数据或者其他算法预处理后的数据输入到卷积神经网络中,数据没有明确定义,可以是数字图像,也可以是音频识别领域经过傅里叶变换的二维波形数据,也可以是自然语言处理中一维表示的句子向量。输入层的作用是将输入数据送入卷积神经网络进行特征提取,然后获得我们想要的结果。
一、数据预处理
预处理的原因:
1、数据的单位不同,会导致神经网络训练时间长,收敛速度慢。
2、数据范围大的输入在模式分类中的作用可能偏大,而数据范围小的作用就有可能偏小。
3、激活函数有值域限制,需要将网络训练的目标数据映射到激活函数的值域中。
4、S形激活函数(sigmoid)在(0,1)区间以外区域很平缓,区分度太小。
二、常见的数据预处理方式
1、归一化
把所有的数据都归一到同样的范围,使得不同维度的