CNN经典模型之LeNet-5模型

CONTENTS

    • 关于CNN的简介
    • 关于初始模型的相关参数分析

众所周知,CNN是卷积神经网络(Convolutional Neural Networks, CNN)的简称。对卷积神经网络的研究始于二十世纪80至90年代,时间延迟网络和LeNet-5是最早出现的卷积神经网络。今天学习的LeNet-5就是其中一个。LeNet包含两个卷积层,2个全连接层,共计6万个学习参数。且在结构上与现代的卷积神经网络十分接近
LeCun (1989) 对权重进行随机初始化后使用了随机梯度下降(Stochastic Gradient Descent, SGD)进行学习,这一策略被其后的深度学习研究广泛采用。此外,LeCun (1989)在论述其网络结构时首次使用了“卷积”一词 ,(另外,由于数据间的连接就像一个一个的神经元连接,因此用了“神经”这个词)“卷积神经网络”也因此得名。
在LeNet的基础上,1998年Yann LeCun及其合作者构建了更加完备的卷积神经网络LeNet-5并在手写数字的识别问题中取得成功 。LeNet-5沿用了LeCun (1989) 的学习策略并在原有设计中加入了池化层对输入特征进行筛选 。LeNet-5及其后产生的变体定义了现代卷积神经网络的基本结构,其构筑中交替出现的卷积层-池化层被认为有效提取了输入图像的平移不变特征 。
至此,LeNet-5可谓经典的CNN入门级神经网络模型,不过它流传这么久的原因并不是因为该模型的训练效果有多好,而是在于这个模型的结构几乎是最简单的深度学习神经网络了,学了这个网络模型,就相当于入门了轻量级的神经网络了。

关于CNN的简介

  1. 输入层:该层即是经过预处理的数据输入的层。与其它神经网络算法类似,由于使用梯度下降法进行学习,卷积神经网络的输入特征需要进行标准化处理。具体地,在将学习数据输入卷积神经网络前,需在通道或时间/频率维对输入数据进行归一化,若输入数据为像素,也可将分布[0,255]的原始像素值归一化至区间[0,1] 。输入特征的标准化有利于提升算法的运行效率和学习表现
  2. 隐含层 :这是整个卷积神经网络的核心。在常见的神经网络中具体包含卷积层、激活函数层、池化层和全连接层。LeNet-5就是由两组卷积-池化加一层全连接层构成
  • 简单说,卷积层的作用即是对输入进来的数据提取特征,最主要的就是包含多个卷积核,组成卷积核的每个元素都对应一个权重系数(w)和一个偏差量(bias vector)[wX+b],类似于一个前馈神经网络的神经元(neuron)。卷积核的大小,在文献中常被称为“感受野(receptive field)”,其含义可类比视觉皮层细胞的感受野。卷积核在工作时,会有规律地扫过输入特征,在感受野内对输入特征做矩阵元素乘法求和并叠加偏差量。
    如下,计算输入数据维度为N,输出output的维度公式为
      o u t p u t = ( N − f + 2 p ) / s + 1 \ output=(N-f+2p)/s+1  output=(Nf+2p)/s+1

    其中,f,s,p是卷积层参数,分别对应卷积核大小卷积步长(stride)填充(padding)层数(即在图像外层还包围一层数据)。而如果输入维度并非N(不是方形,而是矩形)的话,就要分别将该矩形的高宽分别代入公式中,得到的两个output相乘即为输出的维度

  • 激活函数层的作用是协助卷积层表达复杂的特征。卷积神经网络通常使用线性整流单元(Rectified Linear Unit, ReLU),其它类似ReLU的变体包括有斜率的ReLU(Leaky ReLU, LReLU)、参数化的ReLU(Parametric ReLU, PReLU)、随机化的ReLU(Randomized ReLU, RReLU)、指数线性单元(Exponential Linear Unit, ELU)等 。在ReLU出现以前,Sigmoid函数双曲正切函数(hyperbolic tangent)是常用的激励函数 。如下图。
    CNN经典模型之LeNet-5模型_第1张图片

  • 池化层的作用是将卷积层传递过来的特征图再进行特征选择和信息过滤。池化层选取池化区域与卷积核扫描特征图步骤相同,由池化区域大小、步长和填充控制,最常见的是平均值池化最大值池化。顾名思义,一个取均值,一个取最大值。
    如下图所示,原来一个44的矩阵分别经过最大值池化和平均值池化后得到22的矩阵。其中池化区域f为2*2,步长s=2。
    CNN经典模型之LeNet-5模型_第2张图片

  • 全连接层的作用是将输入进来的数据或是图片分类。通常是将池化层传输过来的向量维度降为一维,该一维纵排成一列,然后与最终欲得到的结果种类数(神经元)进行全连[w(权重)X+b(偏执)]。
    如下图,就像所有神经元都要紧密相连。
    CNN经典模型之LeNet-5模型_第3张图片
    3.输出层
    卷积神经网络中输出层的上游通常是全连接层,因此其结构和工作原理与传统前馈神经网络中的输出层相同。对于图像分类问题,输出层使用逻辑函数或归一化指数函数(softmax function)输出分类标签。在物体识别(object detection)问题中,输出层可设计为输出物体的中心坐标、大小和分类。在图像语义分割中,输出层直接输出每个像素的分类结果

关于初始模型的相关参数分析

(原论文地址)
CNN经典模型之LeNet-5模型_第4张图片
由于是LeNet-5,就知道它是共有5层(两组卷积池化三层全连)的神经网络,当然是没有包括输入和输出这两层的,这是由于数据进入神经网络后真正被处理到的是在隐含层中。上面也提到过,LeNet-5的这5层就是两组卷积池化加三层全连。也就是分别对应图中的:
C1(卷积)->S2(池化)->C3(卷积)->S4(池化)->C5(卷积)->F6(全连接)
具体维度变化如下:

Created with Raphaël 2.2.0 输入维度N=32*32*1 C1:卷积核大小为5*5, 共6个,s=1,p=0 output1=32-5+0/1+1=28 S2:池化区域为f=2*2,s=2 output2=28/2=14 C3:卷积核大小为5*5, 共16个,s=1,p=0 output3=14-5+0/1+1=10 F6:将120个神经元与84个神经元 和最后10个神经元都全连接,分成10类 输出分类结果

(注:第一次使用mermaid写流程图,视觉效果可能不那么好)

你可能感兴趣的:(CNN,笔记,人工智能)