深度学习论文总结之ResNet-v2和ResNeXt

ResNet -v2:Identity Mappings in Deep Residual Networks
论文地址:https://arxiv.org/abs/1603.0502
优点:在整个网络中信息可以“直接”传播
残差网络(ResNet)由“残差单元(Residual Units)”堆叠而成,每个单元可以表示为:
在这里插入图片描述
其中,F代表残差函数,h代表恒等映射,即h(xl)=xl,通过添加恒等快捷连接(skip connection / shortcut)来实现,f代表ReLU激活函数。在ResNet中,通过恒等快捷连接,在残差单元中,信息能够直接传播。

而在ResNet-v2中,作者分提出了一个进一步的模型:在深度残差网络中构建一个信息“直接”传播的路径——不只是在残差单元中,而且是在整个网络中信息可以“直接”传播。如果公式中 的函数 h() 和 f() 都是恒等映射,那么信号可以在单元间直接进行前向-反向传播。
如果 h() 和 f() 都是恒等映射,那么ResNet中的公式可以改写成
在这里插入图片描述
对于任意两层网络,均有关系
深度学习论文总结之ResNet-v2和ResNeXt_第1张图片
因此,在ResNet-v2网络具有两个特征:(i)深层单元的特征可以由浅层单元的特征和残差函数相加得到;(ii)任意深层单元的特征都可以由起始特征x0与先前所有残差函数相加得到,而这与普通(plain)网络很大不同,普通网络的深层特征是由一系列的矩阵向量相乘得到,换句话说,残差网络是连加,普通网络是连乘。所以,在ResNet-v2中,信号可以在单元间直接进行前向-反向传播,整个网络中信息可以“直接”传播。

如何实现 f() 也为恒等映射?作者提出了预激活模式,结构如图中e所示:
深度学习论文总结之ResNet-v2和ResNeXt_第2张图片深度学习论文总结之ResNet-v2和ResNeXt_第3张图片在CIFAR-10中的分类结果如图所示。BN after addition:效果比基准差,BN层移到相加操作后面会阻碍信号传播,一个明显的现象就是训练初期误差下降缓慢。Relu before addition:这样组合的话残差函数分支的输出就一直保持非负,这会影响到模型的表示能力,而实验结果也表明这种组合比基准差。
根据激活函数与相加操作的位置关系,我们称ResNet的组合方式为“后激活(post-activation)”,现在新的组合方式称之为“预激活(pre-activation。预激活方式又可以分为两种:只将ReLU放在前面,或者将ReLU和BN都放到前面,根据表中的结果可以看出full pre-activation的效果要更好。

ResNeXt:Aggregated Residual Transformations for Deep Neural Networks
论文地址:https://arxiv.org/abs/1611.05431
贡献:1.与 ResNet 相比,相同的参数个数,结果更好:一个 101 层的 ResNeXt 网络,和 200 层的 ResNet 准确度差不多,但是计算量只有后者的一半;2.需要手动调节的超参少
模块结构:
深度学习论文总结之ResNet-v2和ResNeXt_第4张图片 在ResNeXt中,作者提出了cardinality 的概念,图中分支的个数就是 cardinality。
借鉴了 GoogLeNet 的 split-transform-merge,和 VGG/ResNets 的 repeat layer,作者提出了 split-transform-merge模式, 通过在大卷积核层两侧加入 1x1 的网络层,控制核个数,减少参数个数的方式,具体结构如下。
深度学习论文总结之ResNet-v2和ResNeXt_第5张图片一块模块中具有相同的拓扑结构,C代表了结构的数量,并且遵守两个规则:
1.产生相同尺寸的特征图,拓扑结构共享超参数(宽度和卷积核尺寸)
2.当特征图进行下采样时(长宽各缩小一半),特征图深度扩大一倍

作者展示了三种相同的 ResNeXt blocks,且都等价:
深度学习论文总结之ResNet-v2和ResNeXt_第6张图片 fig 3.c 采用32个 group,每个 group 的输入输出 channels 都是4,最后把channels合并。最终作者使用的是下图最右边的模型,更加简洁并且训练更快。
总结:
1.ResNeXt 与 ResNet 在相同参数个数情况下,训练时前者错误率更低,但下降速度差不多
2.相同参数情况下,增加 cardinality 比增加卷积个数更加有效
3.101 层的 ResNeXt 比 200 层的 ResNet 更好
4.几种 sota 的模型,ResNeXt 准确率最高

你可能感兴趣的:(深度学习)