图像分类模型 I. 从LeNet到ResNet

从LeNet到ResNet,神经网络沿着越来越深方向演进。

LeNet

LeNet是最早发布的卷积神经网络,取得了与SVM性能相媲美的效果,广泛应用于ATM数字识别。 代码实现
模型亮点:
1)使用2个卷积块(每个卷积块由卷积层、非线性激活函数、汇聚层组成)提取特征,后接3个全连接层进行图像分类。
2)为了构造高性能的卷积神经网络,对卷积层进行排列,逐渐降低空间分辨率,同时增加通道数。
知识点:
 feature map空间分辨率计算公式:N = ⌊(W-K+2P)/S⌋ + 1
  • 输入图片大小:W×W,卷积核大小:K×K,padding大小:P×P,步长:S

AlexNet

AlexNet由Hinton和学生Alex Krizhevsky提出,斩获ILSVRC 2012(ImageNet Large Scale Visual Recognition Challenge)冠军。分类准确率由传统的70%+提升至80%+。 代码实现
图像分类模型 I. 从LeNet到ResNet_第1张图片
模型亮点:
1)首次利用GPU进行网络加速训练。
2)采用ReLU作为激活函数。
3)全连接层采用Dropout正则化技术减少过拟合。

VGG

VGG由牛津大学著名研究组VGG(Visual Geometry Group)提出,斩获ILSVRC 2014 Localization Task第一名和Classification Task第二名。 代码实现
注:224=2^5 × 7(对应5个卷积块+3个全连接层)
模型亮点:
1)采用可复用的卷积块构造网络,使得复杂网络的设计更加简洁有效。
2)通过堆叠多个3×3的卷积核代替大尺度卷积核,减少模型参数,提升计算机视觉任务性能。
知识点:
    感受野
  • 感受野计算公式:F(i) = (F(i+1) - 1) × S + K,其中 步长:S,卷积核大小:K。
  • 堆叠2个3×3的卷积核代替5×5的卷积核,堆叠3个3×3的卷积核可以代替7×7的卷积核(拥有相同的感受野)。
  • 7×7卷积核所需参数:7×7×C×C=49C²,堆叠3个3×3卷积核所需参数:3×3×C×C ×3=27C²。
       

GoogLeNet

GoogLeNet由Google团队提出,斩获ILSVRC 2014 Classification Task第一名。 代码实现
图像分类模型 I. 从LeNet到ResNet_第2张图片
Inception module with dimension reductions 
图像分类模型 I. 从LeNet到ResNet_第3张图片
模型亮点:
1)引入了Inception块(融合不同尺度的特征信息), Inception块的通道数分配之比是在ImageNet数据集上通过大量的实验得来的。
2)使用1×1的卷积核进行降维以及映射处理。
3)使用平均汇聚层代替全连接层,大大减少模型参数。GoogLeNet网络参数约为VGG16的1/20。
4)添加2个辅助分类器帮助训练。
知识点:
Inception结构:
图像分类模型 I. 从LeNet到ResNet_第4张图片

ResNet

ResNet由微软实验室的He Kaiming等提出,斩获ILSVRC 2015年分类任务第一名,目标检测第一名。COCO数据集目标检测第一名,图像分割第一名。 代码实现
注:
  • 224=2^5 × 7(对应5个卷积块 —对应 conv1~conv5)。
  • 代码实现中有两个参数比较重要。主卷积的输出通道数(conv2~conv5按64逐步翻倍),每个residual block的膨胀系数(按主卷积的输出通道进行膨胀,bottleneck expansion=4, basicblock expansion=1)。
  • conv1/max pool/conv3_1/conv4_1/conv5_1 stride=2,每个模块分辨率减为1/2²。conv3_1/conv4_1/conv5_1分辨率变化,对于bottleneck conv3_1+/conv4_1+/conv5_1+通道数发生变化。只要形状发生变化(包括分辨率和通道数)需要增加 Down-sampling,保证residual结构有效(详见Residual Block)。
模型亮点:
1)利用residual块可以训练出有效的超深神经网络,对后续神经网络设计范式产生深远影响。
2)使用Batch Normalization加速网络训练。
知识点:
1)退化问题(degradation problem)
  • 深度神经网络容易产生退化问题(如左图,训练欠拟合)  
  • ResNet可以解决深度神经网络的退化问题(如右图)
    
2)Residual Block
  • 较浅神经网络(resnet18/resnet34)选择重量级residual block(称为basicblock),较深神经网络(resnet50/resnet101/resnet152)选择轻量级的residual block(称为bottleneck)(使用1×1的卷积核来进行降维和升维,可以极大地减少模型参数)。
  • conv3_1/conv4_1/conv5_1 通过设置主卷积(代码实现中选择第2个3x3卷积作为主卷积)的stride=2,使得分辨率减为1/2² ,shortcut为了保持和主分支Shape一致(包括分辨率和深度),需要增加Down-Sampling(Option B)。
resnet18/resnet34
resnet50/resnet101/resnet152
图像分类模型 I. 从LeNet到ResNet_第5张图片
图像分类模型 I. 从LeNet到ResNet_第6张图片
3)Batch Normalization
  • Batch Normalization(google, 2015)是对feature map进行标准化处理(均值为0方差为1),类似于图像预处理中的标准化处理一样,可以加速网络收敛并提升准确率。
  • BN操作。μ、σ² 是正向传播过程中统计得到的「类似于momentum方法」,γ、β是反向传播过程中训练得到的。
      图像分类模型 I. 从LeNet到ResNet_第7张图片
  • BN层通常放在卷积层和激活函数之间,且卷积层不需要使用bias。

ResNeXt

ResNeXt是ResNet的改进版本,主要是更新了block。 代码实现
图像分类模型 I. 从LeNet到ResNet_第8张图片
模型亮点:
1)更新了block,采用了带有组卷积的bottleneck(仅对resnetresnet50/resnet101有意义)。
2)相同计算量的前提下,错误率更低。
知识点:
1)相同计算量的前提下,错误率更低。
图像分类模型 I. 从LeNet到ResNet_第9张图片
2)Group Convolution,参数
DW Conv是一种特殊的组卷积。

你可能感兴趣的:(深度学习,计算机视觉,深度学习,分类)