文章从残差网络的设计出发,分析了不同残差单元的构造方式,介绍了深度残差网络不同的变体。从不同角度比较了不同网络之间的差异以及这些网络架构常用图像分类数据集上的性能表现。最后对各种网络进行l总结,并讨论了未来深度残差网络在图像分类领域的一些研究方向。
在神经网络中,网络的深度并非越深越好,在一定深度范围内,随着网络层数的增加,模型可以更好拟合更加复杂的函数,模型性能也可以得到提升,但是在网络层数增到一定数目之后,继续增加网络的层数,训练精度和测试精度迅速下降。
试验表明,20层以上的深度网络,继续叠加增加网络的层数,分类精度反而会降低,50层网络的测试误差率大概是20层网络的一倍,这种网络的退化现象表明了直接增加深度的深度学习系统并不是很容易被优化。
在残差学习的启发下,He等人在网络中引入了恒等映射的设计,巧妙的缓解了由于深度增加带来的梯度爆炸或者梯度消失以及网络退化的问题,提升了信息传递路径的数量,使得网络的深度可以由几十层推到千层。深度残差网络的出现极大提高了系统的准确率,使得训练极深的网络成为可能,是图像分类领域具有重要意义的突破性进展。
深度残差网络的基本组成单元是残差单元,残差单元一般由卷积Conv层,批处理归一化Batchnorm层和非线性激活函数Relu共同构成。深度残差网络由多个残差学习单元堆叠而成,给定输入的图像数据,深度残差网络首先将输入的数据依次送入到卷积层Conv、非线性激活函数层Relu和批处理归一化层Batchnorm;然后将处理的结果进一步送入到多个残差单元,再经过批处理归一化层Batchnorm和多个全连接层;最后得到输出结果。
常用的图像分类数据集介绍
CIFAR-10和CIFAR-100是图像分类领域常用的比较性能的数据集。CIFAR-10数据集由来自10个类的60000个32X32彩色图像组成,其中每个类包干6000个图像,有50000个训练图像和10000个测试图像。
CIFAR-100数据集是CIFAR-10的扩展数据集,它包含的类别数更多(100个类别),每个类别中有600张图像(500张训练图像和100张测试图像)。除此之外,CIFAR-100中的100个小类还可以被分成20个大类,数据集中的每个图像都带有一个“精细”的类别标签(它所属的小类)和一个“粗糙”标签(它所属的大类).