参考文章:
Inception v1(ILSVRC14):
产生动机:
自2012年AlexNet做出突破以来,直到GoogLeNet出来之前,大家的主流的效果突破大致是网络更深,网络更宽。但是纯粹的增大网络有两个缺点:过拟合和计算量的增加。同时还有梯度弥散问题。方法当然就是增加网络深度和宽度的同时减少参数。
但结构稀疏性和运算能力有矛盾,需要既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能,
所以Inception应运而生。(可以将稀疏矩阵聚类为较为密集的子矩阵来提高计算性能)
增加了多种核 1x1,3x3,5x5,还有直接max pooling的,为了避免concat起来的feature map厚度将会很大,在3x3前,5x5前,max pooling后分别加上了1x1的卷积核起到了降维的作用。
Inception V2:
相对于Inception V2, Inception V2 学习了 VGG 用两个3´3的卷积代替5´5的大卷积,在降低参数的同时建立了更多的非线性变换,使得 CNN 对特征的学习能力更强。
另外提出了著名的 Batch Normalization(以下简称BN)方法.
Inception V3:
引入了 Factorization,将一个较大的二维卷积拆成两个较小的一维卷积,比如将3´3卷积拆成1´3卷积和3´1卷积,一方面节约了大量参数,加速运算并减轻了过拟合,同时增加了一层非线性扩展模型表达能力,除了在 Inception Module 中使用分支,还在分支中使用了分支(Network In Network In Network)
Inception V4: