LeNet-5学习笔记

LeNet-5

网络结构
输入→卷积(C1)→池化(S2)→卷积(C3)→池化(S4)→全连接(F5)→全连接(F6)→输出(Output)
LeNet-5学习笔记_第1张图片

卷积神经网络的构成

输入层

整个网络的输入部分,在图像中,一般就是一个图像的像素矩阵,一般为三维矩阵,其中长宽代表了图像的大小,深度代表了图像的色彩通道(channel),其中,黑白图片的深度为1,彩色采用RGB色彩模式下的深度为3.

卷积层

卷积层中的输入为上一层中的一小块(一般为33或55的卷积块),通过卷积操作,会使节点矩阵变得更深。
卷积层的计算

  • 局部关联:每个神经元看做一个滤波器(filter)
  • 窗口滑动: filter对局部数据计算

深度:如下图
LeNet-5学习笔记_第2张图片
步长:滑动窗口每次移动的长度
填充值(padding):在原有的矩阵外填充(一般为0)一层,以便遍历矩阵的全部像素
卷积操作:
LeNet-5学习笔记_第3张图片
特征图的边长:N = ( W − F + 2 P ) / S + 1
其中,W是输入的图像,F是卷积核大小,P是填充值,S是步长。

常用激活函数:

LeNet-5学习笔记_第4张图片

池化层

池化层可以看作将一张高分辨率的图像转化为低分辨率的图像,通过池化层,可以进一步缩小最后全连接层中节点的个数,以减少神经网络中的参数。

  • 最大池化是指把卷积后函数区域内元素的最大值作为函数输出的结果,对输入图像提取局部最大响应,选取最显著的特征。
  • 平均池化是指把卷积后函数区域内元素的算法平均值作为函数输出结果,对输入图像提取局部响应的均值。

如下图。
LeNet-5学习笔记_第5张图片

LeNet模型

LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。
LeNet-5学习笔记_第6张图片

输入层:

在上述图像中,输入层为一个32×32像素的图像,其通道数为1.

C1层(卷积层):

使用了6个5×5大小的卷积核,padding=0,stride=1,输出为6个28×28大小的特征图
LeNet-5学习笔记_第7张图片

S2层(池化层-下采样层):
  • 输入:28*28
  • 卷积核:2*2
  • 采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid
  • 卷积核种类(输出通道):6
  • 输出featureMap大小:14*14(28/2)
  • 神经元数量:14 * 14 *6
  • 可训练参数:2*6(和的权+偏置)
  • 连接数:(2 * 2 + 1)* 6 * 14 *14
  • S2中每个特征图的大小是C1中特征图大小的1/4。
    LeNet-5学习笔记_第8张图片
S3层(卷积层):

使用 16 个 5×5xn 大小的卷积核,padding=0,stride=1 进行卷积,得到 16 个 10×10 大小的特征图:14-5+1=10
LeNet-5学习笔记_第9张图片

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

使用 16 个 2×2 大小的卷积核进行池化,padding=0,stride=2,得到 16 个 5×5 大小的特征图:10/2=5。
参数个数:(1+1)*16=32。

F5层(卷积层-全连接层):

使用 120 个 5×5x16 大小的卷积核,padding=0,stride=1进行卷积,得到 120 个 1×1 大小的特征图:5-5+1=1。即相当于 120 个神经元的全连接层。
参数个数:(5516+1)120=48120。
连接数:48120
1*1=48120
LeNet-5学习笔记_第10张图片

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

Output 层共有 10 个节点,分别代表数字 0 到 9。假设x是上一层的输入,y 是 RBF的输出,则 RBF 输出的计算方式是:
在这里插入图片描述
参数个数:84*10=840。

连接数:84*10=840
LeNet-5学习笔记_第11张图片

你可能感兴趣的:(深度学习,学习,深度学习)