Inception结构
| 网络结构 | 优化方向 | 发布时间 |
|---|---|---|
| Inception V1 | GoogleNet | 2014 |
| Inception V2 | Batch Norm | 2015 |
| Inception v3 | Factorization | 2015 |
| Inception V4 | ResNet | 2016 |
Inception v1
Naive Inception
Inception Module主要考虑到了多个不同size的卷积核能够增强网络的适应力,最后通过concate操作合并各输出通道维度;但每层Inception Module的filters参数数量庞大(可以通过卷积核,在不损失模型特征表示能力的前提下,减少模型参数)。
Inception Module
第一版GoogleNet相比AlexNet减少了参数,但主要减少参数的原因在于全连接层参数的减少(模型主要的参数集中于全连接层)。
Inception v2
提出了著名的BN方法,减少了Internal Covariate Shift,加快了模型训练速度,也提高了收敛后的分类准确率
使用两个的卷积核来代替的卷积核(感受野相同),在降低参数的同时建立了更多的非线性变换,使得对CNN对特征的学习能力更强。
Inception v3
引入Factorization into small convolutions的思想,将一个较大的二维卷积核拆成两个较小的一维卷积核,比如使用和的卷积核代替卷积核。(节约了参数,加速运算并减轻了过拟合;增加了一层非线性扩展了模型表达能力;这种非对称的卷积结构拆分,可以处理更多、更丰富的空间特征,增加特征多样性)【但是,如果在模型的前期就使用这种分解,特征的表达效果不好,在中度大小的feature maps,比如size在之间】
Inception v3优化了Inception Module结构,除了原来的“两个卷积核代替卷积核”(在的feature maps上),还有使用“卷积核代替卷积核”(在的feature maps上),在分支模块里使用分支模块,如上图最后一个子图一样(在的feature maps上)。
Inception v4
这是两种缩小feature maps的方式。前者计算量小,但是限制了特征的表征能力;后者表征能力更强,但计算量更大。所以GoogleNet有了新的整合方式:
也就有了GoogleNet的进阶版:
Inception结合ResNet,增加了网络的收敛能力: