LeNet-5

本文探讨了全连接网络的局限性,引出深度学习中卷积神经网络的概念,重点介绍卷积操作、LeNet-5网络结构,以及如何通过代码实现和实际应用如手写字符识别来展示其性能。
摘要由CSDN通过智能技术生成

一、深度学习的必要性

在上一篇文章当中,详细介绍了全连接网络(MLP)和BP神经网络及其优化器的基本原理。但是MLP由于连接的权重过多,算得太慢,且难收敛,同时可能陷入局部最小值,也容易产生过拟合问题。为了解决这些问题,我们可以减少权值的连接,每一个节点只连接到上一层的少数神经元,即局部神经网络。如下图所示。
在这里插入图片描述

具体如何解决呢?
让我们回想人类解决问题的思路:信息分层处理。也就是说,我们可以在某些层提取特征的基础上,对信息进行再处理,得到更高级别的特征。因此,人们提出卷积神经网络。

二、卷积神经网络

1 卷积神经网络的作用与发展

我们在前面说到,卷积神经网络是为了更好地提取事物的特征。因此,很容易想到,将卷积神经网络应用于图像分类、识别、目标监测等任务当中,如下图所示:
在这里插入图片描述

由于算力的迭代与发展,越来越多的卷积神经网络被提出
在这里插入图片描述

2 卷积的基本操作

卷积的操作非常简单,通常由一个或多个卷积核对数据进行处理
在这里插入图片描述
由于维数的要求,在某些时候会对数据进行填充(在矩阵的边界填充一些值,通常为0),即padding操作
在这里插入图片描述

在卷积过程当中,我们还可以设置卷积核的步长,即调整stride,此外,在特征过多的时候,我们可以采用局部统计特征的方法,求范围内的均值或者最大值,即平均池化和最大池化。
在这里插入图片描述
在卷积过程当中,我们还应该设置通道数(channels),以图像为例,输入的通道一般为3个,即RGB。

3 LeNet-5的网络结构及其代码实现

我们以LeNet-5网络为例,首先介绍一下它的结构。
在这里插入图片描述

从图里面可以知道,输入的长和宽是32×32,C1层又6个特征图组成,即6个通道,每个卷积核对输入进行卷积,卷积之后的长和宽发生变化,变成28×28,S2层是池化层,减少图的尺寸,提取重要的特征;之后在经过一次卷积和池化,再经过两个全连接层之后,再将输出映射到1×10的矩阵。
与现在的网络相比,LeNet-5十分简单,它在卷积时不进行填充(padding),池化层选用平均池化而非最大池化,非线性激活函数采用Sigmoid或tanh而非ReLU函数,且层数较浅,参数量较小(约为6万)
利用代码实现如下:
在这里插入图片描述

最后用一个手写字符识别的小项目测试LeNet-5的性能:https://adamharley.com/nn_vis/cnn/3d.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值