Inception(v1-v4)

Inception结构

网络结构 优化方向 发布时间
Inception V1 GoogleNet 2014
Inception V2 Batch Norm 2015
Inception v3 Factorization 2015
Inception V4 ResNet 2016

Inception v1

Naive Inception

Inception(v1-v4)_第1张图片

   Inception Module主要考虑到了多个不同size的卷积核能够增强网络的适应力,最后通过concate操作合并各输出通道维度;但每层 Inception Modulefilters参数数量庞大 (可以通过 11 1 ∗ 1 卷积核,在不损失模型特征表示能力的前提下,减少模型参数)

Inception Module

Inception(v1-v4)_第2张图片

  第一版GoogleNet相比AlexNet减少了参数,但主要减少参数的原因在于全连接层参数的减少 (模型主要的参数集中于全连接层)
Inception(v1-v4)_第3张图片

Inception v2

Inception(v1-v4)_第4张图片

  提出了著名的 BN方法,减少了 Internal Covariate Shift,加快了模型训练速度,也提高了收敛后的分类准确率
   使用两个 33 3 ∗ 3 的卷积核来代替 55 5 ∗ 5 的卷积核 (感受野相同),在降低参数的同时建立了更多的非线性变换,使得对CNN对特征的学习能力更强。

Inception v3

Inception(v1-v4)_第5张图片

   引入Factorization into small convolutions的思想,将一个较大的二维卷积核拆成两个较小的一维卷积核,比如使用 13 1 ∗ 3 31 3 ∗ 1 的卷积核代替 33 3 ∗ 3 卷积核。 (节约了参数,加速运算并减轻了过拟合;增加了一层非线性扩展了模型表达能力;这种非对称的卷积结构拆分,可以处理更多、更丰富的空间特征,增加特征多样性) 【但是,如果在模型的前期就使用这种分解,特征的表达效果不好,在中度大小的feature maps,比如size在 1220 12 到 20 之间】
   Inception v3优化了Inception Module结构,除了原来的“两个 33 3 ∗ 3 卷积核代替 55 5 ∗ 5 卷积核” (在 3535 35 ∗ 35 feature maps上),还有使用“ n11n n ∗ 1 后 接 1 ∗ n 卷积核代替 nn n ∗ n 卷积核” (在 1717 17 ∗ 17 feature maps上),在分支模块里使用分支模块,如上图最后一个子图一样 (在 88 8 ∗ 8 feature maps上)

Inception v4

Inception(v1-v4)_第6张图片

  这是两种缩小feature maps的方式。前者计算量小,但是限制了特征的表征能力;后者表征能力更强,但计算量更大。所以GoogleNet有了新的整合方式:
Inception(v1-v4)_第7张图片

  也就有了GoogleNet的进阶版:

Inception结合ResNet,增加了网络的收敛能力:

你可能感兴趣的:(深度学习,面试知识点)