学习目标
- 目标
- 知道LeNet-5网络结构
- 了解经典的分类网络结构
- 知道一些常见的卷机网络结构的优化
- 知道NIN中1x1卷积原理以及作用
- 知道Inception的作用
- 了解卷积神经网络学习过程内容
- 应用
- 无
下面我们主要以一些常见的网络结构去解析,并介绍大部分的网络的特点。这里看一下卷积的发展历史图。
3.3.1 LeNet-5解析
首先我们从一个稍微早一些的卷积网络结构LeNet-5(这里稍微改了下名字),开始的目的是用来识别数字的。从前往后介绍完整的结构组成,并计算相关输入和输出。
3.3.1.1 网络结构
- 激活层默认不画网络图当中,这个网络结构当时使用的是sigmoid和Tanh函数,还没有出现Relu函数
- 将卷积、激活、池化视作一层,即使池化没有参数
3.3.1.2 参数形状总结
- 中间的特征大小变化不宜过快
事实上,在过去很多年,许多机构或者学者都发布了各种各样的网络,其实去了解设计网络最好的办法就是去研究现有的网络结构或者论文。大多数网络设计出来是为了Image Net的比赛(解决ImageNet中的1000类图像分类或定位问题),后来大家在各个业务上进行使用。
3.3.2 AlexNet
2012年,Alex Krizhevsky、Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LSVRC的冠军,且准确率远超第二名(top5错误率为15.3%,第二名为26.2%),引起了很大的轰动。AlexNet可以说是具有历史意义的一个网络结构。
总参数量:60M=6000万,5层卷积+3层全连接
使用了非线性激活函数:ReLU
防止过拟合的方法:Dropout,数据扩充(Data augmentation)
批标准化层的使用
3.3.3 卷积网络结构的优化
3.3.3.1 常见结构特点
整个过程:AlexNet—NIN—(VGG—GoogLeNet)—ResNet
- NIN:引入1 * 1卷积
- VGG,斩获2014年分类第二(第一是GoogLeNet),定位任务第一。
- 参数量巨大,140M = 1.4亿
- 19layers
- VGG 版本
- VGG16
- VGG19
- GoogleNet,2014年比赛冠军的model,这个model证明了一件事:用更多的卷积,更深的层次可以得到更好的结构。(当然,它并没有证明浅的层次不能达到这样的效果)
- 500万的参数量
- 22layers
- 引入了Inception模块
- Inception V1
- Inception V2
- Inception V3
- Inception V4
- 下面我们将针对卷积网络架构常用的一些结构进行详细分析,来探究这些结构带来的好处