Aggregated Residual Transformations for Deep Neural Networks论文笔记

摘要:

这篇论文是ResNet的改进版,通常要增加网络的性能,是增加网络的参数,比如加深或加宽网络都可以,但是这么做会增加网络的复杂度。这篇论文,作者提出一个新感念‘cardinality’,指的是转换层的数量,叫做基数。并且证明了增加基数的大小也能有效提高网络的性能,并且比增加网络的宽度和深度更有效,并且并不会使网络更复杂。
结构:

增加网络的深度只是增加卷积层的堆叠数量加深网络一般来说,层数越多,非线性激活函数和模型参数也越多,网络学习能力也越强,比如VGG16,VGG19等,但是随着层数增多,出现梯度消失问题,ResNet采用跨层连接缓解了这个问题,使得网络可以达到上千层,但是模型的参数量巨大。增加网络的宽度,比如Network In Network,Inception等,通过拓宽网络来提高网络性能,同样增加了层数和参数量,达到了增加非线性激活函数和模型参数的效果,但是Inception中有多种尺寸的卷积,eg3x3,5x5等,这些参数在不同的任务重需要不同的设定,不具有通用性。作者提出的ResNetXt,就是结合VGG/ResNet和Inception的优点,提出一个更简洁通用的网络,用一个参数cardinality来控制模型的宽度而不需要关注卷积核的尺寸大小。如下图:

 

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第1张图片

作者这么做的理由是,认为最简单的神经网络也是由很多小的cardinality汇集起来的,只是每个cardinality都是W_iX_i,然后加起来得到\sum_{i=1}^{D}W_iX_i,其中的D就是cardinality的数量,更具体如下图所示:

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第2张图片

 而作者只是将W_iX_i替换成了一个转换层,即卷积层,原理是一样的,和Network In Network很相似。得到了如下公式:

 

T表示转换层,C表示基数的数量,第二个公式是第一个的残差模式,也是本文所采用的,作者发现这个公式和下面三种结构是一样的,即下面三种结构理论上是等价的:

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第3张图片

 (a)表示先划分,单独卷积并计算输出,最后输出相加,(b)表示先划分,单独卷积,然后拼接再计算输出。(c)就是分组卷积。通常采用第三种方式,因为实现起来更简单。作者为了使提出的结构更具通用性,在其他超参数不变的情况下,仅仅增加一个超参数C来控制基数的多少。

ResNetXt具体结构如下:

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第4张图片

 作者对比了基数C和网络宽度的关系:

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第5张图片

 实验结果:

在网络复杂度相同的情况下,ResNet和ResNetXt的训练曲线,可以看出ResNetXt优于ResNet:

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第6张图片

使用不同C,的效果,基本是C越大,准确度越高,而且模型的复杂度并没有变。 

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第7张图片

 残差连接对网络性能的影响,可以看出残差连接还是很重要的。

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第8张图片

加宽网络和增加基数C对准确率的影响,可以看出,增加基数C能带来更大的性能提升。

Aggregated Residual Transformations for Deep Neural Networks论文笔记_第9张图片

 

你可能感兴趣的:(目标检测)