常见的CNN模型介绍
第一次写博客 目的是练习一下那种感觉,不足之处还望见谅
LeNet模型
用途:
- LeNet主要用来进行手写字符的识别与分类
特点
- 每个卷积层包括三部分:卷积、池化和非线性**函数(sigmoid**函数)
- 使用卷积提取空间特征
- 降采样层采用平均池化
网络结构
上图为LeNet结构图,是一个6层网络结构:三个卷积层,两个下采样层和一个全连接层(图中C代表卷积层,S代表下采样层,F代表全连接层)。其中,C5层也可以看成是一个全连接层,因为C5层的卷积核大小和输入图像的大小一致,都是5*5。
VGG
用途:
- 该网络主要是泛化性能很好,容易迁移到其他的图像识别项目上
特点
- 主要的区别,一个字:深,两个字:更深。把网络层数加到了16-19层(不包括池化和softmax层),而AlexNet是8层结构。
- 将卷积层提升到卷积块的概念。卷积块有2~3个卷积层构成,使网络有更大感受野的同时能降低网络参数,同时多次使用ReLu**函数有更多的线性变换,学习能力更强。
- 在训练时和预测时使用Multi-Scale做数据增强。训练时将同一张图片缩放到不同的尺寸,在随机剪裁到224*224的大小,能够增加数据量。预测时将同一张图片缩放到不同尺寸做预测,最后取平均值。
上图为VGG16的网络结构,共16层(不包括池化和softmax层),所有的卷积核都使用33的大小,池化都使用大小为22,步长为2的最大池化,卷积层深度依次为64 -> 128 -> 256 -> 512 ->512。