卷积神经网络-LeNet5
LeNet5网络结构
INPUT
输入层,将输入reshape成32x32
C1-包含6个5x5卷积核的卷积层
输入图像尺寸:32x32灰度值图像
可训练的参数:(5*5+1)*6=156,1为每个卷积核的偏置
步长为1,输出feature map尺寸:
输出个数:28*28*6
连接数:156*28*28 = 122304
S2-2x2平均池化
输入尺寸:28x28
采样大小:2x2
采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置,最后通过sigmoid
输出尺寸:14x14,
输出个数: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
计算方式:,其中为全连接层F6的输出,为最终输出,为其间的权值。输出为所有输入与权值的差的平方和。
参考:
Tensorflow 实战
https://www.cnblogs.com/hls91/p/10882403.html
https://blog.csdn.net/weixin_42398658/article/details/84392845