深度学习笔记 6 卷积神经网络CNN

发布于:2022-11-27 ⋅ 阅读:(1735) ⋅ 点赞:(2)

目录

1.概念

2. 结构及每层详解

3. CNN特征

4. 卷积神经网络的流程


1.概念

卷积神经网络(Convolutional Neural Networks, CNN),由纽约大学的 Yann Lecun 于 1998 年提出,其本质是一个多层感知机,成功的原因在于其所采用的局部连接和权值共享的方式:

卷积神经网络的核心思想: 其一是局部感受野,其二是权值共享,其三是 pooling 层,以此来达到简化网络参数并使得网络具有一定程度的位移、尺度、缩放、非线性形变稳定性。

局部感受野:由于图像的空间联系是局部的,每个神经元不需要对全部的图像做感受,只需要感受局部特征即可,然后在更高层将这些感受得到的不同的局部神经元综合起来就可以得到全局的信息了,这样可以减少连接的数目。

权值共享:不同神经元之间的参数共享可以减少需要求解的参数,使用多种滤波器去卷积图像就会得到多种特征映射。权值共享其实就是对图像用同样的卷积核进行卷积操作,也就意味着第一个隐藏层的所有神经元所能检测到处于图像不同位置的完全相同的特征。其主要的能力就能检测到不同位置的同一类型特征,也就是卷积网络能很好的适应图像的小范围的平移性,即有较好的平移不变性。

2. 结构及每层详解

一个典型的卷积网络是由卷积层、汇聚层、全连接层交叉堆叠而成

输入层,输入图像;

卷积层,提取图像特征;

ReLU层:对图像特征图做整流从而激活图像;

池化层,缩小图像尺寸,降低运算量;

全连接层,将所有特征图得到的特征联合进行识别。

1) 数据输入层(0层)

可能的操作:

归一化:将图像尺寸归一化到同样的范围,减少不同维度数据取值范围的不同,防止其不同量级的值的差异干扰最终结果。

去均值:每个数据减去均值,相当于把样本中心点变为坐标系中的原点。

PCA:主成分分析法,对数据进行降维操作,通过正交变换将一组可能存在相关性的变量数据转换为一组线性不相关的变量。

白化:对数据各个特征轴上的幅度归一化。

2) 卷积层

卷积神经网路中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征

这一层的核心是利用卷积核对图像不断做卷积操作,提取特征。

3 )线性整流层 (ReLU)

这一层神经的活性化函数使用线性整流函数;把卷积层输出结果做非线性映射。

4)池化层

池化层(Pooling layer),通常在卷积层之后会得到维度很大的特征,将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。

 经过池化操作,图像像素大大缩小,参与到运算中的像素就会减少,运算效率就会大大提高。所以池化层的主要目的就是对图像进行缩放,提高运算效率

如果池化对图像的尺寸压缩太大,就会导致某些图像特征丢失,影响图像识别的准确度。所以我们的窗口一般都是行列均为2的正方形窗口。池化层还有一个辅助的目的,就是通过池化操作,去除一些噪点,减少过拟合的情况发生

5) 全连接层

全连接层( Fully-Connected layer), 把所有局部特征结合变成全局特征,采用 softmax 全连接,得到的激活值即卷积神经网络提取到的图片特征。全连接层计算量实在是太大了,所以一般在全连接层之前要使用池化层对图像进行放缩。

3. CNN特征

1)具有一些传统技术所没有的优点:良好的容错能力、并行处理能力和自学习能力,可处理环境信息复杂,推理规则不明确情况下的问题,允许样品有较大的缺损、畸变,自适应性能好,具有较高的分辨率。它是通过结构重组和减少权值将特征抽取功能融合进多层感知器,省略识别前复杂的图像特征抽取过程。

2)泛化能力要显著优于其它方法,卷积神经网络已被应用于模式分类,物体检测和物体识别等方面。

3)是一个前馈式神经网络,能从一个二维图像中提取其拓扑结构,采用反向传播算法来优化网络结构,求解网络中的未知参数。

4)CNN 通过挖掘数据中的空间上的相关性,来减少网络中的可训练参数的数量,达到改进前向传播网络的反向传播算法效率。CNN 中层次之间的紧密联系和空间信息使得其特别适用于图像的处理和理解,并且能够自动的从图像抽取出丰富的相关特性。

5)CNN 通过结合局部感知区域、共享权重、空间或者时间上的降采样来充分利用数据本身包含的局部性等特征,优化网络结构,并且保证一定程度上的位移和变形的不变性。

6)CNN 是一种深度的监督学习下的机器学习模型,具有极强的适应性,善于挖掘数据局部特征,提取全局训练特征和分类,它的权值共享结构网络使之更类似于生物神经网络,在模式识别各个领域都取得了很好的成果。

4. 卷积神经网络的流程

1)参数初始化:

在开始训练前,所有的权都应该用一些不同的随机数进行初始化。

“小随机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;
“不同”用来保证网络可以正常地学习。实际上,如果用相同的数去初始化权矩阵,则网络无学习能力。
2)训练过程包括四步

① 第一阶段:前向传播阶段

从样本集中取一个样本,输入网络

计算相应的实际输出;在此阶段信息从输入层经过逐级的变换,传送到输出层,这个过程也是网络在完成训练之后正常执行时执行的过程

② 第二阶段:后向传播阶段

计算实际输出与相应的理想输出的差

按照极小化误差的方法调整权值矩阵

3)调参

依次计算出各权值的调整量和阈值的调整量;调整权值和调整阈值;

4)精度要求

判断指标是否满足精度要求,如果不满足,则返回 (3),继续迭代;如果满足就进入下一步;

5)训练结束,将权值和阈值保存在文件中。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到