经典的卷积神经网络(CNN)--- LeNet-5

经典的卷积神经网络(CNN)— LeNet-5

此文是阅读论文《Gradient-Based Learning Applied to Document Recognition》后的总结,该论文提出了LeNet-5用于手写数字识别(图像分类),是CNN的开山之作,现在的AlexNet、ResNet等都是在其基础上发展而来的。原文篇幅较长,本文只总结了有关LeNet-5的相关知识。

本文结构如下

  • 传统的机器学习算法在图像分类问题上的不足
  • 卷积神经网络的创新之处及作用
  • LeNet-5的网络结构

传统的机器学习算法在图像分类问题上的不足

  LeNet-5是在手写数字识别问题上提出的,他解决了传统的机器学习算法在图像分类方面的一些不足,提高了识别的精度。
  传统的像SVM这样的算法在解决图像分类问题时,需要先人工设计出能够区分图像的特征,并将这些特征从图像中抽取出来构成特征向量,然后用这些特征向量训练SVM来进行分类。这样做的缺点是:设计合适的能够区分图像的特征的过程是对已有样本进行的,这可能会导致模型的范化能力差,且模型的好坏很大程度上依赖于所设计的特征。下图为这类模型的流程。
经典的卷积神经网络(CNN)--- LeNet-5_第1张图片  虽然传统的全连接神经网络可以避免人工设计特征的过程,直接将图像输入到神经网络来进行训练,但是这样会存在一些问题:首先一张图片有几百个像素,也就是几百个特征变量,假如神经网络的第一层有100个神经元,那么这里就已经有数以万计的权重了,会导致计算复杂度变大,并且需要更多的样本;但是,最主要的问题还是这样的网络不能处理不同输入的情况,在输入到神经网络固定大小的的第一层之前,输入的图像必须是标准大小,且是图像的正中间(也就是输入的图像需要比较正式,不能偏差太大);其次,在将图片输入到全连接网络时,需要将图片有2维变成1维,这就忽视了图片的拓补特征。

卷积神经网络的创新之处及作用

  CNN提出了三个创新点:局部感受野(Local Receptive Fields)、共享权重(Shared Weights)、时空下采样(Spatial or Temporal Subsampling)。

  1. 局部感受野(Local Receptive Fields):用来表示网络内部的不同位置的神经元对原图像的感受范围的大小,对应于CNN中的卷积核,可以抽取图像初级的特征,如边、转角等,这些特征会在后来的层中通过各种联合的方式来检测高级别特征。
  2. 共享权重(Shared Weights):在卷积过程中,每个卷积核所对应的窗口会以一定的步长在输入矩阵(图像)上不断滑动并进行卷积操作,最后,每个卷积核会生成一个对应的feature map(也就是卷积核的输出),一个feature map中的每一个单元都是由相同的权重(也就是对应的卷积核内的数值)计算得到的,这就是共享权重。
  3. 时空下采样(Spatial or Temporal Subsampling):对应于CNN中的池化操作,也就是从卷积得到的feature map中提取出重要的部分,此操作可以降低模型对与图像平移和扭曲的敏感程度。

LeNet-5的网络结构

  LeNet-5是一个7层(不包含输入层)的网络结构,用来进行手写数字识别,这里用的数据集为MNIST,其各层结构如下:
经典的卷积神经网络(CNN)--- LeNet-5_第2张图片

  • 输入层:32x32的灰度图像。
  • 卷积层C1:6个大小为5x5的卷积核,步长为1,输出为28x28x6。
  • 池化层S2:2x2大小的池化层,使用的是平均池化,步长为2,结果通过Sigmoid非线性化,输出为14x14x6。
  • 卷积层C3:16个大小为5x5的卷积核,步长为1。输出为10x10x16。注意,这16个卷积核并不是扫描前一层所有的6个通道。
  • 池化层S4:2x2大小的池化层,使用的是平均池化,步长为2,结果通过Sigmoid非线性化,输出为5x5x16。
  • 卷积层C5:120个大小为5x5的卷积核。步长为1,输出为1x120。相当于一个全连接层,实现时可用全连接层代替。
  • 全连接层F6:84个神经元。
  • 输出层:10个神经元(10分类问题)。

LeNet有一些操作,在现在看来并不是很常见。第一个就是第三层的卷积层并没有利用上一层所有的通道,这个一般很少这么做。这个一方面是减少了训练参数,一方面也是希望能检测到不同的模式。第二就是使用平均池化,现在一般主要使用最大池化,因为最大池化的效果更好。第三是在池化层之后引入了非线性,现在一般是在卷积层后通过激活函数获取非线性,在池化层后不再引入非线性;第四是LeNet-5最后一步是Gaussian Connections,目前已经被Softmax取代。

下图为卷积层C3每个卷积核所使用的上一层的输出的情况(供有需要的同学参考):
经典的卷积神经网络(CNN)--- LeNet-5_第3张图片

你可能感兴趣的:(深度学习,数字图像处理与计算机视觉,神经网络,cnn,深度学习)