锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

这可能是神经网络 LeNet-5 最详细的解释了!

时间:2023-09-21 03:37:02 x5y2传感器实物拍摄感应开关

大家好,我是红石!

说到目标检测算法的深度学习,我们必须提到它 LeNet- 5 网络。LeNet-5由LeCun1998年等人提出,这是一个非常有效的卷积神经网络,用于手写字符识别。来自论文《Gradient-Based Learning Applied to Document Recognition》

论文传送门:

http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf

一、网络结构

ff7818be02f52eb088b1b114f664cf2b.png

LetNet-5是一个相对简单的卷积神经网络。上图显示了其结构:输入二维图像(单通道),通过两个卷积层到池层,然后通过全连接层,最后是输出层。整体上是:input layer->convulational layer->pooling layer->activation function->convulational layer->pooling layer->activation function->convulational layer->fully connect layer->fully connect layer->output layer.

整个 LeNet-5 网络共有7层(不含输入层),即:C1、S2、C3、S4、C5、F6、OUTPUT。

几个参数:

层编号特点:

  • 英文字母 数字

  • 英文字母代表以下一种:C→卷积层、S→下采样层(池化)F→全连接层

  • 目前数字代表的是第几层,而不是第几卷积层(池化层).ec)

术语解释:

  • 参数→权重w和偏置b

  • 连接数→连线数

  • 参数计算:每个卷积核对应一个偏置b,卷积核的大小对应于权重w的数量(特别注意通道数)

二、输入层(Input Layer)

输入层(INPUT)是 32x32 注意通道数为1的像素图像。

三、C1 层

C1 层是卷积层,使用 6 个 5×5 卷积核大小,padding=0,stride=卷积,得到 6 个 28×28 大小特征图:32-5 1=28。

参数个数:(5*5 1)*6=156,其中5*25个参数为卷积核w,1为偏置项b。

连接数:156*28*28=122304,其中156是单卷积过程连线数,28*28是输出特征层,每个像素都是从前面的卷积中获得的,即总共28*28次卷积。

四、S2 层

S2 层是降采样层,使用 6 个 2×2 大小卷积核池化,padding=0,stride=2,得到 6 个 14×14 大小特征图:28/2=14。

S2 其实相当于降采样层 激活层。先采样,再激活函数 sigmoid 非线性输出 C1 层 2x2 视野求和,然后进入激活函数,即:

参数个数:(1 1)*6=第一个是第一个 1 为池化对应的 2*2 感受野中最大的权重 w,第二个 1 为偏置 b。

连接数:(2*2 1)*6*14*14= 5880,虽然只选 2*2 感受野之和,但也存在 2*2 的连接数,1 对于偏置项的连接,14*14 为了输出特征层,每个像素都是从前面的卷积中获得的,即总体经验 14*14 次卷积。

五、C3 层

C3 层为卷积层,使用 16 个 5×5xn 卷积核大小,padding=0,stride=1 卷积,得到 16 个 10×10 大小特征图:14-5 1=10。

