LeNet卷积神经网络

 背景

含隐藏层的多层感知机模型对图像进行分类时,是将图像中的像素逐行展开,得到一个向量输入到全连接层中。这种方法有一些局限性:

  • 同一列的像素在最后的向量中相距较远;
  • 大尺寸图像输入到全连接层导致模型过大,开销过高 。

卷积层可以解决以上两个问题:

  •  卷积层保留输入的形状,图像在高和宽两个方向都可以被处理;
  •  卷积层通过滑动窗口将卷积核与不同位置的输入重复计算,避免特征图尺寸过大。

LeNet模型

卷积神经网络就是含卷积层的网络。LeNet是用来识别手写数字图像的卷积神经网络。
LeNet分为卷积层块和全连接层块。

  • 卷积层+最大池化层
  • 卷积层识别图像中的线条和局部
  • 最大池化层降低卷积层对位置的敏感性
  • 卷积层的输出为(批量大小,通道,高,宽)
  • 全连接层将每个小本变平(二维),第一维是样本,第二维是其向量表示
  • 每个全连接层的输出分别为120,84,10 

 网络结构

LeNet-5网络整体结构如下图:

神经网络R2定义 神经网络lenet_神经网络R2定义

 一共包含7层网络(不包含输入):
 输入-->卷积层-->池化层-->卷积层-->池化层-->全连接层-->全连接层-->全连接层

 具体参数如下:

  •  输入的图片维度是
  1.  卷积层:使用,步长的卷积核,输出通道为6
  2.  池化层:使用,步长的filter
  3.  卷积使:使用,步长的卷积核,输出通道为16
  4.  池化层:使用,步长的filter
  5.  全连接层:输出节点120个
  6.  全连接层:输出节点84个
  7.  全连接层:输出节点10个(类别个数)

 第二个卷积层的输入比卷积层1的输入的宽、高要小,因此增加输出通道使两个卷积层的参数尺寸类似
 图像经过两次卷积,从薄而大变得厚而小

总结

  • 神经网络可以直接基于图像的原始像素分类(端到端)
  • LeNet交替使用卷积层和最大池化层后接全连接层进行图像分类
  • 在小数据集上表现好,更大的真实数据集上并不如其他机器学习方法,如支持向量机