查看原文
其他

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

李健 有三AI 2019-12-26

03

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

李健


武汉大学硕士,研究方向为机器学习与计算机视觉

作者 | 李健(微信号:lijian05170517)

编辑 | 李健


01


Inception V1【1】

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

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


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

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

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


由Inception Module组成的GoogLeNet如下图:

对上图做如下说明:

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


Inception 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 Computer Vision[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.


更加请关注知乎和git项目。


打一个小广告,本公众号的计算机视觉公开课《AI 图像识别项目从入门到上线》上线了,将讲述从零基础到完成一个实际的项目到微信小程序上线的整个流程,欢迎交流捧场。



如果想加入我们,后台留言吧

微信

Longlongtogo

公众号内容

1 图像基础|2 深度学习|3 行业信息

往期综述

往期学员分享

往期开源框架

往期行业综述

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存