学习经典卷积神经网络目的就是了解卷积神经网络的发展历程,要知道先进算法的网络架构都是从经典卷积神经网络发展而来,废话不多说下面直接介绍LeNet-5卷积神经网络。
网络架构:
其结构如右图所示,下面将逐层的介绍:
第一层:输入层,收入的图片是一张大小为32*32的单通道图片,也就是(32, 32, 1)
第二层:卷积层,filters=6, kernel_size=5, strides=1, padding=“valid”
(32+0-5)/1+1=28
那么得到的输出大小就是:(28, 28, 6)
有多少参数需要训练:
5
×
5
×
6
×
1
+
6
=
156
5\times5\times6\times1+6=156
5×5×6×1+6=156
第三层:池化层,kernel_size=2, strides=2, padding=“valid”
(28+0-2)/2+1=14
那么得到的输出大小就是:(14, 14, 6)
有多少参数需要训练:无
第四层:卷积层:filters=16, kernel_size=5, strides=1, padding=“valid”
(14+0-5)/1+1=10
那么得到的输出大小就是:(10, 10, 16)
有多少需要训练的参数:
5
×
5
×
16
×
6
+
16
=
2416
5\times5\times16\times6+16=2416
5×5×16×6+16=2416
第五层:池化层,kernel_size=2, strides=2, padding=“valid”
(10+0-2)/2+1=5
那么得到的输出大小就是:(5, 5, 16)
有多少参数需要训练:无
第六层:全连接层
神经元个数=120
有多少参数需要训练:
5
×
5
×
16
×
120
+
120
=
48120
5\times5\times16\times120+120=48120
5×5×16×120+120=48120
这里就是将第五层进行展平:
5
×
5
×
120
=
400
5\times5\times120=400
5×5×120=400;那么全连接层的权重就是[400, 120]的矩阵,偏置就是120个
第七层:全连接层
神经元的个数=84
有多少参数需要训练:
120
×
84
+
84
=
10164
120\times84+84=10164
120×84+84=10164
第七层的权重:[120, 84]的矩阵,偏置:84个
第八层:
神经元个数=10,这是因为要做手写数字识别任务
有多少参数需要训练:
84
×
10
+
10
=
850
84\times10+10=850
84×10+10=850
tensorflow的网络结构代码如下:
模型结构:
Lenet5是最早的卷积神经网络之一,可以看到其结构非常的简单,是由卷积、池化、全连接层拼接而成,而且其深度也很浅,但是它带来的影响确实很大。
经典卷积神经网络之LeNet-5
最新推荐文章于 2022-03-20 09:30:00 发布