(ResNet)Deep Residual Learning for Image Recognition
摘要:
更深的神经网络更难训练。我们提出了一种残差学习框架来减轻网络训练,这些网络比以前使用的网络更深。我们明确地把学习每一层变为学习关于每一层输入的残差函数,而不是学习未参考的函数。我们提供了全面的经验证据说明这些残差网络很容易优化,并可以显著增加深度来提高准确性。在ImageNet数据集上我们评估了深度高达152层的残差网络——比VGG深8倍但仍具有较低的复杂度。这些残差网络的集合在ImageNet测试集上取得了3.57%的错误率。这个结果在ILSVRC 2015分类任务上赢得了第一名。我们也在CIFAR-10上分析了100层和1000层的残差网络。
对于许多视觉识别任务而言,表示的深度是至关重要的。仅由于我们非常深度的表示,我们便在COCO目标检测数据集上得到了28%的相对提高。深度残差网络是我们向ILSVRC和COCO 2015竞赛提交的基础,我们也赢得了ImageNet检测任务,ImageNet定位任务,COCO检测和COCO分割任务的第一名。
摘要总结:更深的神经网络更难训练。提出了一种残差学习框架来减轻网络训练,说明这些残差网络很容易优化,并可以显著增加深度来提高准确性。比VGG深8倍但仍具有较低的复杂度。
1.Introduction
深度卷积神经网络导致了图像分类的一系列突破。深度网络自然地将低/中/高级特征和分类器以端到端多层方式进行集成,特征的“级别”可以通过堆叠层的数量(深度)来丰富。最近的证据显示网络深度至关重要,在具有挑战性的ImageNet数据集上领先的结果都采用了“非常深”的模型,深度从16到30之间。许多其它重要的视觉识别任务也从非常深的模型中得到了极大受益。
在深度重要性的推动下,出现了一个问题:学些更好的网络是否像堆叠更多的层一样容易?回答这个问题的一个障碍是梯度消失/爆炸这个众所周知的问题,它从一开始就阻碍了收敛。然而,这个问题通过标准初始化和中间标准化层在很大程度上已经解决,这使得数十层的网络能通过具有反向传播的随机梯度下降(SGD)开始收敛。
总结:解决网络特别深训练梯度爆炸和消失问题:
1.随机初始化时的权重不要太大也不要太小(适中)
2.在神经网络中间的位置加入BN层(Batch Normalization)
总结:最近的研究显示网络深度至关重要,在深度重要性的推动下,出现了一个问题:学些更好的网络是否像堆叠更多的层一样容易?回答这个问题的一个障碍是梯度消失/爆炸这个众所周知的问题,它从一开始就阻碍了收敛。然而,这个问题通过标准初始化和中间标准化层在很大程度上已经解决,这使得数十层的网络能通过具有反向传播的随机梯度下降(SGD)开始收敛。(其他博文提到过,快捷连接在反向传播时,也会将梯度直接传回到前层,这样减少了梯度衰减。)
当更深的网络能够开始收敛时,暴露了一个退化问题:随着网络深度的增加,准确率达到饱和(这可能并不奇怪)然后迅速下降。意外的是,这种下降不是由过拟合引起的,并且在适当的深度模型上添加更多的层会导致更高的训练误差,正如[10, 41]中报告的那样,并且由我们的实验完全证实。图1显示了一个典型的例子。(总结:网络变深性能精度变差,不是过拟合,而是训练误差和测试误差都很高,虽然收敛但是精度不好)
训练准确率退化问题不是所有的系统都很容易优化。让我们考虑一个较浅的架构及其更深层次的对象,为其添加更多的层。存在通过构建得到更深层模型的解决方案:添加的层是恒等映射,其他层是从学习到的较浅模型的拷贝。 **这种构造解决方案的存在表明,较深的模型不应该产生比其对应的较浅模型更高的训练误差。**但是实验表明,我们目前现有的解决方案无法找到与构建的解决方案相比相对不错或更好的解决方案(或在合理的时间内无法实现)。
注3:当更深的网络能够开始收敛时,暴露了退化问题:随着网络的加深,准确率达到饱和(这可能并不奇怪)然后迅速下降。意外的是,这种下降不是由过拟合引起的,并且在适当的深度模型上添加更多的层会导致更高的训练误差,退化(训练准确率)表明不是所有的系统都很容易优化。存在构建更深层模型的解决方案:添加的层是恒等映射,其他层是从学习到的较浅模型的拷贝。
在本文中,我们通过引入深度残差学习框架解决了退化问题。我们明确地让这些层拟合残差映射,而不是希望每几个堆叠的层直接拟合期望的基础映射。形式上,将期望的基础映射表示为H(x),我们将堆叠的非线性层拟合另一个映射F(x):=H(x)−x。原始的映射重写为F(x)+x。我们假设残差映射比原始的、未参考的映射更容易优化。在极端情况下,如果一个恒等映射是最优的,那么将残差置为零比通过一堆非线性层来拟合恒等映射更容易。
总结:提出如果把深的网络位置对应替换成浅的网络如果效果好的话,多加几层变成深的网络按理说不会变差,最差按理说也会和浅层网络精度一样(多的那些层变成identity mapping恒等映射y = x )但是SGD学不到这种效果
(所以ResNet核心思想是提出——显式的构造一个identity mapping,使得深的网络不会比浅的网络效果更差)
具体做法:比如浅的网络的输出是x,在这个浅层的基础网络上叠加新的层使得网络变深时,新层原来要学的是h(x),现在选择学习 f(x)= h(x)- x(学习残差),学习之后新的层输出是
**f(x)+ x **
公式F(x)+x 可以通过带有“快捷连接”的前向神经网络(图2)来实现。快捷连接[2, 33, 48]是那些跳过一层或更多层的连接。在我们的案例中,快捷连接简单地执行恒等映射,并将其输出添加到堆叠层的输出(图2)。恒等快捷连接既不增加额外的参数也不增加计算复杂度。整个网络仍然可以由带有反向传播的SGD进行端到端的训练,并且可以使用公共库(例如,Caffe [19])轻松实现,而无需修改求解器。
在ImageNet分类数据集[35]中,我们通过非常深的残差网络获得了很好的结果。我们的152层残差网络是ImageNet上最深的网络,同时还具有比VGG网络[40]更低的复杂性。我们的模型集合在ImageNet测试集上有3.57% top-5的错误率,并在ILSVRC 2015分类比赛中获得了第一名。极深的表示在其它识别任务中也有极好的泛化性能,并带领我们在进一步赢得了第一名:包括ILSVRC & COCO 2015竞赛中的ImageNet检测,ImageNet定位,COCO检测和COCO分割。坚实的证据表明残差学习准则是通用的,并且我们期望它适用于其它的视觉和非视觉问题。
2.相关工作
**残差表示(Residual Representations) **在图像识别中,VLAD是一种通过关于字典的残差向量进行编码的表示形式,Fisher矢量可以表示为VLAD的概率版本。它们都是图像检索和图像分类中强大的浅层表示。对于矢量量化,编码残差矢量被证明比编码原始矢量更有效。
在低级视觉和计算机图形学中,为了求解偏微分方程(PDE),广泛使用的Multigrid方法[将系统重构为在多个尺度上的子问题,其中每个子问题负责较粗尺度和较细尺度的残差解。Multigrid的替代方法是层次化基础预处理,它依赖于表示两个尺度之间残差向量的变量。已经被证明这些求解器比不知道解的残差性质的标准求解器收敛得更快。这些方法表明,良好的重构或预处理可以简化优化。
**快捷连接(shortcut)**快捷连接的实践和理论已经被研究了很长时间。训练多层感知机(MLP)的早期实践是添加一个线性层来连接网络的输入和输出。在之前论文中,一些中间层直接连接到辅助分类器,用于解决梯度消失/爆炸。论文[38,37,31,46]提出了通过快捷连接实现层间响应,梯度和传播误差的方法。在论文[43]中,一个“inception”层由一个快捷分支和一些更深的分支组成。
和我们同时进行的工作,“highway networks” [41, 42]提出了门功能[的快捷连接。这些门是数据相关且有参数的,与我们不具有参数的恒等快捷连接相反。当门控快捷连接“关闭”(接近零)时,高速网络中的层表示非残差函数。相反,我们的公式总是学习残差函数;我们的恒等快捷连接永远不会关闭,所有的信息总是通过,还有额外的残差函数要学习。此外,高速网络还没有证实极度增加的深度(例如,超过100个层)带来的准确性收益。
总结:快捷连接的实践和理论已经研究了很长时间。已有各种形式用来解决不同的问题。
3. 深度残差学习
3.1. 残差学习
我们考虑H(x)作为几个堆叠层(不必是整个网络)要拟合的基础映射,x表示这些层中第一层的输入。假设多个非线性层可以渐近地近似复杂函数,它等价于假设它们可以渐近地近似残差函数,即H(x)−x(假设输入输出是相同维度)。因此,我们明确让这些层近似拟合函数 F(x):=H(x)−x,而不是期望堆叠层近似拟合H(x)。因此原始函数变为F(x)+x。尽管两种形式应该都能渐近地近似拟合逼近要求的函数(如假设),但学习的难易程度可能是不同的。
关于退化问题的反直觉现象激发了这种重构(图1左)。正如我们在引言中讨论的那样,如果添加的层可以被构建为恒等映射,更深模型的训练误差应该不大于它对应的更浅版本。退化问题表明求解器通过多个非线性层来近似恒等映射可能有困难。通过残差学习的重构,如果恒等映射是最优的,求解器可能简单地将多个非线性连接的权重推向零来接近恒等映射。
总结:以上这段解释了残差网络能够避免退化问题的原因,“如果添加的层可以被构建为恒等映射,更深模型的训练误差应该不大于它对应的更浅版本。退化问题表明求解器通过多个非线性层来近似恒等映射可能有困难。通过残差学习的重构,如果恒等映射是最优的,求解器可能简单地将多个非线性连接的权重推向零来接近恒等映射”。
在实际情况下,恒等映射不太可能是最优的,但是我们的重构可能有助于对问题进行预处理。如果最优函数比零映射更接近于恒等映射,则求解器应该更容易找到关于恒等映射的抖动,而不是将该函数作为新函数来学习。我们通过实验(图7)显示学习的残差函数通常有更小的响应,表明恒等映射提供了合理的预处理。
3.2. 快捷恒等映射
我们每隔几个堆叠层采用残差学习。构建块如图2所示。在本文中我们考虑构建块正式定义为:
y=F(x,Wi)+x
(1)x和y是考虑的层的输入和输出向量。函数F(x,Wi)表示要学习的残差映射。图2中的例子有两层,F=W2σ(W1x)中σ表示ReLU[29],为了简化写法忽略偏置项。F+x操作通过快捷连接和各个元素相加来执行。在相加之后我们采纳了第二种非线性(即σ(y),看图2)。
方程(1)中的快捷连接既没有引入外部参数又没有增加计算复杂度。这不仅在实践中有吸引力,而且在简单网络和残差网络的比较中也很重要。我们可以公平地比较同时具有相同数量的参数,相同深度,宽度和计算成本的简单/残差网络(除了不可忽略的元素加法之外)。
方程(1)中xx和FF的维度必须是相等的。如果不是这种情况(例如,当更改输入/输出通道时),我们可以通过快捷连接执行线性投影WsWs来匹配维度:
y=F(x,Wi)+Wsx
我们也可以使用方程(1)中的方阵Ws。但是我们将通过实验表明,恒等映射足以解决退化问题,并且是合算的,因此Ws仅在匹配维度时使用。
残差函数F的形式是可变的。本文中的实验包括有两层或三层(图5)的函数F,同时可能有更多的层。但如果F只有一层,方程(1)类似于线性层:y=W1x+x,我们没有看到优势。
我们还注意到,为了简单起见,尽管上述符号是关于全连接层的,但它们同样适用于卷积层。函数F(x,Wi)可以表示多个卷积层。元素加法在两个特征图上逐通道进行。
3.3. 网络架构
我们测试了各种简单/残差网络,并观察到了一致的现象。为了提供讨论的实例,我们描述了ImageNet的两个模型如下。
简单网络。 我们简单网络的基准(图3,中间)主要受到VGG网络[40](图3,左图)的哲学启发。卷积层主要有3×3的滤波器,并遵循两个简单的设计规则:(i)对于相同的输出特征图尺寸,层具有相同数量的滤波器;(ii)如果特征图尺寸减半,则滤波器数量加倍,以便保持每层的时间复杂度。我们通过步长为2的卷积层直接执行下采样。网络以全局平均池化层和具有softmax的1000维全连接层结束。图3(中间)的加权层总数为34。
残差网络。 基于上述的简单网络,我们插入快捷连接(图3,右),将网络转换为其对应的残差版本。当输入和输出具有相同的维度时(图3中的实线快捷连接)时,可以直接使用恒等快捷连接(方程(1))。当维度增加(图3中的虚线快捷连接)时,我们考虑两个选项:(A)快捷连接仍然执行恒等映射,额外填充零输入以增加维度。此选项不会引入额外的参数;(B)方程(2)中的投影快捷连接用于匹配维度(由1×1卷积完成)。对于这两个选项,当快捷连接跨越两种尺寸的特征图时,它们执行时步长为2。
总结:残差连接如何处理输入和输出的形状是不同的情况:
方案一:在输入和输出上分别添加额外的0使得两个形状可以对应起来
方案二:投影:1×1的卷积层,它在空间维度上不做任何东西,只在通道维数上做映射改变,只要选取1×1的卷积使得输出通道是输入通道数的两倍,这样就可以把残差连接的输入输出维度对比上了(在把输出通道数翻两倍,通常输入通道的高和宽会减半,这样就使用步长为2,使得在高宽和通道上都能匹配)
3.4. 实现
ImageNet中我们的实现遵循[21,40]的实践。调整图像大小,其较短的边在[256,480]之间进行随机采样,用于尺度增强[40]。224×224裁剪是从图像或其水平翻转中随机采样,并逐像素减去均值[21]。使用了[21]中的标准颜色增强。在每个卷积之后和激活之前,我们采用批量归一化(BN)[16]。我们按照[12]的方法初始化权重,从零开始训练所有的简单/残差网络。我们使用批大小为256的SGD方法。学习速度从0.1开始,当误差稳定时学习率除以10,并且模型训练高达60×10^4次迭代。我们使用的权重衰减为0.0001,动量为0.9。根据[16]的实践,我们不使用dropout[13] (因为没有全连接层所以不需要)。
在测试阶段,为了比较学习我们采用标准的10-crop测试[21]。对于最好的结果,我们采用如[40, 12]中的全卷积形式,并在多尺度上对分数进行平均(图像归一化,短边位于{224, 256, 384, 480, 640}中)。
4. 实验
4.1. ImageNet分类
简单网络。我们首先评估18层和34层的简单网络。34层简单网络在图3(中间)。18层简单网络是一种类似的形式。有关详细的体系结构,请参见表1。
表2中的结果表明,较深的34层简单网络比较浅的18层简单网络有更高的验证误差。为了揭示原因,在图4(左图)中,我们比较训练过程中的训练/验证误差。我们观察到退化问题——虽然18层简单网络的解空间是34层简单网络解空间的子空间,但34层简单网络在整个训练过程中具有较高的训练误差。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WwSDOV2U-1643270001619)(C:\Users\w10\AppData\Roaming\Typora\typora-user-images\image-20220127141126620.png)]
(残差块分为里面包含两层和三层的两种)
残差网络。接下来我们评估18层和34层残差网络(ResNets)。基准架构与上述的简单网络相同,如图3(右)所示,预计每对3×3滤波器都会添加快捷连接。在第一次比较(表2和图4右侧)中,我们使用所有快捷连接的恒等映射和零填充以增加维度(选项A)。所以与对应的简单网络相比,它们没有额外的参数。
我们从表2和图4中可以看到三个主要的观察结果。首先,残留学习的情况变了——34层ResNet比18层ResNet更好(2.8%)。更重要的是,34层ResNet显示出较低的训练误差,并且可以泛化到验证数据。这表明在这种情况下,退化问题得到了很好的解决,我们从增加的深度中设法获得了准确性收益。
第二,与对应的简单网络相比,由于成功的减少了训练误差,34层ResNet降低了3.5%的top-1错误率。这种比较证实了在极深系统中残差学习的有效性。
最后,我们还注意到18层的简单/残差网络同样地准确(表2),但18层ResNet收敛更快(图4右和左)。当网络“不过度深”时(18层),目前的SGD求解器仍能在简单网络中找到好的解。在这种情况下,ResNet通过在早期提供更快的收敛简便了优化。
恒等和投影快捷连接我们已经表明没有参数,恒等快捷连接有助于训练。接下来我们调查投影快捷连接(方程2)。在表3中我们对于处理输入输出不同的问题比较了三个选项:(ResNetA) 零填充快捷连接用来增加维度,所有的快捷连接是没有参数的(与表2和图4右相同);(ResNetB)**有选择的做投影,当输入输出数改变时使用投影快捷连接用来增加维度(假如一共150层只需要4次做投影),**其它的快捷连接是恒等的;(ResNetC)所有的快捷连接都是投影。
下表显示,所有三个选项都比对应的简单网络好很多。选项B比A略好。我们认为这是因为A中的零填充确实没有残差学习。选项C比B稍好,我们把这归因于许多(十三)投影快捷连接引入了额外参数。但A/B/C之间的细微差异表明,投影快捷连接对于解决退化问题不是至关重要的。因为我们在本文的剩余部分不再使用选项C,以减少内存/时间复杂性和模型大小。恒等快捷连接对于不增加下面介绍的瓶颈结构的复杂性尤为重要。(之后到现在所谓的Resnet全部使用的B方法来处理输入输出不同的问题)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OUpnVg2X-1643270001620)(C:\Users\w10\AppData\Roaming\Typora\typora-user-images\image-20220127143733058.png)]
更深的瓶颈结构(如何构造更深的CNN)。接下来我们描述ImageNet中我们使用的更深的网络网络。由于关注我们能承受的训练时间,我们将构建块修改为瓶颈设计。对于每个残差函数F,我们使用3层堆叠而不是2层(图5)。三层是1×1,3×3和1×1卷积,其中1×1层负责减小然后增加(恢复)维度,使3×3层成为具有较小输入/输出维度的瓶颈。图5展示了一个示例,两个设计具有相似的时间复杂度。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jAwc1kjG-1643270001620)(C:\Users\w10\AppData\Roaming\Typora\typora-user-images\image-20220127144654260.png)]
无参数恒等快捷连接对于瓶颈架构尤为重要。如果图5(右)中的恒等快捷连接被投影替换,则可以显示出时间复杂度和模型大小加倍,因为快捷连接是连接到两个高维端。因此,恒等快捷连接可以为瓶颈设计得到更有效的模型。(层数增加到50层以上时使用上图右图的3层残差块(也称为Bottleneck )代替左图的2层残差块,即输入通道数由64变成256,如果还使用2层残差块则复杂度翻16倍,这个时候把残差块改成使用1×1卷积映射投影会64通道,再和2层残差块一样使用通道数不变的卷积,再使用使用1×1卷积映射投影回256通道,先降维后升维)——>这个时候的效果就是输入输出通道数是原来的4倍,但是算法复杂度差不多变化不大
50层ResNet:我们用3层瓶颈块替换34层网络中的每一个2层块,得到了一个50层ResNet(表1)。我们使用选项B来增加维度。该模型有38亿FLOP。(FLOPs数运算浮点数用来度量计算复杂度)
101层和152层ResNet:我们通过使用更多的3层瓶颈块来构建101层和152层ResNets(表1)。值得注意的是,尽管深度显著增加,但152层ResNet(113亿FLOP)仍然比VGG-16/19网络(153/196亿FLOP)具有更低的复杂度。
50/101/152层ResNet比34层ResNet的准确性要高得多(表3和4)。我们没有观察到退化问题,因此可以从显著增加的深度中获得显著的准确性收益。所有评估指标都能证明深度的收益(表3和表4)。
与最先进的方法比较。在表4中,我们与以前最好的单一模型结果进行比较。我们基准的34层ResNet已经取得了非常有竞争力的准确性。我们的152层ResNet具有单模型4.49%的top-5错误率。这种单一模型的结果胜过以前的所有综合结果(表5)。我们结合了六种不同深度的模型,形成一个集合(在提交时仅有两个152层)。这在测试集上得到了3.5%的top-5错误率(表5)。这次提交在2015年ILSVRC中荣获了第一名。
4.2. CIFAR-10和分析
我们对CIFAR-10数据集[20]进行了更多的研究,其中包括10个类别中的5万张训练图像和1万张测试图像。我们介绍了在训练集上进行训练和在测试集上进行评估的实验。我们的焦点在于极深网络的行为,但不是推动最先进的结果,所以我们有意使用如下的简单架构。
简单/残差架构遵循图3(中/右)的形式。CIFAR-10的网络输入是32×32的图像,ImageNet数据集的网络输入是300×300的图像每个像素减去均值。第一层是3×3卷积。然后我们在大小为{32,16,8}的特征图上分别使用了带有3×3卷积的6n个堆叠层,每个特征图大小使用2n层。滤波器数量分别为{16,32,64}。下采样由步长为2的卷积进行。网络以全局平均池化,一个10维全连接层和softmax作为结束。共有6n+2个堆叠的加权层。下表总结了这个架构:当使用快捷连接时,它们连接到成对的3×3卷积层上(共3n个快捷连接)。在这个数据集上,我们在所有案例中都使用恒等快捷连接(即选项A),因此我们的残差模型与对应的简单模型具有完全相同的深度,宽度和参数数量。
我们使用的权重衰减为0.0001和动量为0.9,并采用[12]和BN[16]中的权重初始化,但没有使用丢弃。这些模型在两个GPU上进行训练,批处理大小为128。我们开始使用的学习率为0.1,在32k次和48k次迭代后学习率除以10,并在64k次迭代后终止训练,这是由45k/5k的训练/验证集分割决定的。我们按照[24]中的简单数据增强进行训练:每边填充4个像素,并从填充图像或其水平翻转图像中随机采样32×32的裁剪图像。对于测试,我们只评估原始32×32图像的单一视图。
我们对比了n={3, 5, 7, 9},即20/32/44/56层的神经网络。图6,左显示了普通网络的效果。随着网路的加深,普通网络出现了训练退化问题。这种现象和在ImageNet上或者MNIST上是一致的,以此可以说明训练退化问题是一个普遍存在的问题。
图6,中显示了残差网络的结果。同样和在ImageNet上的表现是一致的(图4.右),我们的残差网络突破了这一优化问题,并且随着网络深度的增加,可以获得较好的结果。
我们进一步的拓展n=18,以此来获得一个110层的残差网络。在这种情况下,我么发现开始的0.1的学习率对于模型的收敛稍微有点大了。所以我们先是使用了0.01的学习率来预热模型,直到训练误差低于80%(大约400个迭代后),然后我们把学习率调整回0.1,再继续训练。剩余的学习则跟之前讲的是一致的。最后这个110层的神经网络得到了较好的收敛(图6,中)。相对于其他更深和细的网路来说(如FitNet,Highway),它有着更少的参数,然而这确实最好的结果之一(6.43%, 表6)
层响应分析. 图7显示了层响应的标准差。这里的响应是指每一个3x3的卷积在进行批量标准化后,以及激活函数之前的值。对于残差网络来说,这个分析揭示了残差函数的响应强度。图7显示了残差网络相对于普通网络有着更小的响应强度。这个结果也佐证了我们最初的动机(3.1节所述),残差函数可能相对于非残差函数更加接近于0.我们还注意到更深的网络有着更小的响应幅度,如图7中的ResNet20/56和110层的对照。当层数增多时候,残差网路中单一的一个层往往趋向于减小对于参数的修改。
开发大于1000层的网络. 我们开发了一个大于1000层的网络。我们把n设置成200,因此得到了一个1202层的网络,然后使用上面所述的方法进行训练。我们的方法显示在训练这个1000多层的网络的时候没有遇到训练退化的问题,并且他的训练误差小于0.1%(图6,右)。它的测试误差也相当的好(7.93%,表6)
但是这种极度深的网络仍然存在一些问题。尽管1202层网络的训练误差和110层网络是相似的,但是它的测试结果却要差于110层的网络。我们猜测可能是由于过拟合造成的。因为对于这样的一个小数据集,也许并不需要一个有着1202层的网路进行训练。因为使用强化正则方法(maxout,dropout)后,可以在这个数据集上获得一个较好的结果。在这篇文章中,我们没有使用 maxout/dropout, 只是通过设计简单的深度和薄的架构来进行正则,因为我们不想失去对于优化困难这个问题的聚焦。但是结合强有力的正则化后续会提升结果,这些我们未来会去做。
4.3 在PASCAL和 MS COCO上的目标检测
我们的算法在其他的识别任务上也有着很好的泛化能力。表7和8展示了目标检测在ASCAL VOC 2007和2012以及COCO上的基准结果。我们使用faster R-CNN 作为检测的方法。这里我们的兴趣点在与使用ResNet101来代替VGG16后的改进。对于这两种模型的部署是相同的,所以收益只能归因于模型的结构。值得庆幸的是,在COCO数据集的挑战中,我们比COCO的标准指标(mAP[.5,.95])提升了6%,这相当于有了28%的提升。这个结果完全归功于所学习到的特征。
根据深度残差网络,我们在ILSVRC &COCO 2015的多个比赛中获得了第一名: ImageNet 检测,ImageNet 定位, COCO检测和COCO分割。
欢迎大家扫码关注本人公众号:编程复盘与思考随笔
(关注后可以免费获得本人在csdn发布的资源源码)
公众号主要记录编程和刷题时的总结复盘笔记和心得!并且分享读书、工作、生活中的一些思考感悟!
想要组队一起参加阿里天池,kaggle,百度飞浆,科大讯飞等AI相关的比赛的同学可以扫下面的二维码一起讨论学习!