深度学习之卷积神经网络经典网络之ResNet

时间:2024-03-31 15:20:35

ResNet由Kaiming He(何凯明)等发明(论文下载:Deep Residual Learning for Image Recognition),获得了2015年ILSVRC挑战赛的冠军,一度将TOP-5错误率降至3.6%。参加2015年挑战赛区的ResNet网络深度达到152层,比起以前的卷积神经网络,深度越来越深,但参数越来越少。

ResNet使用了一种叫做残差学习(residual learning)的方法,即将输入越过几层直接添加到后面层的输出上,此时模型不再是简单地拟合目标函数h(x),而是去拟合目标函数与输入之间的残差f(x) = h(x) - x。

 

 

网络架构

深度学习之卷积神经网络经典网络之ResNet

  • 如上所示为ResNet卷积神经网络的架构,其开始和结束类似于GoogLeNet,除了没有dropout层,中间是一系列的由两个卷积层组成的残差单元,期间没有池化层而使用了批归一化和ReLU**函数,全部使用了3x3的卷积核、步长为1、进行全0填充。
  • ResNet中每过几个残差单元,特征图的数量翻倍,而特征图的尺寸减小一半(使用了步长为2的卷积)。为了使得前面的输入能够通过快捷连接(skip connection)添加到后面的输出上,对输入进行了卷积核为1x1、步长为2的卷积操作。

ResNet-34共有34层(只算卷积层和全连接层),包括64个特征图的3个残差单元、128个特征图的4个残差单元、256个特征图的6个残差单元和512个特征图的3个残差单元。由于每个残差单元有两层卷积层,因此ResNet-34总层数为:

(3+4+6+3)* 2 + 1 + 1 = 34。(注:两个1分别代表刚开始的7*7的卷积层和全连接输出层。)

ResNet-152共有152层,与上面ResNet-34不同,ResNet-152使用了三层的残差单元:64个1x1卷积核、64个3x3卷积核、256个1x1卷积核。ResNet-152包括256个特征图的3个残差单元、512个特征图的8个残差单元、1024个特征图的36个残差单元、2048个特征图的3个残差单元。由于每个残差单元有三层卷积层,因此ResNet-152总层数为:

(3+8+36+3)* 3 + 1 + 1 = 152。(注:两个1分别代表刚开始的7*7的卷积层和全连接输出层。)