CV_9经典网络分析(上)
目录
经典网络分析(上)
1.AlexNet
主要贡献:
- 提出卷积层加全连接层的卷积神经网络
- 首先使用Relu激活函数
- 首次提出dropout正则化
- 使用加入动量的小批量梯度下降优化算法
- 使用数据增强抑制过拟合
- 使用GPU进行并行计算
结构:
- 5个卷积层
- 3个全连接层
计算过程
- 去均值:算出每个位置(像素)的rgb平均值,在输入图像后先将该图像向量化并减去平均值向量
- CONV1:96个11*11*3的卷积核,步长为4,无零填充
- MAX POOL1:窗口大小3*3,步长为2$\to$重叠池化,有助于对抗过拟合(重叠池化现已广泛被非重叠池化代替)
- NORM1:已弃用,作用不大但是会带来计算量的提升
- CONV2:246个5*5卷积核,步长为1,使用零填充p=2
- MAX POOL2 + NORM2
- CONV3,CONV4:384个3*3卷积核,步长为1,使用零填充p=1
- CONV5:256个3*3卷积核,步长为1,p=1
- MAX POOL3:进一步缩小特征图尺寸
- FC6,7,8:全连接神经网络
重点:
- 卷积层与全连接层是同时学习的
- 学习过程中互相促进
- 验证集损失不下降则手动降低10倍学习率(经验)
- 集成多个模型,进一步提高精度
AlexNet卷积层作用:
- 从数据中学习有助于分类的结构特征
- 描述输入的结构信息
- 结果储存于最终输出的特征响应图中
2.ZFNet
结构同AlexNet一致
提升:
- 第一卷积层卷积核大小改为7*7,步长改为2$\to$特征提取更为细致
- 第二三卷积层步长调整为2$\to$与上一条结合使得信息损失速率下降
- 增加三四层卷积核个数$\to$可视化后发现三四层已经包含语义信息,应该增加数量从而记住更多不同语义
3.VGG16
-
只使用3*3的卷积核串联获得更大的感知野 *感知野:感知范围
-
去掉了NORM层
预处理:
- Alex:对每点求平均后减平均
- VGG:对全部点求总rgb平均后减(可以减少计算)
特点:
- 13个卷积层和3个全连接层
- 分为五段卷积层,每一段卷积层中卷积核的个数相同
- 采用最大池化,窗口为2*2,步长为2
- 每次池化使得卷积核数量翻倍,直到512(更多核导致计算量过大)
- 前层学习基元
- 后层学习语义
思考:
- 使用小卷积核构建网络使得网络深度更深,非线性更强,参数更少
- 池化使得内存占用明显减少
3.GoogLeNet
改进:
-
提出Inception结构,可以保存更多特征信息
-
去掉AlexNet前两个全连接层,在得到最终特征响应图组后使用平均池化$\to$只有五万参数,比AlexNet减少了12倍
-
加入辅助分类器,减少梯度消失问题
串联结构问题:信息不断丢失,如果前层丢失信息,后层无法找回
Inception模块
解读:
-
1*1卷积(黄色模块):将空间信息压缩保留
-
3*3卷积:提取小感知野信息
-
5*5卷积:提取大感知野信息
-
3*3最大池化:将强信号向周围扩展
-
1*1卷积(红色模块)降低计算量