CNN基础知识

CNN网络的5个层级结构

1.输入层

2.卷积层

3.激活层

4.池化层

5.全连接FC

 

下面我们对每一层分别了解

 

输入层

任务:进行预处理操作

进行预处理操作的原因:

1.输入数据单位不一样,可能会导致神经网络收敛速度慢,训练时间长

2.数据范围大的输入在模式分类中的作用可能偏大,而数据范围小的作用

    就有可能偏小

3.由于神经网络中存在的激活函数是有值域限制的,因此需要将网络训练                                                                            

   的目标数据映射到激活函数的值域

 

预处理方法:

1.去均值(把输入数据各个维度都中心化到0

2.归一化(范围最好是 [-1, 1]

3.PCA降维

4.白化

 

卷积层

任务:特征提取

CNN基础知识_第1张图片

 

卷积操作过程(一个通道)

CNN基础知识_第2张图片

 

卷积核中的每一个数值与对应位置的输入图像的数值进行相乘运算,再把9个计算结果求和,最终得到特征图像上的数值

 

CNN基础知识_第3张图片

 

 

卷积操作过程(多个通道)

将三个通道分开计算最终将三个结果求和得到特征图像

CNN基础知识_第4张图片

 

 

多个卷积核计算最终由有1个通道的输入图像得到有多个通道的特征图像

CNN基础知识_第5张图片

 

CNN基础知识_第6张图片

卷积层值得注意的点

1.卷积核是需要通过训练得出的参数

2.卷积核的大小一般是奇数,这样的话它是按照中间的像素点中心对称的

3.感受野的深度必须和输入图像的深度相同

4.可能加上 zero pad项,即为图像加上一个边界,边界元素均为0.(对原输入无影响)

   目的:为了使输入图像和卷积后的特征图具有相同的维度,即为了减少卷积操作导致的,边缘信息丢失

5.卷积核所有的元素之和一般要等于1,这是为了原始图像的   能量(亮度)守恒

 

激励层

任务:对卷积层的输出结果做一次非线性映射

常用的激励函数有:

  • Sigmoid函数
  • Tanh函数
  • ReLU
  • Leaky ReLU
  • ELU
  • Maxout

激励层建议:

首先ReLU,因为迭代速度快,但是有可能效果不加。如果ReLU失效的情况下,考虑使用Leaky ReLU或者Maxout,此时一般情况都可以解决。Tanh函数在文本和音频处理有比较好的效果。

 

池化层

任务:特征降维

两种形式:

Max Pooling:最大池化

Average Pooling:平均池化

CNN基础知识_第7张图片

 

池化在不同的 depth 上是分开执行的,也就是 depth=5的话,pooling进行5次,产生5个池化后的矩阵

池化降低卷积层输出的特征向量,同时改善结果(不易出现过拟合)

最大池化最为常用,并且一般都取2 × 2 的池化核代大小且步长为2

​平均池化是取每个区域的均值(很少使用)

 

输出层(全连接层)

任务: 分类,连接所有的特征,将输出值送给分类器(如softmax分类器

具体内容:通过卷积操作得到了局部特征,全连接层得到了全部的局部特征,并根据这些局部特征最终对图像进行分类

CNN基础知识_第8张图片

CNN基础知识_第9张图片

 

你可能感兴趣的:(CNN基础知识)