GoogLeNet v1 --Going deeper with convolutions 论文学习笔记

                        Going deeper with convolutions

 

GoogLeNet v1 --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结构

GoogLeNet v1 --Going deeper with convolutions 论文学习笔记

Native Inception:

采用多尺度设计,使用1*1卷积降维,进行信息融合,并使用3*3 max pooling 保留了特征图数量,3*3 pool 可让特征图通道数增加,且用较少计算量

存在问题:

数据量激增;计算量大

改进 Inception:

解决方法:引入 1*1卷积压缩厚度(通道数)

 

GoogLeNet 结构

GoogLeNet v1 --Going deeper with convolutions 论文学习笔记

 

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 v1 --Going deeper with convolutions 论文学习笔记

四、训练技巧

辅助损失

在训练时,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.检测结果

模型融合:多模型比单模型精度高

 

GoogLeNet v1 --Going deeper with convolutions 论文学习笔记