零基础入门CV赛事- 街景字符编码识别Task3

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

继上篇的数据的读取,这里介绍介绍计算机视觉关键的一步。识别模型的构建。说到视觉识别模型肯定少不了卷积神经网络(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/修正线性单元),它的特点是收敛快,求梯度简单,但较脆

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值