PS1:这里有一篇blog,做者Bharath Raj简洁明了地介绍这系列的工做:https://towardsdatascience.com/a-simple-guide-to-the-versions-of-the-inception-network-7fc52b863202,强烈建议阅读。python
PS2:我看了比较多的blog,都没有介绍清楚V2和V3的区别。主要是由于V2的提出涉及到两篇paper,而且V2和V3是在一篇论文中提到的。实际上,它们二者的区别并不大。网络
Going Deeper with Convolutions架构
因为图像的突出部分可能有极大的尺寸变化,这为卷积操做选择正确的内核大小创造了困难,好比更全局的信息应该使用大的内核,而更局部的信息应该使用小内核。不妨在同一级运行多种尺寸的滤波核,让网络本质变得更"宽"而不是”更深“。框架
# The total loss used by the inception net during training. total_loss = real_loss + 0.3 * aux_loss_1 + 0.3 * aux_loss_2
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shiftide
Rethinking the Inception Architecture for Computer Vision函数
将输出归一化为N(0,1正态分布,一方面能够采用较大的学习速率,加快收敛;另外一方面BN具备正则效应。性能
当卷积没有完全改变输入维度时,神经网络表现更好。过分减少尺寸会致使信息丢失,称为"representational bottleneck",巧妙地使用分解(factorization)方法,可提升卷积的计算效率。学习
Inception的演化ui
a为InceptionV1;用两个3x3卷积替换5x5获得b;再将3x3卷积分解为3x一、1x3得c;在高层特征中,卷积组被拓展为d已产生更多不同的特征。es5
下采样模块
InceptionV3再也不使用max pooling下采样,这样致使信息损失较大。因而做者想用conv升维,而后再pooling,但会带来较大的计算量,因此做者设计了一个并行双分支的结构Grid Size Reduction来取代max pooling。
figure五、figure六、figure7分别表示上图的b、c、d,每种block之间加入Grid Size Reduction。
Inceptionv2达到23.4%,而Inceptionv3是指在Inceptionv2上同时使用RMSProp、Label Smoothing和分解7x7卷积、辅助分类器使用BN。
Rethinking the Inception Architecture for Computer Vision
做者指出,辅助分类器在训练即将结束时准确度接近饱和时才会有大的贡献。所以能够做正则化regularizes。
Inception-ResNet and the Impact of Residual Connections on Learning
这篇文章结合ResNet和Inception提出了三种新的网络结构
当卷积核数量超过1000时,更深的单元会致使网络死亡。所以为了增长稳定性,做者对残差激活值进行0.1-0.3的缩放。
Xception: Deep Learning with Depthwise Separable Convolutions
Inception基于假设:卷积时将通道和空间卷积分离会更好。其1x1的卷积做用于通道,3x3的卷积同时做用于通道和空间,没有作到彻底分离。
Xception(Extream Inception)则让3x3卷积只做用于一个通道的特征图,从而实现了彻底分离。
InceptionV3到Xception的演化
Xception与depthwise separable conv的不一样之处:
GoogLeNet即InceptionV1提出了Inception结构,包含1x一、3x三、5x5的conv和pooling,使网络变宽,增长网络对多尺度的适应性。
Inception-ResNet是Inception和Residual Connection的结合,性能有所提高。其有两个版本v一、v2,v1的计算量跟InceptionV3类似,v2的计算量跟InceptionV4类似。
Xception借鉴了depth wise separable conv改进InceptionV3,将空间和通道彻底分离,从而提高了性能,下降了参数量。
[1]Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 1-9.
[2]Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint arXiv:1502.03167, 2015.
[3]Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2818-2826.
[4]Szegedy C, Ioffe S, Vanhoucke V, et al. Inception-v4, inception-resnet and the impact of residual connections on learning[C]//Thirty-First AAAI Conference on Artificial Intelligence. 2017.
[5]Chollet F. Xception: Deep learning with depthwise separable convolutions[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 1251-1258.
A Simple Guide to the Versions of the Inception Network