GoogLeNet v1 --Going deeper with convolutions 论文学习笔记
Going deeper with convolutions
一、相关研究
NIN(Network in Network):首个采用1*1卷积的卷积神经网络,舍弃全连接层,大大减少网络参数
Robust Object Recognition with Cortex-Like Mechanisms [15]:多尺度Gabor滤波器提取特征
Hebbian principle(赫布理论):“Cells that fire together, wire together”
1*1卷积广泛应用
二、研究动机
三、模型结构设计
借鉴Hebbain理论和多尺度处理,提出名为Inception的深度卷积神经网络,Inception特点是提高计算资源利用率,增加网络深度和宽度时,参数少量增加
Inception结构
Native Inception:
采用多尺度设计,使用1*1卷积降维,进行信息融合,并使用3*3 max pooling 保留了特征图数量,3*3 pool 可让特征图通道数增加,且用较少计算量
存在问题:
数据量激增;计算量大
改进 Inception:
解决方法:引入 1*1卷积压缩厚度(通道数)
GoogLeNet 结构
GoogLeNet总共达22层,可以分为三阶段:
第一阶段conv-pool-conv-pool 快速降低分辨率;
第二阶段堆叠使用Inception Module;
总共有9个Inception模块,每个Inception有4个分支,第一个是1*1 conv , 第二个是1*1 conv(3*3 reduce) 压缩通道数和3*3conv,第三个是1*1 conv( 5*5 reduce), 和5*5conv,第四个是3*3 max pooling和1*1 cov
第三阶段FC层分类输出,只有1层FC层
四、训练技巧
辅助损失
在训练时,GoogLeNet网络中增加了两个辅助损失, 2个辅助损失的权重都为0.3
增加辅助损失原因:网络太深从最后一层进行BP 时,将梯度能够有效的传回到网络的每一层中,增加被传播回来的梯度信号,增加loss回传,并增加正则约束;使得中间层特征也具有分类能力
学习率下降策略
每8个epoch下降4%
数据增强指导方针
图像尺寸均匀分布在8%-100%之间
长宽比在[3/4, 4/3]之间
Photometric distortions 有效,如亮度、饱和度和对比度等
具体训练过程超参数等,作者说训练过程太复杂,没办法告诉我们怎么训练的
五、测试技巧
1.Multi crop
1张图变144张图
Step1: 等比例缩放短边至256, 288, 320, 352,四种尺寸。
Step2: 在长边上裁剪出3个正方形,左中右或者上中下,三个位置。
Step3: 左上,右上,左下,右下,中心,全局resize,六个位置。
Step4: 水平镜像。
一张图经过4个步骤:4*3*6*2 = 144
2.模型融合
7模型融合时初始化和学习率相同,仅有图像采样方式和顺序的差异
六、实验结果
1.分类结果
模型融合: 多模型比单模型精度高
Multi Cros:crop越多,精度越高
2.检测结果
模型融合:多模型比单模型精度高