1、研究背景
GoogLeNet在2014年由Google团队提出,并且在当年的ImageNet竞赛中获得了分类第一名、检测第一名、分类第二名的成绩
2、模型介绍
2.1 architecture
1、共22层
2、可以分为三个阶段:conv-pool-conv-pool 快速降低分辨率; 堆叠使用Inception Module; FC层分类输出
3、第一阶段使用传统的卷积网络模型
第二阶段中间层堆叠使用九次Inception模型且在两个 Inception 模块上增加了辅助分类器,实现 梯度回传和正则约束
第三阶段从全连接层转变成平均池化将top-1的准确率提高了 约0.6%,还增加了一个额外的线 性层是为了更好的迁移学习
2.2 网络中得亮点
1、引入了Inception结构(融合不同尺度的特征信息)
2、使用1*1得卷积核进行降维以及映射处理
3、添加两个辅助分类器进行训练
4、丢弃全连接层,使用平均池化层(大大减少模型参数)
2.3 Inception模型
特点:提高计算资源利用率,增加网络深度和宽度时,参数少量增加
注:Inception架构的主要思想是基于找出卷积视觉网络中的最优局部稀疏结构是如何被可用的密集组件逼近和覆盖的
2.3 稀疏结构
Inception结构分为四个分支,采用不同尺度的卷积核来进行处理,将稀疏矩阵聚类为比较密集的子矩阵可以提高计算性能
672个特征图分解为四个部分:
1*1 卷积核提取的 128个通道
3*3 卷积核提取的192个通道
5*5 卷积核提取的96个通道
3*3池化提取的256个通道
特点:打破均匀分布,相关性强的特征聚集在一起
2.4 Inception模块中1*1卷积作用
1、使用1*1卷积核降维
2、减少参数量和运算量
3、增加模型深度提高非线性表达能力
引入1*1卷积核降维
举个例子!!!
2.5 辅助分类器(增加梯度回传,充当正则约束,减轻过拟合)
在Inception4a 和 Inception4d 增加两个辅助分 类层,用于计算辅助损失,结构如下:
·一个平均池化层,过滤器大小为5x5,步幅为3, 产生4x4x512的输出(4a)和4x4x528用于(4d)阶段。
·128 个卷积核大小为1x1卷积用于降维并使用了 Relu激活函数。
·一个节点个数为1024的全连接层并用了Relu激活。
·一个dropout层,随机失活率为40%。
·具有softmax loss的线性层作为分类器(测试与主分类器相同的1000个类,但在推断时被删除)。
3、训练技巧
· multi crop :1张图变144张图(crop越多,精度越高)
Step1: 等比例缩放短边至256, 288, 320, 352,四种尺寸。 一分为四
Step2: 在长边上裁剪出3个正方形,左中右或者上中下,三个位置。 一分为三
Step3: 左上,右上,左下,右下,中心,全局resize,六个位置。 一分为六
Step4: 水平镜像。 一分为二
4*3*6*2 = 144
·学习率下降策略:每8个epoch下降4%。
0.96^100 = 0.016 , 800个epochs,才下降不到100倍
·数据增强:图像尺寸均匀分布在8%-100%之间,长宽比在[3/4, 4/3]之间, 光照畸变有效
·模型融合:多模型比单模型精度高
4、对比展望
和VGG网络相比,GoogLeNet参数量是VGG的二十分之一
AlexNet、VGG、GoogLeNet对比
研究意义及展望
1、开启多尺度卷积时代
2、拉开1*1卷积广泛应用序幕
3、为GoogLeNet系列开辟道路
4、Inception结构还可以有很大的提升