前言
之前刚开始接触CNN的时候导师让我写过综述,就把一些经典的CNN网络整理一下。
LeNet
CNN的开山之作,是LeCun在98年解决手写是数字识别任务时提出的,从那时起CNN的基本架构就定下来了:卷积、池化、全连接层。
网络结构
- 如图 3.1 所示,最早的 LeNet 有 7 层网络,包括 3 个卷积层, 2 个池化层,
2 个全连接层,其中输入图像的尺寸是 32x32。 - C1 层为卷积层,有 6 个 5*5 的卷积核,原始图像送入卷积层,因此生成了
6 个(32-5+1) x(32-5+1) =28x28 的 feature map, 这一层需要训练的参数为
(5x5+1) x6=156 个参数,其中 5x5 是卷积核尺寸, 1 是偏置参数, 所以对应 6
个 28x28 feature map,连接数为 6x26x28x28=122304; - S2 层为池化层,所用到的是 2x2 最大池化来进行降维,得到 6 个 14x14 的feature map, 池化的过程是通过将每四个输入相加乘以一个系数再加上一个偏置参数,因此 S2 层所需要训练的参数为 2x6=12 个,连接数为(4+1)x6x14x14=5880;之后通过 Sigmoid 函数激活,送入下一层;
- C3 层是卷积层,有 16 个卷积核,每一个卷积模板是 5x5,每一个模板有 6个通道,但是这一层并不是全连接,而是与输入层部分连接,以 feature map0为例,用到的是 3 通道的 5x5 卷积核分别与上一层的 feature map 0,1,2 连接,得到的新的 feature map 大小为(14-5+1) x(14-5+1) =10x10,因此输出为 16个 10x10 的 feature ma