卷积神经网络-LeNet5

LeNet5网络结构

1

INPUT

输入层,将输入reshape成32x32

C1-包含6个5x5卷积核的卷积层

输入图像尺寸:32x32灰度值图像
可训练的参数:(5*5+1)*6=156,1为每个卷积核的偏置
步长为1,输出feature map尺寸:(325)/1+1=28(32-5)/1+1 = 28
输出个数:28*28*6
连接数:156*28*28 = 122304

S2-2x2平均池化

输入尺寸:28x28
采样大小:2x2
采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置,最后通过sigmoid
输出尺寸:14x14, (282)/2+1=14(28-2)/2 + 1 = 14
输出个数:14*14*6
连接数:(2*2+1)*6*14*14

C3-包含16个5x5卷积核的卷积层

输入尺寸:14x14
输出尺寸:10x10, (14-5)/1+1=10
输出个数:16*10*10

如何从6个输入feature maps生成16个新的feature maps?
先将新得到的16个feature maps按照生成的方式分为4组,
1)第一组包含6个feature maps,由6个卷积核作用到上层3个相邻的14x14feature maps得到,相当于3通道,参数数量 6*(3*5*5+1);
2)第二组包含6个feature maps,由6个卷积核作用到上层4个相邻的14x14feature maps得到,相当于4通道,参数数量 6*(4*5*5+1);
3)第三组包含3个feature maps,由3个卷积核作用到上层3个以不相邻的14x14feature maps得到,相当于3通道,参数数量 3*(4*5*5+1);
4)第四组包含1个feature maps,由1个卷积核作用到上层6个14x14feature maps得到,相当于6通道,参数数量 1*(6*5*5+1);
上述这么做的原因:1)减少参数,2)有利于提取多种组合特征。

训练参数:6*(3*5*5+1)+6*(4*5*5+1)+3*(4*5*5+1)+1*(6*5*5+1)=1516
连接数:10*10*1516=151600

S4-2x2平均池化层

输入尺寸:10x10
输入featureMap个数:16
采样大小:2x2
采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置,最后通过sigmoid。
输出尺寸:5x5
输出个数:5516=400
连接数:16*(2*2+1)55=2000

C5-包含120个5x5卷积核卷积层

输入尺寸:5x5
输入featureMap个数:16
输出尺寸:1x1, (5-5)/1+1=1
输出个数:1*1*120
连接数:120*(16*5*5+1)=48120,输出的120个单元,每个与16个5x5的卷积核和一个偏置相连

F6-全连接层

输入:120x1
神经元个数:84
计算方式:计算输入向量和权重向量之间的点积,再加上一个偏置,结果通过双曲正切函数激活输出。
参数量:84*(120+1)=10164

output层

径向基函数单元组成的高斯连接层,输出10个类别
输入:84x1
计算方式:yi=j(xjwij)2y_i = \sum_j(x_j - w_{ij})^2,其中xjx_j为全连接层F6的输出,yiy_i为最终输出,wijw_{ij}为其间的权值。输出为所有输入与权值的差的平方和。

参考:
Tensorflow 实战
https://www.cnblogs.com/hls91/p/10882403.html
https://blog.csdn.net/weixin_42398658/article/details/84392845

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章