[深度学习从入门到女装]GoogLeNet

GoogLeNet提出了Inception结构,并且有四次更新分别为Inception v1、v2、v3、v4

 

GoogLeNet Incepiton v1

论文地址:Going Deeper with Convolutions

文中提到说,想要更高的识别率,很自然的想到增加网络的层数(网络更深)和每层卷积数量(网络更宽),但是这样会导致两个问题:第一个就是参数太大了,容易导致over-fitting(过拟合),特别是在数据集数量有限的情况下,而有效的数据集获取非常困难,需要大量人的人力进行标定;另外一个缺点就是会导致很多重复计算。想要解决这个问题就是使用更加稀疏的网络结构,但是现在的计算设备对于分布不均匀并且稀疏的计算比较困难

Inception结构就是为了近似稀疏分布提出来的,主要思想就是考虑如何近似一个局部最优的稀疏卷积视觉网络结构

上图是提出的Inception的原始结构,虽然这个结构可能会提供最优空间结构,但是因为同时使用多个不同尺寸的卷积核,很没有效率会提高很大计算量

为了解决(a)中原始结构计算量过大的问题,提出了带维度减少的Inception结构,也就是在进行3*3、5*5卷积之前,先使用了1*1的卷积减少维度,这样就会减少3*3、5*5的参数和计算量

为了解决深层网络梯度传递问题,GoogLeNet加入了两个辅助分类器(auxiliary classifiers),连接在网络的中部(4a、4d),并且以0.3的权重参与到最后的loss梯度反向传递中,在测试过程中这两个辅助分类器被弃用

辅助分类器:

1、一个5*5size、stide为3的平均pooling层,(4a)的输出为4*4*512,(4d)的输出为4*4*528

2、128个1*1的卷积用来减少维度和ReLU

3、1024个节点的全连接层和ReLU

4、70%的dropout

5、用于分类的softmax层

盗图来自:https://blog.csdn.net/qq_31531635/article/details/72232651

GoogLeNet Incepiton v2

论文地址:Rethinking the Inception Architecture for Computer Vision

文中提到说大尺寸的卷积太消耗计算量和内存,比如一个5*5的卷积核,使用两个3*3的卷积来代替,效果相同而且计算量和参数量更小,如下图所示,两个3*3的卷积替代5*5的卷积

如下两图(左图为之前的Inception结构,右图为提出使用两个3*3替代5*5的卷积)

GoogLeNet Incepiton v3

论文地址:Rethinking the Inception Architecture for Computer Vision

 

然后文中还提到,既然3*3的卷积来代替5*5的卷积效果好还能减少参数和计算量,那么使用2*2的卷积呢,文中指出使用两个2*2的卷积不如使用1*3和3*1的不平衡卷积来代替3*3的卷积,使用1*3和3*1的卷积能带来33%的减少,而使用两个2*2的卷积只能带来11%的减少

在理论上,我们可以使用所有1*n和n*1来代替n*n,如下图所示

但是根据实践表明,这种方式在早期的卷积层中表现的不好,但是在中等网格尺寸(grid-size)(m*m的future map中,m为12-20)之间表现很好。在那些层使用1*7和7*1表现的很好

关于辅助分类器(Auxiliary Classifiers),文章中说道他们发现,在训练的开始阶段并没有提供什么效果,但是在训练的末尾阶段,辅助分类器提高了收敛效率并且达到更好的效果。移除低层的辅助分类器在最终的结果上并没有什么区别,但是文章指出辅助分类器还具有正则化的效果,在他们实验中发现如果辅助分类器使用BN或者dropout,主分类器会有更好的效果

关于网格尺寸缩小,本文提出了上图所示的方法,左图为操作,右图为尺寸变化

 

 

 

至此我们根据以上的小模块的构建来搭建了一种新的网络结构

 

GoogLeNet Incepiton v4

论文地址:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

 

Inception v4

Stem

Inception-A

Reduction-A

k=192、l=224

Inception-B

Reduction-B

Inception-C

 

 

Inception-ResNet-v1

stem

Inception-ResNet-A

Reduction-A

k=192、l=192

Inception-ResNet-B

Reduction-B

Inceptioin-ResNet-C

 

Inception-ResNet-v2

stem

Inception-ResNet-A

Reduction-A

k=256、l=256

Inception-ResNet-B

Reduction-B

Incepiton-ResNet-C

 

Scaling of the Residuals

文章中提到,他们发现在filter的数量大于1000的时候,残差网络表现的不稳定并且网络在训练中会早早的died,意味着在global average pooling之前的最后一层在经过上万次的迭代之后,只是在处理0。这种问题无法使用降低learning rate和加入额外的Batch normalization来解决

作者发现在激活层之前缩小残差可以稳定训练,一般选取0.1-0.3的缩放因子

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值