深入浅出——网络模型中Inception的作用与结构全解析

一 论文下载

  本文涉及到的网络模型的相关论文以及下载地址: [v1] Going Deeper with Convolutions, 6.67% test error http://arxiv.org/abs/1409.4842 [v2] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift, 4.8% test error http://arxiv.org/abs/1502.03167 [v3] Rethinking the Inception Architecture for Computer Vision, 3.5% test error http://arxiv.org/abs/1512.00567 [v4] Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning, 3.08% test error http://arxiv.org/abs/1602.07261

二 Inception结构引出的缘由

  先引入一张CNN结构演化图:

  2012年AlexNet做出历史突破以来,直到GoogLeNet出来之前,主流的网络结构突破大致是网络更深(层数),网络更宽(神经元数)。所以大家调侃深度学习为“深度调参”,但是纯粹的增大网络的缺点:

//1.参数太多,容易过拟合,若训练数据集有限;
//2.网络越大计算复杂度越大,难以应用;
//3.网络越深,梯度越往后穿越容易消失(梯度弥散),难以优化模型

  那么解决上述问题的方法当然就是增加网络深度和宽度的同时减少参数,Inception就是在这样的情况下应运而生。

三 Inception v1模型

  Inception v1的网络,将1x1,3x3,5x5的conv和3x3的pooling,堆叠在一起,一方面增加了网络的width,另一方面增加了网络对尺度的适应性;

  第一张图是论文中提出的最原始的版本,所有的卷积核都在上一层的所有输出上来做,那5×5的卷积核所需的计算量就太大了,造成了特征图厚度很大。为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,max pooling后分别加上了1x1的卷积核起到了降低特征图厚度的作用,也就是Inception v1的网络结构。   下面给出GoogLeNet的结构图:

三 Inception v2模型

  一方面了加入了BN层,减少了Internal Covariate Shift(内部neuron的数据分布发生变化),使每一层的输出都规范化到一个N(0, 1)的高斯;   另外一方面学习VGG用2个3x3的conv替代inception模块中的5x5,既降低了参数数量,也加速计算;

  使用3×3的已经很小了,那么更小的2×2呢?2×2虽然能使得参数进一步降低,但是不如另一种方式更加有效,那就是Asymmetric方式,即使用1×3和3×1两种来代替3×3的卷积核。这种结构在前几层效果不太好,但对特征图大小为12~20的中间层效果明显。

四 Inception v3模型

  v3一个最重要的改进是分解(Factorization),将7x7分解成两个一维的卷积(1x7,7x1),3x3也是一样(1x3,3x1),这样的好处,既可以加速计算(多余的计算能力可以用来加深网络),又可以将1个conv拆成2个conv,使得网络深度进一步增加,增加了网络的非线性,还有值得注意的地方是网络输入从224x224变为了299x299,更加精细设计了35x35/17x17/8x8的模块。

五 Inception v4模型

  v4研究了Inception模块结合Residual Connection能不能有改进?发现ResNet的结构可以极大地加速训练,同时性能也有提升,得到一个Inception-ResNet v2网络,同时还设计了一个更深更优化的Inception v4模型,能达到与Inception-ResNet v2相媲美的性能。   待补充..

六 参考文献

1.http://blog.csdn.net/stdcoutzyx/article/details/51052847

2.http://blog.csdn.net/cv_family_z/article/details/50789805

3.http://blog.csdn.net/sunbaigui/article/details/50807418

4.http://blog.csdn.net/bea_tree/article/details/51784026

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

GAN 的理解与 TensorFlow 的实现

前言 本文会从头介绍生成对抗式网络的一些内容,从生成式模型开始说起,到 GAN 的基本原理,InfoGAN,AC-GAN 的基本科普,如果有任何有错误的地方...

3258
来自专栏AI科技大本营的专栏

一文搞懂交叉熵在机器学习中的使用,透彻理解交叉熵背后的直觉

交叉熵(cross entropy)是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距。以前做一些分类问题的时候,没有过多的注意,直接调用现成的库,用...

1584
来自专栏机器之心

SIGIR 2018 | 大会最佳短论文:利用对抗学习的跨域正则化

近期学界有多个神经排序模型被提出,这些模型通过考虑原始查询-文档文本(query-document text)[14]、基于确切的查询词项匹配文档的模式 [5]...

532
来自专栏GAN&CV

DCGAN、WGAN、WGAN-GP、LSGAN、BEGAN原理总结及对比

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/d...

1613
来自专栏大数据文摘

手把手丨我们在UCL找到了一个糖尿病数据集,用机器学习预测糖尿病

1563
来自专栏林德熙的博客

卷积神经网络全面解析

本文转自: http://www.moonshile.com/post/juan-ji-shen-jing-wang-luo-quan-mian-jie-xi ...

1062
来自专栏AI研习社

CNN 中千奇百怪的卷积方式大汇总

推荐另一篇很好的总结:变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作。 这篇总结很专业,并且很好的回答了评论中的疑问: Depthwise Separ...

3755
来自专栏红色石头的机器学习之路

Coursera吴恩达《卷积神经网络》课程笔记(2)-- 深度卷积模型:案例研究

《Convolutional Neural Networks》是Andrw Ng深度学习专项课程中的第四门课。这门课主要介绍卷积神经网络(CNN)的基本概念、模...

4830
来自专栏ATYUN订阅号

【技术】动手实现会写数字的神经网络—半监督学习和生成式对抗网络介绍

在1889年,梵高画了这个美丽的艺术品:星月夜。如今,我的GAN模型只使用20%的标签数据,学会了画MNIST数字!它是怎么实现的?让我们动手做做看。 ? 半监...

48110
来自专栏机器之心

这些资源你肯定需要!超全的GAN PyTorch+Keras实现集合

选自GitHub 作者:eriklindernoren 机器之心编译 参与:刘晓坤、思源、李泽南 生成对抗网络一直是非常美妙且高效的方法,自 14 年 Ian...

2819

扫码关注云+社区