首页 > 其他分享 >【模型解读】GoogLeNet中的inception结构,你看懂了吗

【模型解读】GoogLeNet中的inception结构,你看懂了吗

时间:2022-10-12 16:01:28浏览次数:84  
标签:loss 卷积 Module GoogLeNet 解读 Inception inception Szegedy


这是深度学习模型解读第3篇,本篇我们将介绍GoogLeNet v1到v3。

作者&编辑 | 言有三

 

01 Inception V1【1】

GoogLeNet首次出现在2014年ILSVRC 比赛中获得冠军。这次的版本通常称其为Inception V1。Inception V1有22层深,参数量为5M。同一时期的VGGNet性能和Inception V1差不多,但是参数量也是远大于InceptionV1。

Inception Module是GoogLeNet的核心组成单元。结构如下图:

【模型解读】GoogLeNet中的inception结构,你看懂了吗_深度学习模型

Inception Module基本组成结构有四个成分。1*1卷积,3*3卷积,5*5卷积,3*3最大池化。最后对四个成分运算结果进行通道上组合。这就是Inception Module的核心思想。通过多个卷积核提取图像不同尺度的信息,最后进行融合,可以得到图像更好的表征

【模型解读】GoogLeNet中的inception结构,你看懂了吗_计算机视觉_02

【模型解读】GoogLeNet中的inception结构,你看懂了吗_卷积核_03

如上图所示,假设我们要提取猫脸特征,而上面两张图的猫脸占比显然不一样,那么我们就得用不同卷积核提取不同信息。信息分布比较全局性的图像采用大卷积核,信息分布比较局部性的图像采用小卷积核。

图b是对图a的改进,即在3*3卷积,5*5卷积前加1*1卷积,目的是为了先进行降维,相比较于原来结构减少了较多参数。而把1*1卷积放在3*3最大池化之后,相比较放在前面,也是为了参数量的减少。

由Inception Module组成的GoogLeNet如下图:

【模型解读】GoogLeNet中的inception结构,你看懂了吗_卷积核_04

对上图做如下说明:

1.  采用模块化结构,方便增添和修改。其实网络结构就是叠加Inception Module。

2.采用Network in Network中用Averagepool来代替全连接层的思想。实际在最后一层还是添加了一个全连接层,是为了大家做finetune。

3.依然使用Dropout层,防止过拟合。

4.另外增加了两个辅助的softmax分支,作用有两点,一是为了避免梯度消失,用于向前传导梯度。反向传播时如果有一层求导为0,链式求导结果则为0。二是将中间某一层输出用作分类,起到模型融合作用。最后的loss=loss_2 + 0.3 * loss_1 + 0.3 * loss_0。实际测试时,这两个辅助softmax分支会被去掉。

 

02 Inception V2【2】

1.学习VGGNet的特点,用两个3*3卷积代替5*5卷积,可以降低参数量。

2.提出BN算法。BN算法是一个正则化方法,可以提高大网络的收敛速度。简单介绍一下BN算法。就是对输入层信息分布标准化处理,使得规范化为N(0,1)的高斯分布,收敛速度大大提高。

 

03 nception V3【3】

学习Factorization into small convolutions的思想,将一个二维卷积拆分成两个较小卷积,例如将7*7卷积拆成1*7卷积和7*1卷积。这样做的好处是降低参数量。paper中指出,通过这种非对称的卷积拆分,比对称的拆分为几个相同的卷积效果更好,可以处理更多,更丰富的空间特征。

本来还有Inception V4【4】的,考虑到借鉴了微软的ResNet网络结构思想,在后面介绍Resnet中的残差结构时再做介绍。

 

参考文献

【1】Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2015:1-9.

Ioffe S, Szegedy C. 

【2】Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[J].2015:448-456.

【3】Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the Inception Architecture for ComputerVision[J]. 2015:2818-2826.

【4】Szegedy C, Ioffe S, Vanhoucke V, et al. Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning[J]. 2016.

 

同时,在我的知乎专栏也会开始同步更新这个模块,欢迎来交流

https://zhuanlan.zhihu.com/c_151876233


【模型解读】GoogLeNet中的inception结构,你看懂了吗_深度学习_05

 

 

 

标签:loss,卷积,Module,GoogLeNet,解读,Inception,inception,Szegedy
From: https://blog.51cto.com/u_14122493/5751043

相关文章

  • [caffe解读] caffe从数学公式到代码实现5-caffe中的卷积
    今天要讲的就是跟卷积相关的一些layer了im2col_layer.cppbase_conv_layer.cppconv_layer.cppdeconv_layer.cppinner_product_layer.cpp01im2col_layer.cpp这是caffe里面的重......
  • 【caffe解读】 caffe从数学公式到代码实现4-认识caffe自带的7大loss
    文章首发于微信公众号《与有三学AI》​本节说caffe中常见loss的推导,具体包含下面的cpp。multinomial_logistic_loss_layer.cppsoftmax_loss_layer.cppeuclidean_loss_laye......
  • 【caffe解读】 caffe从数学公式到代码实现2-基础函数类
    文章首发于微信公众号《与有三学AI》​接着上一篇,本篇就开始读layers下面的cpp,先看一下layers下面都有哪些cpp。absval_layer.cppaccuracy_layer.cppargmax_layer.cppbas......
  • 【caffe解读】 caffe从数学公式到代码实现1-导论
    ​真的很多年没有认真写csdn博客了,我回来了今天开一个新板块,目标是死磕现有的几大机器学习框架的代码,给想入门的小白们一些帮助。作为一个在图像行业战斗了几年的程序员,深知......
  • 公司经营的困局解读——不是努力不够,而是不懂投放数据
    "IT有得聊”是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业、实用的知识与技能,快速提升职场竞争力。 导Lead语有的人认为:“我已经很......
  • 炼丹感悟——超详细解读
    计算机视觉研究院专栏作者:Edison_G感谢大家一直支持“计算机视觉研究院”微信公众号,平时有没做好的地方望大家见谅,做的不好的希望您指出来,我们会修正不对之处,将做得更好,将最......
  • 解读Vue3模板编译优化
    今天的文章打算学习下Vue3下的模板编译与Vue2下的差异,以及VDOM下Diff算法的优化。编译入口了解过Vue3的同学肯定知道Vue3引入了新的组合Api,在组件mount阶......
  • React生命周期深度完全解读
    在React中,对于每一次由状态改变导致页面视图的改变,都会经历两个阶段:render阶段、commit阶段。只有class组件才有生命周期,因为class组件会创建对应的实例,而函数组......
  • AQS源码深度解析之cancelAcquire方法解读
    1.背景2.源码解读调用该方法的地方 方法源码解读/***取消获取资源(异常处理时都需要用到)*方法主要功能:*1.处理当前取消节点的状态;......
  • 加解密模式之CBC模式和ECB模式解读
    1.CBC模式CBC模式的全称:CipherBlockChaining模式(密文分组链接模式),之所以叫这个名字,是因为密文分组像链条一样互相连接在一起。在CBC模式中,首先将明文分组和一个密文......