继上篇的数据的读取,这里介绍介绍计算机视觉关键的一步。识别模型的构建。说到视觉识别模型肯定少不了卷积神经网络(cnn)。这里重点介绍cnn神经网络。
1.简介卷积神经网络的发展
1979和1980年发表的论文中,福岛仿造生物的视觉皮层(visual cortex)设计了以“neocognitron”命名的神经网络。neocognitron是一个具有深度结构的神经网络,并且是最早被提出的深度学习算法之一。1987年由Alexander Waibel等提出的时间延迟网络(Time Delay Neural Network, TDNN)。TDNN是一个应用于语音识别问题的卷积神经网络。1988年,Wei Zhang提出了第一个二维卷积神经网络:平移不变人工神经网络(SIANN),并将其应用于检测医学影像。1989年,Yann LeCun构建了应用于计算机视觉问题的卷积神经网络,即LeNet的最初版本。1993年由贝尔实验室(AT&T Bell Laboratories)完成LeNet代码开发。二十一世纪,计算机硬件的提高,神经网络得到了长足发展。
2.简介卷积神经网络的结构
卷积神经网络和传统的神经网络一样。都是层级网络,只是层的功能和形式做了变化,可以说是传统神经网络的一个改进。
卷积神经网络的层级结构:
- 数据输入层/ Input layer
- 卷积计算层/ CONV layer
- ReLU激励层 / ReLU layer
- 池化层 / Pooling layer
- 全连接层 / FC layer
数据输入层:
该层要做的处理主要是对原始图像数据进行预处理,其中包括:
- 去均值:把输入数据各个维度都中心化为0,如下图所示,其目的就是把样本的中心拉回到坐标系原点上。
- 归一化:幅度归一化到同样的范围,如下所示,即减少各维度数据取值范围的差异而带来的干扰,比如,我们有两个维度的特征A和B,A范围是0到10,而B范围是0到10000,如果直接使用这两个特征是有问题的,好的做法就是归一化,即A和B的数据都变为0到1的范围。
- PCA/白化:用PCA降维;白化是对数据各个特征轴上的幅度归一化
卷积计算层:
这一层就是卷积神经网络最重要的一个层次,也是“卷积神经网络”的名字来源。
在这个卷积层,有两个关键操作:
- 局部关联。每个神经元看做一个滤波器(filter)
- 窗口(receptive field)滑动, filter对局部数据计算
激励层:
把卷积层输出结果做非线性映射。CNN采用的激励函数一般为ReLU(The Rectified Linear Unit/修正线性单元),它的特点是收敛快,求梯度简单,但较脆

本文深入探讨了卷积神经网络(CNN)的发展历程,从早期的Neocognitron到现代的LeNet,再到深度学习时代的广泛应用。文章详细介绍了CNN的结构组成,包括卷积层、ReLU层、池化层和全连接层的功能与作用。并通过实际代码示例展示了如何使用PyTorch框架构建和训练CNN模型。
最低0.47元/天 解锁文章
646

被折叠的 条评论
为什么被折叠?



