- LeNet网络框架如下图:
LeNet-5 包括输入层一共8层,每一层都包含多个参数(权重和偏置).
第一层: 输入层大小32*32,但是Caffe中MNIST数据集中的图片大小都是28*28,这样设计是为了让潜在的明显特征(笔画断续,角点)能够出现在最高层特征检测子感受野的中心.
第二层: 卷积层,卷积核大小 5 * 5, 步长为1, 卷积模板数 6, 对输入层进行卷积操作后,得到的特征图大小为 (32 - 5 + 1) * (32 - 5 + 1) = 28 * 28, 通过C1层的卷积操作,使得原始信号特征增强,并降低了噪声,而且不同的卷积核能够提取图像中不同的特征;
第三层: 池化层, 滑动窗口大小 2 * 2, 滑动步长 2, 对C1层进行最大化池化操作后,得到的特征图带下为 28 / 2 * 28 / 2 = 14 * 14,
第四层:卷积层, 卷积核大小 5 * 5, 步长为1, 卷积模板数 16, 对S2层进行卷积操作后,得到的特征图大小为 (14 - 5 + 1) * (14 - 5 + 1) = 10 * 10,
第五层: 池化层, 滑动窗口 2 * 2 , 滑动步长 2, 对 C3 层进行最大化池化操作后,得到的特征图大小为 10 / 2 * 10 / 2 = 5 * 5,
第六层: 卷积层, 卷积核大小 5 * 5, 步长为1, 模板数为120, 对 S4 层进行卷积操作后,得到的特征图大小为 (5 - 5 + 1) * (5 - 5 + 1) = 1 * 1,
第七层: 全连接层, F6层一共有 84 个神经元, 每个神经元与C5层全连接, F6层计算输入向量和权重向量的之间的点积以及与偏置的和,之后进过Sigmoid函数.
第八层: 输出层, 一共有10各神经元,采用径向基函数(RBF)的网络连接方式,其输出的计算方式:
RBF的值由i的比特图编码确定,越接近-,则越接近i的比特图编码.
- 模型描述文件 LeNet_train_val.prototxt
name: "LeNet" // 网络(Net)的名称为LeNet
layer { // 定义一个层(Layerÿ