ResNet和ResNeXt分类结构
1.神经网络是否越深越好?
随着神经网络层数的增多,则对输入图像提取的特征将会更加抽象,这是因为后层神经元的输入是前层神经元的累加和,而特征的抽象程度越高,更有利于后期的分类任务或回归任务。
2.是否可以无限增加神经网络层数?
神经网络层数增加会导致梯度消失或梯度爆炸问题,以往的解决方法是输入标准化和批标准化。但当层数继续增加到一定程度时,训练集和测试机准确率都会下降,这并不是过拟合的原因,因为过拟合会使得训练集准确率上升。在ResNet论文中,称之为模型退化,
3.ResNet算法思想
深层网络 = 浅层网咯 + 恒等映射(H(x)=x)
x是前层输入,H(x)是最终的映射。而网络可学习另一种映射,即,这是因为令网络学习F(x)逼近0,比令网络直接学习H(x)=x要更加容易。所以,最终可将映射转化为的残差结构,如图所示:
其中,1×1层负责减小和增加(恢复)特征图通道数,3×3层称为输入/输出维数较小的瓶颈(所以,此结构姐称之为瓶颈结构(Bottleneck Architecture)),如此可减少训练参数。
4. ResNet网络结构
其中,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网络架构分解成多个均匀的分支结构,如图所示:
其中,以256,1x1,4为例说明,256是前层特征图通道数,1x1是卷积核尺寸,4是卷积后的通道数,可知256=4*32。
7.RexNeXt网络结构
8.ResNeXt相比于ResNet的优点
1.网络结构更加模块化,简单明了;
2.需要手动调节的超参数更少,仅需条件基数(cardinality);
3.相同的参数,效果更好。