ResNet 论文研读笔记 (2)

不仅是对于全连接层,对于卷积层残差连接也是同样适用的。函数\(F(x, {W_i})\)可以表示多个卷积层,在两个特征图的通道之间执行元素级的加法

网络架构

VGG、普通网络与残差网络的配置对比

ResNet 论文研读笔记

详细架构

ResNet 论文研读笔记

普通网络

卷积层主要为3*3的滤波器,并遵循以下两点要求

输出特征尺寸相同的层含有相同数量的滤波器

如果特征尺寸减半,则滤波器的数量增加一倍来保证每层的时间复杂度相同

直接通过stride为2的卷积层来进行下采样。在网络的最后是一个全局的平均pooling层和一个1000 类的包含softmax的全连接层。加权层的层数为34

残差网络

在普通网络的基础上,插入shortcut连接,将网络变成了对应的残差版本。如果输入和输出的维度相同时,可以直接使用恒等shortcuts(Eq.1)(残差连接实线部分),当维度增加时(残差连接虚线部分),考虑两个选项

shortcut仍然使用恒等映射,在增加的维度上使用0来填充,这样做不会增加额外的参数

使用Eq.2的映射shortcut来使维度保持一致(通过1*1的卷积)

对于这两个选项,当shortcut跨越两种尺寸的特征图时,均使用stride为2的卷积

实验

普通网络
实验表明34层的网络比18层的网络具有更高的验证错误率,比较了训练过程中的训练及验证错误率之后,观测到了明显的退化现象----在整个训练过程中34 层的网络具有更高的训练错误率,即使18层网络的解空间为34层解空间的一个子空间

残差网络
实验观察到以下三点

34层的ResNet比18层ResNet的结果更优。更重要的是,34 层的ResNet在训练集和验证集上均展现出了更低的错误率。这表明了这种设置可以很好的解决退化问题,并且可以由增加的深度来提高准确率

与对应的普通网络相比,34层的ResNet在top-1 错误率上降低了3.5%,这得益于训练错误率的降低,也验证了在极深的网络中残差学习的有效性

18层的普通网络和残差网络的准确率很接近,但是ResNet 的收敛速度要快得多

错误率比较

ResNet 论文研读笔记

如果网络"并不是特别深"(如18层),现有的SGD能够很好的对普通网络进行求解,而ResNet能够使优化得到更快的收敛

恒等 vs 映射 Shortcuts

已经验证了无参数的恒等shortcuts是有助于训练的。接下来研究映射shortcut(Eq.2),比较了三种选项

对增加的维度使用0填充,所有的shortcuts是无参数的

对增加的维度使用映射shortcuts,其它使用恒等shortcuts

所有的都是映射shortcuts

实验表明三种选项的模型都比普通模型要好,2略好于1,研究者认为这是因为1中的0填充并没有进行残差学习。3略好于2,研究者将其归结于更多的(13个)映射shortcuts所引入的参数,实验结果也表明映射shortcuts对于解决退化问题并不是必需的,因此为了减少复杂度和模型尺寸,在之下的研究中并不使用模型3。恒等shortcuts因其无额外复杂度而对以下介绍的瓶颈结构尤为重要

深度瓶颈结构

将构建块修改为瓶颈设计。对于每一个残差函数\(F\),使用了三个叠加层而不是两个,这三层分别是1*1、3*3 和1*1 的卷积,1*1 的层主要负责减少然后增加(恢复)维度,剩下的3*3的层来减少输入和输出的维度

构建块(Fig.5),这两种设计具有相似的时间复杂度

ResNet 论文研读笔记

无参数的恒等shortcuts对于瓶颈结构尤为重要。如果使用映射shortcuts来替代Fig.5(右)中的恒等shortcuts,将会发现时间复杂度和模型尺寸都会增加一倍,因为shortcut连接了两个高维端,所以恒等shortcuts对于瓶颈设计是更加有效的

层响应分析

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsgzx.html