ResNet和ResNeXt分类结构

1.神经网络是否越深越好?

        随着神经网络层数的增多,则对输入图像提取的特征将会更加抽象,这是因为后层神经元的输入是前层神经元的累加和,而特征的抽象程度越高,更有利于后期的分类任务或回归任务。

2.是否可以无限增加神经网络层数?

       神经网络层数增加会导致梯度消失或梯度爆炸问题,以往的解决方法是输入标准化和批标准化。但当层数继续增加到一定程度时,训练集和测试机准确率都会下降,这并不是过拟合的原因,因为过拟合会使得训练集准确率上升。在ResNet论文中,称之为模型退化,

ResNet和ResNeXt分类结构

3.ResNet算法思想

        深层网络 = 浅层网咯 + 恒等映射(H(x)=x)

       x是前层输入,H(x)是最终的映射。而网络可学习另一种映射,即ResNet和ResNeXt分类结构,这是因为令网络学习F(x)逼近0,比令网络直接学习H(x)=x要更加容易。所以,最终可将映射转化为ResNet和ResNeXt分类结构的残差结构,如图所示:

ResNet和ResNeXt分类结构

        其中,1×1层负责减小和增加(恢复)特征图通道数,3×3层称为输入/输出维数较小的瓶颈(所以,此结构姐称之为瓶颈结构(Bottleneck Architecture)),如此可减少训练参数。

4. ResNet网络结构

ResNet和ResNeXt分类结构

          其中,FLOPs(float-point operations per second)表示每秒所执行的浮点次数。

5. ResNet训练参数设置

        在ImageNet数据集中,随机采样图像较短的边来调整该图像大小,以进行缩放。在训练过程中在每次卷积之后,**之前采用批标准化操作。预训练权重,使用SGD的优化方法,mini-batch为256,学习速度从0.1开始,到指定次数时除以10,训练模型的迭代次数可达60e4次,权重衰减为0.0001,动量为0.9。

6.ResNeXt算法思想

        借鉴了GoogLeNet网络的split-transform-merge策略和Resnet的Repeat layer策略,引入了基数(cardinality)。即,将BottleNet网络架构分解成多个均匀的分支结构,如图所示:

ResNet和ResNeXt分类结构

        其中,以256,1x1,4为例说明,256是前层特征图通道数,1x1是卷积核尺寸,4是卷积后的通道数,可知256=4*32。

7.RexNeXt网络结构

ResNet和ResNeXt分类结构

ResNet和ResNeXt分类结构

8.ResNeXt相比于ResNet的优点

1.网络结构更加模块化,简单明了;

2.需要手动调节的超参数更少,仅需条件基数(cardinality);

3.相同的参数,效果更好。