GoogLeNet笔记

1.介绍

GoogLet是ILSVRC-2014分类任务和目标检测任务的冠军,又称为Inception-v1,有22层。在增加网络深度和宽度的同时,能够保持计算预算恒定。

2.NiN

自从LeNet以来,卷积神经网络有个主流的结构是一系列卷积层(+normalization/max-pooling)和全连接层,这样的结构在MNIST和Cifar等数据集上取得了很好的结果。对于像Imagenet这样的大数据集,趋势是网络变得更深、更宽,使用dropout避免过拟合。

GoogLeNet借鉴了Network-in-Network的思想.NiN有两个很重要的观点:

  1. 1×1卷积的使用
    文中提出使用mlpconv网络层替代传统的convolution层。mlp层实际上是卷积加传统的mlp(多层感知器),因为convolution是线性的,而mlp是非线性的,后者能够得到更高的抽象,泛化能力更强。在跨通道(cross channel,cross feature map)情况下,mlpconv等价于卷积层+1×1卷积层,所以此时mlpconv层也叫cccp层(cascaded cross channel parametric pooling)。

  2. CNN网络中不使用FC层(全连接层)
    文中提出使用Global Average Pooling取代最后的全连接层,因为全连接层参数多且易过拟合。做法即移除全连接层,在最后一层(文中使用mlpconv)层,后面加一层Average Pooling层。

以上两点,之所以重要,在于,其在较大程度上减少了参数个数,确能够得到一个较好的结果。而参数规模的减少,不仅有利用网络层数的加深(由于参数过多,网络规模过大,GPU显存等不够用而限制网络层数的增加,从而限制模型的泛化能力),而且在训练时间上也得到改进。

  • 传统的卷积层

这里写图片描述

  • 单通道mlpconv层
    这里写图片描述

  • 跨通道mlpconv层(cccp层)
    这里写图片描述

3.网络结构

3.1 Inception结构

这里写图片描述

nception module的提出主要考虑多个不同size的卷积核能够hold图像当中不同cluster的信息,为方便计算,paper中分别使用1*1,3*3,5*5,同时加入3*3 max pooling模块。 然而这里存在一个很大的计算隐患,每一层Inception module的输出的filters将是分支所有filters数量的综合,经过多层之后,最终model的数量将会变得巨大,naive的inception会对计算资源有更大的依赖。 前面我们有提到Network-in-Network模型,1*1的模型能够有效进行降维(使用更少的来表达尽可能多的信息),所以文章提出了”Inception module with dimension reduction”,在不损失模型特征表示能力的前提下,尽量减少filters的数量,达到减少model复杂度的目的。

3.2 整体结构

这里写图片描述

4.效果

针对分类问题,与其他队伍的模型比较
这里写图片描述

采用不同数据处理方法和模型组合,效果不同
这里写图片描述
top-5的6.67%的错误率是集成7个模型的结果。

参考文献:
1.论文Going Deeper with Convolutions
2.http://www.duanshishi.com/?p=1678

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值