[caffe]深度学习之图像分类模型googlenet[inception v1]解读

——转自:http://blog.csdn.net/sunbaigui/article/details/50807362

简单明了,就再转到这里,多谢。

一、简介


googlenet和vgg是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper。跟vgg不同的是,googlenet做了更大胆的网络上的尝试而不是像vgg继承了lenet以及alexnet的一些框架,该模型虽然有22层,但大小却比alexnet和vgg都小很多,差不多20m的样子。



二、网络分析


具体网络配置如链接:https://github.com/BVLC/caffe/blob/master/models/bvlc_googlenet/train_val.prototxt

文章提出获得高质量模型最保险的做法就是增加模型的深度(层数)或者是其宽度(层核或者神经元数),但是这里一般设计思路的情况下会出现两个缺陷(1.参数太多,容易过拟合,若训练数据集有限;2.网络越大计算复杂度越大,难以应用;3.网络越深,梯度越往后穿越容易消失,难以优化模型)。googlenet的主要思想就是围绕这两个思路去做的:

1.深度,层数更深,文章采用了22层,为了避免上述提到的梯度消失问题,googlenet巧妙的在不同深度处增加了两个loss来保证梯度回传消失的现象。

2.宽度,增加了多种核1x1,3x3,5x5,还有直接max pooling的,但是如果简单的将这些应用到feature map上的话,concat起来的feature map厚度将会很大,所以在googlenet中为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,max pooling后分别加上了1x1的卷积核起到了降低feature map厚度的作用。以下是googlenet用的inception可以称之为inception v1,如下图所示:


综上googlent有两个最重要的创新点分别是为了解决深度和宽度受限来设计的,由于googlenet的两个辅助loss的限制,很多文章拿base model的时候比较偏向与vgg


把整个Inception的网络架构画出来,更直观感受网络结构
1.宽度。总共是9个Inception的模块,每个模块除了num_output的个数不一样之外,其他的都是相同的。每一个卷积后都要做relu操作。


2.深度。除了在最后的全连接计算了loss和top_1,top_5的准确率之外,还在inception_4a/output

和inception_4d/output之后进行池化卷积全连接,最后计算loss和top_1,top_5,个人感觉这种方式,

一方面可以比较不同深度下的loss和准确率,同时,这些中间层的backward computation会对整个起到

调整梯度的作用,这样防止当层次过深时的梯度消失的问题。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值