Inception V1-V4

论文:Inception V1:https://arxiv.org/abs/1409.4842

tensorflow官方代码:https://github.com/tensorflow/models/blob/master/research/slim/nets/inception_v1.py

网络结构:

网络基本模块:

要想提高CNN的网络能力,一般让网络更深或者更宽。Inception则走的变宽路线。

图a:网络计算量非常大。

图b:通过1*1卷积把信息集中在一起,减少了计算量(降的太多会带来另一个问题--信息丢失)。在不同size的感受野上做特征提取,进行多维度特征的融合,使得网络更宽,也在一定程度上避免了网络太深梯度弥散的问题。

Auxiliary Classifier:

网络太深的话不好训练,所以训练中加了两个侧枝,监督网络,起正则化作用(Inception V3 中有提到,shoutcut之后很少人用了)。


继续沿用Alxnet的LRN(局部响应归一化):

                                              


论文:Inception V2 :https://arxiv.org/abs/1502.03167

tensorflow官方代码:https://github.com/tensorflow/models/blob/master/research/slim/nets/inception_v2.py

创新点:

弃用了LRN,加入了Batch Normalization,其实在InceptionV2就用两个3*3卷积替代5*5卷积了(主要在V3体现了).

Batch Normalization :

每一层网络的输入都会因为前一层网络的参数的变幻其分布发生改变,这要求有着很小的学习率和对参数很好的初始化,使得训练过程变得缓慢且复杂。我们希望每一层的输入分布是稳定的,这便是BN做的事情(Internal Covariate Shift)。

1.加速了网络训练。

2.防止梯度消失(网络越深,越容易梯度弥散)。

FC:所有样本同一个神经元的激活值,求其均值和方差。

Conv:所有样本同一个卷积核输出的feature map,求其均值和方差。

γ,β学习参数,并不是所有的网络(0,1)表现最好。

training:均值和方差根据batch计算得到,momentum控制

inference:滑动平均值


论文:Inception V3 :https://arxiv.org/abs/1512.00567

tensorflow官方代码:https://github.com/tensorflow/models/blob/master/research/slim/nets/inception_v3.py

创新点:

5*5卷积用2层3*3卷积替代;

7*7卷积用3层3*3卷积替代;

3*3卷积用1*3和3*1替代。

提出了 "Model Regularization via Label Smoothing"

通用设计规则:

作者在文章开头归纳了4条神经网络设计原则:

1.bottleneck  feature map减小的时候要合适,不然会导致丢失信息。

One should avoid bottlenecks with extreme compression。

the dimensionality merely provides a rough estimate of information content.

2.更高维度的特征表示更稀疏,耦合更少,容易训练。文中原话:

Higher dimensional representations are easier to process locally within a network. Increasing the activations per tile in a convolutional network allows for more disentangled features. The resulting networks will train faster.

3.空间聚合,在1*1降低通道数的时候并不会带来很大的影响

Spatial aggregation can be done over lower dimensional embeddings without much or any loss in representational power. For example, before performing a more spread out (e.g. 3 × 3) convolution, one can reduce the dimension of the input representation before the spatial aggregation without expecting serious adverse effects

4.协调提高网络深度和宽度

Balance the width and depth of the network.

Increasing both the width and the depth of the network can contribute to higher quality networks

卷积分解:

感受野相同,参数变少。

网络结构:

Model Regularization via Label Smoothing(LSR):

1.避免过拟合

2.防止网络预测过于自信

it may result in over-fitting:

the model becomes too confident about its prediction

ε是一个较小的数,这样ground truth对应的标签有大部分的概率,而其它类别也有很小的的概率。


论文:Inception V4:https://arxiv.org/abs/1602.07261

tensorflow官方代码:

Inception V4:https://github.com/tensorflow/models/blob/master/research/slim/nets/inception_v4.py

Inception_resnet_v2:https://github.com/tensorflow/models/blob/master/research/slim/nets/inception_resnet_v2.py

创新点:

结合了Resnet。

Residual Connection:

残差连接只能加速网络收敛,并不会明显提升模型精度,真正提高网络精度的还是“更大的网络规模”。

Although the residual version converges faster, the final accuracy seems to mainly depend on the model size.

引入了residual connection以后,网络太深了不稳定,即使降低学习率,增加BN层都没有用,这时候就在激活前缩小残差可以保持稳定。

猜你喜欢

转载自blog.csdn.net/weixin_41172694/article/details/84583458