16 并非所有卷积核都与 S2 的 6 如下图所示,个通道层卷积操作,C3 前六个特征图(0、1、2、3、4、5)由 S2 输入相邻的三个特征图,相应的卷积核尺寸为:5x5x3;接下来的 6 特征图(6、7、8、9、10、11) S2 输入相应的卷积核尺寸为相邻四个特征图:5x5x4;接下来的 3 特征图(12、13、14) S2 间断的四个特征图作为输入对应的卷积核尺寸为:5x5x4;最后的 15 号特征图由 S2 全部(6 作为输入,相应的卷积核尺寸为:5x5x6

值得注意的是,卷积核是 5×5 且具有 3 每个通道都不一样,这也是下面计算的时间 5*5 以后乘以3、4、6。这是多通道卷积的计算方法。

参数个数:(5*5*3 1)*6 (5*5*4 1)*6 (5*5*4 1)*3 (5*5*6 1)*1=1516。

连接数:1516*10*10 = 151600。10*10是输出特征层,每个像素都是由前卷积获得的,即总共经历10次*10次卷积。

六、S4 层

S4 层与 S2 也是降采样层,使用 16 个 2×2 大小卷积核池化,padding=0,stride=2,得到 16 个 5×5 大小特征图:10/2=5。

参数个数:(1 1)*16=32。

连接数:(2*2 1)*16*5*5= 2000。

七、C5 层

C5 层为卷积层,使用 120 个 5×5x16 卷积核大小,padding=0,stride=卷积,得到 120 个 1×1 大小特征图:5-5 1=1。即相当于 120 神经元的全连接层。

值得注意的是,和C三层不同,这里有120个卷积核S卷积作业为4个通道层。

参数个数:(5*5*16 1)*120=48120。

连接数:48120*1*1=48120。

八、F6层

F6 全连接层,共有 84 神经元,和 C5 层完全连接,即每个神经元与 C5 层的 120 连接一个特征图。计算输入向量和权重向量之间的点积,并添加偏置。 sigmoid 函数输出。

F6 层有 84 对应一个节点 7x12 的比特图,-1 表示白色,1 表示黑色,使每个符号的比特图的黑白对应于一个代码。该层的训练参数和连接数为(120 1)x84=10164。ASCII 编码图如下:

参数个数:(120 1)*84=10164。

连接数:(120 1)*84=10164。

九、OUTPUT层

最后的 Output 层也是全连接层,是的 Gaussian Connections,采用了 RBF 函数(即径向欧式距离函数)计算输入向量和参数向量之间的欧式距离(目前已被计算Softmax 取代)。

Output 层共有 10 分别代表数字的节点 0 到 9.假设x是上一层的输入,y 是 RBF的输出,则 RBF 输出的计算方法如下:

上式中 i 取值从 0 到 9,j 取值从 0 到 7*12-1,w 为参数。RBF 输出值越接近 0,越接近 i,即越接近于 i 的 ASCII 编码图表示当前网络输入的识别结果是字符 i。

下图是数字 3 识别过程:

参数个数:84*10=840。

连接数:84*10=840。

十、可视化网站

http://yann.lecun.com/exdb/lenet/a35.html

http://scs.ryerson.ca/~aharley/vis/conv/flat.html

http://scs.ryerson.ca/~aharley/vis/conv/

总结

LeNet-5 在某些细节结构上,它仍然不同于当前通用的卷积神经网络,例如 LeNet-5 激活函数是 sigmoid,目前一般使用图像 tanh,relu,leakly relu 较多;LeNet-5 池化层处理与现在不同;多分类最终输出层一般使用 softmax,与 LeNet-5 不太相同。

LeNet-5 是一种非常高效的卷积神经网络,用于手写字符识别。CNN 原始图像的有效表征可以得到,这使得 CNN 它可以通过很少的预处理直接从原始像素中识别视觉规律。然而,由于当时缺乏大规模的训练数据,计算机的计算能力跟不上,LeNet-5 处理复杂问题的结果并不理想。

最后,红石准备好了LeCun的这篇 LeNet-5 的 46页论文《Gradient-Based Learning Applied to Document Recognition》,需要的话可以在微信官方账号后台回复【lenet5】,取!

下一篇我将使用 PyTorch 复现LeNet-5 网络,并介绍完整的 demo 实例,下期见!


推荐阅读

(点击标题可跳转阅读)

干货 | 公众号历史文章精选

我的深度学习入门路线

我的机器学习入门路线图

重磅

AI有道年度技术文章电子版PDF来啦!

扫描下方二维码,添加 AI有道小助手微信,可申请入群,并获得2020完整技术文章合集PDF(一定要备注:入群 + 地点 + 学校/公司。例如:入群+上海+复旦。 

长按扫码,申请入群

(添加人数较多,请耐心等待)

感谢你的分享,点赞,在看三  

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章