Wide Residual Networks论文记录

简介

随着深度神经网络的不断发展,网络的层数也在不断加深,每提高一个百分点精度是一小部分都要花费几乎两倍的层数,较深层的网络模型中只有部分模块具有很好的表征能力,非常深的剩余网络会减少特征重用,使得网络训练的特别慢。所以对ResNet块进行了研究,提出了减小残差网络的深度,增大残差网络的宽度的新结构(WRN宽剩余网络)。深度网络具有优越性,然而会在训练中存在一些看你,比如爆炸/梯度消失和退化。后续工作表明剩余链路加快了深度网络的收敛速度。残差网络和公路网络的本质区别就是,后者的残差链路是门控的,并且知道这些门的权值,目前剩余网络研究主要集中在ResNet块内的**顺序和剩余网络的深度,本文试图进行一个超越以上几点的实验研究。

网络结构

Wide Residual Networks论文记录
上图(a)是ResNet的残差块结构,(b)是RresNet提出的bottleneck结构,用于更深的层。©是本文作者采用的宽残差块结构,通过增加输出通道的数量使模型变得wider。(d)在两层卷积中加入了dropout。
有三种方法可以增加剩余块的表示能力:
(1)为每个块添加更多的卷积层。
(2)通过添加更多的特征面来加宽卷积层。
(3)增加卷积层滤波器的大小。
作者认为3*3的卷积核十分有效,就不来更换。作者尝试增加宽度来实验。
Wide Residual Networks论文记录
我们看上图可以发现B(3,1,3)在深度最浅,参数量最小的前提下,CIFAR-10的分类准确率是最高的。但是作者的目的是为了研究宽度,所以没有对这部分进行详细阐述。
Wide Residual Networks论文记录
根据上图可以看出B(3,3)的实验效果是最好的,B(3,3,3,3)和B(3,3,3)的结果较差,原因可能是因为过多的卷积层影响了信息的传递,但是B(3)的结果最差,由于单个3 * 3卷积层对特征的提取能力有限。
ResNet的典型残差块是由两个3 * 3卷积构成或者是两个1 * 1卷积层之间加入一共3 * 3的卷积层。WRN通过作用于一共输入的通道数来构建模型。作者重新定义了如何使用dropout来正则化来防止过拟合。增加通道数来获取更多的特征图和增加层数一样都会增加网络模型中的参数量,所以要借助一定的正则化方法(BN或者dropout)来防止过拟合。以前的卷积神经网络的dropout都是放在所有的卷积操作之后的,但是实验中作者将dropout放入两个3 * 3卷积之间。而BN操作放在两个残差块之间,但是将顺序做了调整,将Conv->BN->ReLU改成BN->ReLU->Conv,展示了更快的训练和更好的结果。
Wide Residual Networks论文记录
上图是WRN的网络结构,将k改成1就是ResNet的网络结构。
一共由这样几个超参数,深化因子l:是一共块中的卷积层个数。扩展因子k:乘以卷积层中的特征数。N:每组的块数。d:残差块的总数。n:该网络卷积层总数。

实验及结果

Wide Residual Networks论文记录
从上图可以看出WRN-40-4的准确率和ResNet-1001差不多,但是参数量要远小于ResNet-1001.证明了WRN对模型增加宽度对模型的性能是有提升的。不过也不能认为宽就一定好,要和深度搭配起来才更好。
Wide Residual Networks论文记录
从上图可以看出ResNet-1004和WRN-40-4的准确率差不多,但是WRN的时间要比ResNet少了接近8倍。

总结

具有小内核的瘦而深的剩余网络由于其顺序结构而于GPU计算的本质相违背,因为GPU适合并行计算。增加宽度有助于有效地平衡,以更优的方式进行计算,宽网络比窄网络的效率高很多倍,16层的宽网络在CIFAR上明显优于1000层的深网络,在ImageNet上显著优于152层深度网络,从而说明剩余网络的主要力量在剩余块上,而不是像之前所说的在极端深度上,此外宽的剩余网络的训练速度要块几倍。
论文的几点贡献
(1)重新定义了如何使用dropout
(2)不一定要更深的网络来训练模型,WRN也可以达到相同的效果。其实对于普通的ResNet版本(不是指1000多层以上)来说性能比WRN差不太多,但是参数和训练速度都比WRN要好(k>4),所以优势并不大,作者的意思是强调太过于深的网络结构是没有必要的,通过增加通道数也可以达到同样的效果。
(3)BN-ReLU-Conv的训练速度要比Conv-BN-ReLU快,并且准确率更高。