LeNet-5

LeNet-5

LeNet-5[LeCun et al., 1998]虽然提出的时间比较早,但是是一个非常成功的神经网络模型。基于 LeNet-5的手写数字识别系统在 90年代被美国很多银行使用,用来识别支票上面的手写数字。
原文下载

Lenet-5

示例
Lenet-5识别数字示例

LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征。

各层参数详解

INPUT层-输入层

首先是数据 INPUT 层,输入图像的尺寸统一归一化为32*32。

C1层-卷积层

  • 输入图片:32x32
  • 卷积核大小:5x5
  • 卷积核种类:6
  • 输出featuremap大小:28x28 (32-5+1)=28
  • 神经元数量:28x28x6
  • 可训练参数:(5x5+1) x 6(每个滤波器5x5=25个unit参数和一个- - bias参数,一共6个滤波器)
  • 连接数:(5x5+1)x6x28x28=122304

S2层-池化层(下采样层)

  • 输入:28x28
  • 采样区域:2x2
  • 采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid
  • 采样种类:6
  • 输出featureMap大小:14x14(28/2)
  • 神经元数量:14x14x6
  • 连接数:(2x2+1)x6x14x14
    S2中每个特征图的大小是C1中特征图大小的1/4。

C3层-卷积层

  • 输入:S2中所有6个或者几个特征map组合
  • 卷积核大小:5x5
  • 卷积核种类:16
  • 输出featureMap大小:10x10 (14-5+1)=10

C3中的每个特征map是连接到S2中的所有6个或者几个特征map的,表示本层的特征map是上一层提取到的特征map的不同组合
存在的一个方式是:C3的前6个特征图以S2中3个相邻的特征图子集为输入。接下来6个特征图以S2中4个相邻特征图子集为输入。然后的3个以不相邻的4个特征图子集为输入。最后一个将S2中所有特征图为输入。
则:可训练参数:6x(3x5x5+1)+6x(4x5x5+1)+3x(4x5x5+1)+1x(6x5x5+1)=1516
连接数:10x10x1516=151600

S2中的组合形式

C3与S2中前3个图相连的卷积结构如下图所示:

C3中前三个图相连的卷积结构

采取这种方式的原因:

  1. 减少参数;
  2. 这种不对称的组合连接的方式有利于提取多种组合特征。

S4层-池化层(下采样层)

  • 输入:10x10
  • 采样区域:2x2
  • 采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid
  • 采样种类:16
  • 输出featureMap大小:5x5(10/2)
  • 神经元数量:5x5x16=400
  • 连接数:16x(2x2+1)55=2000
    S4中每个特征图的大小是C3中特征图大小的1/4

C5层-卷积层

  • 输入:S4层的全部16个单元特征map(与s4全相连)
  • 卷积核大小:5x5
  • 卷积核种类:120
  • 输出featureMap大小:1x1(5-5+1)
  • 可训练参数/连接:120x(16x5x5+1)=48120

F6层-全连接层

  • 输入:c5层的120维向量
  • 计算方式:计算输入向量和权重向量之间的点积,再加上一个偏置,结果通过sigmoid函数输出。
  • 可训练参数:84x(120+1)=10164

Output层-全连接层

Output层也是全连接层,共有10个节点,分别代表数字0到9,且如果节点i的值为0,则网络识别的结果是数字i。采用的是径向基函数(RBF)的网络连接方式。假设x是上一层的输入,y是RBF的输出,则RBF输出的计算方式是:

\[{y_i} = \sum\limits_j {{{({x_j} - {w_{ij}})}^2}} \]

上式\({{w_{ij}}}\)的值由i的比特图编码确定,i从0到9,j取值从0到7*12-1。RBF输出的值越接近于0,则越接近于i,即越接近于i的ASCII编码图,表示当前网络输入的识别结果是字符i。该层有84x10=840个参数和连接。

posted @ 2019-04-10 16:44  youngliu91  阅读(374)  评论(0编辑  收藏  举报