Inception模块分为V1、V2、V3和V4。
论文:Going deeper with convolutions
论文链接:https://arxiv.org/pdf/1409.4842v1.pdf
主要问题:
解决方法:
作者在神经网络设计上不是增加深度而是增加网络宽度,并且为了降低算力成本,作者在3*3和5*5卷积层之前添加额外的1*1卷积层,来限制输入信道的数量。
2.V2介绍
论文:Rethinking the Inception Architecture for Computer Vision
论文地址:https://arxiv.org/pdf/1512.00567v3.pdf
主要问题:
解决方法:
最左侧一排将5*5分解成两个3*3,实际上一个5*5卷积的计算成本是一个3*3卷积的2.78倍。所以叠加会提升性能。如下图:
推论出,若有n*n卷积核,那么我们可以分解为1*n和n*1两个卷积。如下图,若n为3,则和上图一致:
但是,为了解决表征性瓶颈,我们若拓宽模型而不是加深模型,那么会避免信息损失,如下图:
3.V3介绍
论文:Rethinking the Inception Architecture for Computer Vision
论文地址:https://arxiv.org/pdf/1512.00567v3.pdf
主要问题:
解决方法:
4.V4介绍
论文:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
论文地址:https://arxiv.org/pdf/1602.07261.pdf
主要问题:
使模块更加一致。作者还注意到某些模块有不必要的复杂性。这允许我们通过添加更多一致的模块来提高性能。
解决方法:
图1左侧是V4的整体结构,图1右侧是V4的stem部分,用于对于进入Inception模块钱的数据进行预处理。stem部分就是多次卷积+2次池化,池化采用了V3论文里面提到的卷积+pooling并行的结构,来防止bottleneck问题。stem后用了3种Inception模块。直接的Reduction模块起到了pooling作用,同样使用了并行的结构来防止bottleneck问题。
图1:Inception-V4结构
图2:从左到右分别为Inception-V4中的InceptionA\B\C模块
图3所示,V4中引入了专用的reduction block,它被用于改变网络的宽度和高度。
图3:Inception-V4中的Reduction模块
小总结:
原文:https://www.cnblogs.com/cccaroline/p/12080902.html