深度学习之Inception模型结构全解析

文章目录

    • CNN演变史
    • 一、Inception v1模型
    • 二、Inception v2模型
    • 三、Inception v3模型
    • 四、Inception v4模型

CNN演变史

转载:系统学习深度学习(二十二)–CNN经典模型总结
卷积神经网络从Alexnet以来突破的方向就是增加网络深度和宽度的同时减少参数,但网络深度的提升会带来参数的急剧增加,会产生过拟合,计算复杂度越高;另一方面,网络越深,梯度越往后穿越容易消失(梯度弥散),难以训练和优化模型;Inception就是在这样的情况下应运而生。
深度学习之Inception模型结构全解析_第1张图片
Inception模型优势:

  • 采用了NIN网络提出的1x1卷积核,性价比高,用很少的计算量既可以增加一层的特征变换和非线性变换。
  • 提出Batch Normalization,通过一定的手段,把每层神经元的输入值分布拉到均值0方差1的正态分布,使其落入激活函数的敏感区,避免梯度消失,加快收敛。
  • 引入Inception module,4个分支结合的结构,每个分支采用1x1的卷积核。
  • 去除了最后的全连接层,改用全局平均池化层来代替(图像尺寸变为1x1),即大大减少计算量。

一、Inception v1模型

Inception v1模型去除了最后的全连接层,使用NIN网络的全局平均池化层来代替,最主要的改变是增加 1 ∗ 1 1*1 11卷积核,加上了 1 x 1 1x1 1x1的卷积核起到了降低特征图厚度的作用,也就是Inception v1的网络结构。具体内容详见下面这篇博客
1*1卷积核作用,为什么能减少参数数量

本人理解的1*1卷积核的作用包括以下三个方面:

  • 1、跨通道的特征整合
  • 2、特征通道的升维和降维
  • 3、降低参数量(简化模型)

Inception v1的网络,将1x1,3x3,5x5的conv和3x3的pooling,堆叠在一起,一方面增加了网络的width,另一方面增加了网络对尺度的适应性深度学习之Inception模型结构全解析_第2张图片

二、Inception v2模型

Inception v2模型相对于Inception v1模型的改进为:

  • 加入了BN层,减少了Internal Covariate Shift(内部neuron的数据分布发生变化),通过一定的手段,把每层神经元的输入值分布拉到均值0方差1的正态分布,使其落入激活函数的敏感区,避免梯度消失,加快收敛;
  • 学习VGG的模型架构,用2个3x3的conv替代inception模块中的5x5,既降低了参数数量,也加速计算,能够减少参数,另一方面相当于进行了更多的非线性映射,可以增加网络的拟合/表达能力,结构简洁,层数更深、特征图更宽;

三、Inception v3模型

Inception v3模型一个最重要的改进是分解(Factorization),将7x7分解成两个一维的卷积(1x7,7x1),3x3也是一样(1x3,3x1),这样的好处,既可以加速计算(多余的计算能力可以用来加深网络),又可以将1个conv拆成2个conv,使得网络深度进一步增加,增加了网络的非线性。
转载:用inception-v3模型,训练最后一层,打造自己的模型

四、Inception v4模型

Inception v4模型是在研究Inception 模块和 ResNet 模块的结合,ResNet的结构可以极大地加速训练,同时性能也有提升,得到一个Inception-ResNet v2网络,同时还设计了一个更深更优化的Inception v4模型,能达到与Inception-ResNet v2相媲美的性能。
转载:Inception v4, Inception-ResNet 论文笔记

转载:Inception V4网络结构和代码解析

你可能感兴趣的:(深度学习)