当前课程知识点:计算思维与人工智能基础 > 第三部分:python基础 > 第十章:实例分析与实践 > 10.7LeNet的介绍
下面我们给大家介绍一下
常用的卷积神经网络
LeNet-5
诞生于1994年
是由深度学习三巨头之一的
Yan LeCun提出的
他也被称为卷积神经网络之父
LeNet主要用来进行
手写数字识别和分类
那么准确率呢
可以最高达到98%
并在美国的银行中投入使用
被用于读取北美约10%的支票
LeNet奠定了
现代卷积神经网络的基础
我们下面来看一下LeNet-5
那它是由6层网络结构组成
这是一个输入的
32×32点像素的图片
第一层是卷基层
那么第二层是池化层
第三层又是卷积层
第四层是池化层
那么第五层是一个什么呀
卷基层
第六层是一个全连接层
那么最后是一个什么呀
输出层
这个C5层可以看成一个全连接层
因为C5层的卷积核的大小
和输入的图像的大小是一致的
都是5×5
我们来看
输入层就是
有32×32点像素的一张图片
那么这里面的我们
用6个卷积和
那么大小是5×5的
这里面的话卷积后的神经元
每张图片变成28×28然后呢
一共6个卷积核乘以6
那么连接数的话
它又加上一个5×5
加上一个我们的偏值
那么有6张图片28×28的
输出的图片是28×28的六张
通过TrensorFlow代码
来去写的话
我们知道
tf,kersa.layers
这是我们的二维的一个卷积
卷积和是6个
卷积核的大小
然后它的卷积的方式步长
和下面用的我们的卷积函数
这是第一层的卷积层
第二层是池化层
池化的大小是2×2
那么它的步长是2的话
这样的话我们可以看的
就是28×28
这6张图片通过池化以后它会
转化成14×以14的这样6张图片
那么第三层的也是卷积层
那么卷积层呢
它的卷积核有16个
所以它会产生16张特征图
在这个里面它的
与c1卷积不同的是
C3的每个节点
与S2中的多个图进行连接
比如说我们可以看到
它产生16张特征图呢
我们看它是前6张一个卷积方式
后六张一个卷积方式
那么再是一个3张的一个卷积方式
最后一种就是有4种卷积方式
我们看这个前面的6张的卷积方式
它用什么呀
连续的
前3张卷积后的值做求和
那么做一个
这是一个3个图的一个链接
那么产生新的一张图是这样去产生的
第二种方式就连着4个
连着4个S2里面的4张图连接起来
那么产生的新的一个图的一个点
那么第3个呢是两个隔一个
那么第4个就是一个全部的6张
通过我们前面的进来的是吧
6张的输入的特征值
全部的连接产生的新的一张
我们的特征图
那么产生的16张
通过
我们可以看着它
它的输入啊
输入都是前面是14×14
前三个相连接的这是3
3张图相连接
那么一共是产生6张
6张特征图
这个里面它的输出呢是
产生的输出就是10×10点像素的
那么有6张特征图
S2中4张图相连那么也是6个特征
那得到了10×10
还有一个是
下面是隔2个隔1个
再有2个的这样子的是
也是14×14
那么这边是S2中4张图连接
那么也是
用3个卷积和
得到的是10×10
3个特征
图最后一个是14×14
6个我们的卷积核
那么这个是做了一个什么呀
S2 6张图的一个链接
得到是10×10一张特征图
那么一共是12
加上这个我们16张特征图
我们通过我们的
TrensorFlow的代码
是如何编写的呢
那么可以看到是通过那么也是什么呀
一个二维的卷积
卷积核16个
卷积核的大小是5×5
那么在这个里面的话
它的卷积的
这个填充方式是valid
步长也是1×1
我们这里面用的是一个
也是relu函数
下面我们再看这个S4
我们就是池化
那么池化层刚
输入的是我们10×10
16张特征图
那么池化的时候大小是2×2的
那么它的步长也是2
那么得到的话就会5×5的图片
数量没有变还是16张图片
再下一层呢就是
那我们c5的卷积层
那么卷积层是
输入的是5×5×16
它和卷积核的大小是一样的
相当是一个全链接层
那么最后一层就是一个全连接层
全连接层
那么这个地方设置
我们的这个神经元是84个
最后的输出是10个
那么因为我们的识别的分类是10个
那么这个地方在写代码的时候呢
就是我们
TrensorFlow代码的时候
那我们可以看的到
它是一个什么呀
其实我们C5层是一个全连接层
F6层也是一个全链接层
那么最后一个是输出层
在这个地方我们说
后面构建的时候为什么是84个点
那是因为我们
在计算机中字符的编码是
那么这些图的是7×12大小的
这个位图表示的
也就是说高宽比是为7:12
那么所以呢
我们选择这个大小
可以对每个像素点的值进行评估
那么这个其实
就是我们LeNet-5
卷积神经网络的
构造的一个主要的代码
我们看
卷积神经网络呢
它叫一般的神经网络
在图像处理方面是有很多的优点的
比如说输入图像和网络的拓扑结构呢
能够很好地吻合
那么特征提取和模式分类同时进行
但并同时在训练中可以产生
那么权重共享
可以减少这个网络的训练参数
那么神经网络的结构
变得简单适应性更强
卷积网络在本质上
是一种输入到输出的映射
它能够学习大量的
输入与输出之间的映射关系
而不需要任何输入和输出
之间精确的数学表达式
那么我们看
我们LeNet-5呢
那么是一种常用的卷积神经网络
那么通过对LeNet-5的
网络结构的分析呢
我们可以直观地了解一个
卷积神经网络的构建方法
那么可以被分析构建更复杂
更多的卷积神经网络做准备
那么LeNet-5呢
它也有它自己的局限性
虽然能够得出原始图像的有效表征
这使得Cnn应能够直接从
原始图像中经过极少的预处理识别
视觉上面的规律
然而由于当时呢
缺乏大规模的这个训练数据呢
计算机的计算能力也是跟不上
LeNet-5对这个复杂问题的
处理的结果呢是并不理想
随着深度学习的深入研究
近年涌现出了
不同类型的卷积神经网络
那么这些不同结构的卷积神经网络
在识别和分类能力上
比LeNet都有不同程度的提高
那么这些内容
请同学们自己下去阅读学习
我们今天的课程就介绍到这里
-章测试
-章测试
-第一章:python简介
--章测试
-第二章:编码规范
--2.2常量和变量
--章测试
-第三章:数据类型
--章测试
-第四章:基本运算
--4.2比较运算符
--4.3逻辑运算符
--4.4位运算符
--章测试
-第五章:程序控制结构
--5.1顺序结构
--5.2条件结构
--5.3循环结构
--5.4跳转结构
--5.5异常处理
--章测试
-第六章:函数、模块与面向对象
--6.2面向对象
--6.4模块与包
--章测试
-第七章:文件操作
--7.2文件的写入
--章测试
-第八章:python生态库
--章测试
-第九章:TensorFlow基础
--章测试
-第十章:实例分析与实践
--章测试
-第十一章:人工智能在自然语言中的应用
--章测试