论文解析:一文弄懂ResNet(图像识别分类、目标检测)
目录
一、相关资源
二、Motivation
三、技术细节
1.残差学习过程
2.快捷连接类型
(1)Identity Shortcuts(恒等捷径)
(2)Projection Shortcuts(投影捷径)
(3)两种捷径对比
3.深层瓶颈结构Deeper Bottleneck Architectures
四、网络结构及参数选择
1.主网络
2.残差连接
五、创新点
1.残差学习框架的提出
2.高效的残差块设计
3.极深网络的成功训练
六、评价指标
1.图像识别分类
top-1错误率
top-5错误率
2.目标检测
(1)层响应标准差Standard deviations (std) of layer responses
(2)mAP
七、启发/Idea
1.迁移学习的价值
2.充分借鉴前人的工作,并在其基础上进行创新
3.背景动机要明确,实验过程要完整
一、相关资源
论文题目:Deep Residual Learning for Image Recognition
链接:CVPR 2016 Open Access Repository
参考代码:
deep-learning-for-image-processing/pytorch_classification/Test5_resnet at master · WZMIAOMIAO/deep-learning-for-image-processing · GitHub
二、Motivation
深度神经网络在训练过程中遇到的一个核心问题,即“退化”问题。这个问题表现为,当网络层数增加到一定程度时,网络的性能(如准确率)不再提升,反而出现下降的现象。
传统的深度神经网络在层数增加到一定程度后,会出现梯度消失或梯度爆炸的问题,导致网络难以训练。尽管通过标准化初始赋值和中间层(如Batch Normalization)可以在一定程度上缓解这些问题,但还是会出现准确率饱和然后下降的问题。
为了解决上述问题,论文提出了一种残差学习的框架。这种框架允许网络直接学习输入与输出之间的残差(即差异),而不是直接学习输入到输出的映射。
三、技术细节
1.残差学习过程
利用shortcut connection实现残差块:
实现思想:较深层网络产生的误差至少不应该高于上一层产生的训练误差。
2.快捷连接类型
Identity shortcuts(恒等捷径)和Projection shortcuts(投影捷径)是深度残差网络(ResNet)中两种不同类型的捷径(shortcut)实现方式,它们在处理输入和输出维度时扮演着不同的角色,两种图像结构在③中展现。
(1)Identity Shortcuts(恒等捷径)
定义:
Identity shortcuts是一种不需要额外参数的捷径方式,当残差块的输入和输出维度一致时,可以直接将输入通过捷径加到输出上,实现恒等映射(Identity mapping)。
应用场景:
当残差块的输入和输出维度完全相同时,可以使用Identity shortcuts。
例如,在ResNet的某些层中,如果特征图的尺寸和通道数都没有改变,那么这些层之间的捷径就可以是Identity shortcuts。
(2)Projection Shortcuts(投影捷径)
定义:
Projection shortcuts是一种需要额外参数的捷径方式,用于处理残差块输入和输出维度不匹配的情况。它通常通过额外的卷积层(如1x1卷积)或其他操作(如池化层)来调整输入特征的维度,使其与输出特征的维度相匹配。
应用场景:
当残差块的输入和输出维度不同时,如改变了特征图的尺寸或通道数,需要使用Projection shortcuts进行维度匹配。
例如,在ResNet的降采样层中,特征图的尺寸会减半,通道数会增加一倍,此时就需要使用Projection shortcuts来调整输入特征的维度。
(3)两种捷径对比
3.深层瓶颈结构Deeper Bottleneck Architectures
四、网络结构及参数选择
这里尤其注意深层瓶颈结构的代码实现:
1.主网络
第一个网络块的1×1卷积核使用stride=2实现下采样
后面三个网络块1×1卷积核使用stride=1,块内层结构如表内所示
2.残差连接
这里只在第一个网络块(虚线残差捷径)使用1×1卷积核实现维度对齐(128*4)、下采样(stride=2,长宽减半)
后面三个网络块(实线残差捷径)使用1×1卷积核恒等连接
具体可以网络的结构实现可以看上面相关资源里提及的参考代码
五、创新点
1.残差学习框架的提出
论文提出了一种残差学习(Residual Learning)框架,通过引入残差块(Residual Block)来解决这一问题。残差块通过添加一个跨越连接(Shortcut Connection),将输入直接加到输出上,形成残差映射(Residual Mapping)。这种方式使得网络更容易学习恒等映射(Identity Mapping),避免了深层网络中的退化问题(Degradation Problem),即随着网络层数的增加,训练误差反而增大的现象。
2.高效的残差块设计
论文中设计了两种类型的残差块:普通的残差块和瓶颈残差块。普通的残差块包含两个3×3的卷积层,每个卷积层后都跟着批归一化(Batch Normalization)和ReLU激活函数。瓶颈残差块则包含三个卷积层,分别是1×1、3×3和1×1的卷积层,这种设计能够降低计算复杂度,同时保持相同的网络深度。这两种残差块的设计使得ResNet能够在保持网络性能的同时,减少计算量,提高训练效率。
3.极深网络的成功训练
论文通过引入残差学习框架,成功训练了超过100层的深度神经网络。在ImageNet数据集上,使用152层的ResNet取得了3.57%的错误率,这一结果优于当时的许多其他网络模型,如VGG等。此外,ResNet还在多个计算机视觉任务中表现出色,如图像检测、定位和分割等,证明了残差学习框架的通用性和有效性。
六、评价指标
1.图像识别分类
top-1错误率
定义:Top-1 Error Rate是指模型对于测试数据集中每张图片的预测结果中,概率最高的那个类别(即top-1预测)与实际标签不相符的比例。
解释:这个指标衡量了模型最直接、最自信的预测结果(即概率最高的预测)的准确性。Top-1 Error Rate越低,说明模型在给出最有可能的分类时越准确。
top-5错误率
定义:Top-5 Error Rate是指模型对于测试数据集中每张图片的预测结果中,概率最高的前五个类别(即top-5预测)中没有包含实际标签的比例。
解释:这个指标考虑了模型在前五个最可能的分类中的预测准确性。由于模型给出了更多的选择(即前五个预测),因此Top-5 Error Rate在数值上通常会小于Top-1 Error Rate。Top-5 Error Rate越低,说明模型在给出五个最有可能的分类时,包含实际标签的可能性越高,从而反映出模型在分类任务中的整体性能较好。
2.目标检测
(1)层响应标准差Standard deviations (std) of layer responses
计算每一层响应的标准差,以了解该层输出数据的离散程度。
①反映数据分布:标准差的大小可以反映该层输出数据的分布情况。标准差大意味着输出数据的分布范围较广,可能存在较大的差异性;标准差小则意味着输出数据相对集中,差异性较小。
②辅助模型诊断:通过观察不同层响应的标准差,可以辅助进行模型诊断。例如,如果某一层的标准差异常大或异常小,可能意味着该层存在某种问题(如梯度消失、梯度爆炸等),需要进一步检查和优化。
③评估模型稳定性:标准差还可以用于评估模型的稳定性。在相同条件下多次运行模型并计算各层响应的标准差,如果标准差较小且稳定,说明模型在不同运行之间的输出差异较小,具有较高的稳定性。
(2)mAP
mAP是Mean of Average Precision的缩写,即平均精确度(Average Precision,AP)的平均值。在目标检测中,由于需要同时考虑物体的分类和定位(即边界框的准确性),因此传统的分类准确率(accuracy)并不适用。mAP通过综合考虑不同IoU(Intersection over Union,交并比)阈值下的模型表现,提供了一个更为全面和准确的性能评估标准。
七、启发/Idea
1.迁移学习的价值
论文中的残差网络不仅在图像识别任务上表现出色,还被广泛应用于其他计算机视觉任务中,如目标检测、图像分割等。这体现了深度学习模型的迁移学习能力,即在一个任务上训练的模型可以很容易地迁移到其他相关任务上。这启发我们在实际应用中,要充分利用已有的深度学习资源和模型,通过迁移学习来加速新任务的开发和部署。
2.充分借鉴前人的工作,并在其基础上进行创新
残差学习的思想并非完全凭空而来,它借鉴了前人关于网络结构优化和特征学习的研究成果。早期的多层感知机(MLPs)训练中,会在网络输入和输出之间添加一个线性层。另外,一些工作通过快捷连接来中心化层响应、梯度和传播误差。
如“highway networks”,指的是一种特殊的神经网络架构,它旨在解决深度神经网络在训练过程中由于层数过深而导致的梯度消失或梯度爆炸问题。Highway Networks通过引入“门控机制”(gating mechanism)来允许信息在网络层之间更顺畅地流动,从而改善深度神经网络的训练效率和性能。
然而,论文在残差学习框架的具体实现上进行了创新,设计了残差块(Residual Block)作为网络的基本单元,使得网络内所有的部分都参与了训练过程,并通过实验验证了其有效性。
3.背景动机要明确,实验过程要完整
论文通过明确的研究背景、创新的方法框架、全面的实验验证以及广泛的应用前景等多个方面体现了其完整性。它不仅解决了深度神经网络训练中的难题,还为后续的深度学习研究提供了重要的思路和方法。
作者在多个数据集上进行了实验,包括ImageNet、CIFAR-10等,以验证残差网络的有效性和优越性。详细分析了实验结果,展示了残差网络在训练过程中的稳定性和准确性,证明了残差学习可以有效解决网络退化问题。论文还将残差网络与其他流行的深度神经网络进行了对比,展示了残差网络在性能上的显著提升。