resnet论文解读/总结

耿鬼喝椰汁 耿鬼喝椰汁     2023-03-08     456

关键词:

此文章为深度学习在计算机视觉领域的图片分类经典论文ResNet(Deep Residual Learning for Image Recognition)论文总结。

此系列文章是非常适合深度学习领域的小白观看的图像分类经典论文。系列文章如下:

 AlexNet:AlexNet论文解读/总结_耿鬼喝椰汁的博客-CSDN博客

VGGNet:VGGNet论文解读/总结_耿鬼喝椰汁的博客-CSDN博客

GoogLeNet:GoogLeNet(Inception)v1 论文解读/总结_耿鬼喝椰汁的博客-CSDN博客

ResNet:ResNet论文解读/总结_耿鬼喝椰汁的博客-CSDN博客


文章目录


摘要

      (一)通常情况下,神经网络的深度越深,越难以训练,本文提出了一种残差神经网络来解决这个问题,它的优化更简单,并且可以在深层的神经网络中也相应获得更高的准确度。这种深度残差神经网络在ImageNet等数据集的测试效果均为第一名。

      (二)更深的神经网络更加难以训练,残差网络主要用来减轻训练的网络,这些网络比之前使用的网络都要深得多。

     (三)在ImageNet的的数据集中网络层数达到了152层,前一年夺冠的VGG只有19层。在COCO物体检测数据集上获得了28%的相对改进。

(一)论文要解决问题

(1)论文首先说明:一味地加深网络深度会使得网络达到了一种饱和状态,而导致精度的下降。

(2)在以往的知识中,深度学习层数越深,提取的特征越多。如下图所示,并非网络层数越多越好。引起这部分的原因,这种现象主要是退化:随着网络层数的加深,准确性会达到饱和,梯度传播过程中会逐渐消失,导致无法对前面的网络层权重进行调整,训练误差加大,结果也随之变差。(并非过拟合,如果过拟合,训练的时候误差很小,但是测试的时候误差就很大)

       由下图可以看出,56-layer(层)的网络比20-layer的网络在训练集和测试集上的表现都要差。注意:这里不是过拟合(过拟合是在训练集上表现得好,而在测试集中表现得很差),说明如果只是简单的增加网络深度,可能会使神经网络模型退化,进而丢失网络前面获取的特征。

 (二)解决方法

       为了解决上面提到的退化,引入一个[深度残差网络].gray (理论上深层次网络和浅层的网络性能一样,但现实卷积层层数越到后面会出现退化)

残差深度学习

       本文提出了深度残差学习(deep residual learning)框架来解决上图中的问题,如下图所示,通过前馈神经网络的shortcut connections来跨过一个层或者多个层,将前层的输出直接与卷积层的输出叠加,相当于做了个恒等映射。

       在极端情况下,如果恒等映射最优,可以将残差设置为0就简单地实现了恒等映射。简单来说,残差学习就是将一层的输入与另一层的输出结果一起作为一整个块的输出。

      整体的网络架构如下:使用两层卷积加relu激活函数,经过第一层的时候输出 F(x),之后在经过第二层(此处增加了shortcut connection),将其shortcut connection连接到第二层的激活函数之前,输出结果变为H(x)=F(x)+x(恒等映射)

        大致参数如下:浅层网络的输出为:x,要学习的目标值为H(x),那么就让该层网络学习一个残差目标值F(x) = H(x)- x,最后的输出为F(x) + x, identity 恒等映射。

       残差网络作用:(1)残差网络比较容易优化,普通网络架构(简单的堆叠层)在训练的时候容易出现较高的误差。(2)残差网络随着深度的增加,准确性、精度也会提高

      残差:也就是真实值和预测值的偏差,类似数据的回归,作用:(1)修正上一层的错误。(2)防止梯度消失(以往的线性结构训练,梯度都是越来越小)

残差网络的定义如下:

   (1)当结构块的输入和输出一致时,恒等映射直接叠加到输出上:

 (2)当结构块的输入和输出不一致时,使用x进行线性映射之后,叠加到输出中:

(三) 网络架构

      从Vgg的启发出发,我们构建一个简单的卷积神经网络。(后两个网络以全局平均池化层和具有softmax的1000维全连接层结束。 左:作为参考的VGG-19模型。中:具有34个参数层的简单网络 。右:具有34个参数层的残差网络 。)

      用两个设计规则设计出我们的残差网络:(1)对于相同的输出特征图尺寸,层具有相同数量的滤波器;   (2) 如果特征图尺寸减半,则滤波器数量加倍,以便保持每层的时间复杂度。我们通过步长为2的卷积层直接执行下采样。

     (一)VGG19的架构:(1).总共有5个block组成,所有的卷积都是3*3, block的卷积核个数以此为64、128、256、512、512 。(2)每个block之间通过下采样。 (3)特征图减半,步长加倍。(4)最后使用两个全连接层(输出1000个类别的概率).

    (二)Plain Network:受VGG网络(如下图左图)的影响,plain网络(如下图中间)的卷积层主要是3*3的滤波器,加权层的层数为34,在网络的最后是全局的平均pooling层和一个1000种类的包含softmax函数的全连接层。plain网络比VGG网络有更少的滤波器(卷积核后面的64,128,256等代表个数)和更低的计算复杂度。

   (三)Residual Network:在plain网络的基础上,加入shortcut连接,就变成了相应的残差网络,如上图右图所示,图中所加实线表明可以直接使用恒等shortcuts,虚线表示维度不匹配时的情况,需要先调整维度再相加。      调整维度的方法有两种:  (1)仍然使用恒等映射,只是在增加的维度上使用0来填充,这种方法不会引入额外的参数;    (2)使用1x1的卷积映射shortcut来调整维度保持一致。         (这两种方法都使用stride为2的卷积。)

(四)实验

      下面是基于ImageNet2012数据集进行评估实验,训练集包含128万张图像,验证集包含5万张图像,测试集有10万张图像,对top-1和top-5的错误率来评估。

plain网络:

      首先进行的实验是18层和34层的plain网络,实验结果如下表所示,产生了一种退化现象:在训练过程中34层的网络比18层的网络有着更高的训练错误率。 

 残差网络:

       接着对18层和34层的残差网络进行评估,为了保证变量的一致性,其基本框架结构和plain网络的结构相同,只是在每一对卷积层上添加了shortout连接来实现残差结构,对于维度不匹配的情况,使用0来填充维度(即上面介绍过的方法),因此也并没有添加额外的参数。训练效果如下图:

        结合下表验证集上的top-1错误率与前面两个表格,可以对比得到:

(1)与plain网络相反,34层的resnet网络比18层的错误率更低,表明可以通过增加深度提高准确率,解决了退化问题。

(2)与plain网络相比,层次相同的resnet网络二错误率更低,这也说明残差网络在深层次下仍然有效。

(3)对于18层的plain网络,它和残差网络的准确率很接近,但是残差网络的收敛速度要更快。

 (五)深度瓶颈结构(bottleneck)

       接下来介绍层次更多的模型,对于每一个残差块,不再使用两层卷积,而是使用三层卷积来实现,如下图所示。只需要将34层resnet网络中的残差模块从2层换成3层,整个网络就变成了50层的resnet。

       先用1x1降维,再用3x3处理数据,再用1x1升维。(结构主要用于Restnet50/101/152)

       实验结果表明 50/101/152层的resnet比34层resnet的准确率要高很多,解决了深层的退化问题。同时即使是152层resnet的计算复杂度仍然比VGG-16和VGG-19要小。

(六)总结

1、退化现象定义:随着网络深度的增加,准确率开始达到饱和并且在之后会迅速下降。

      判断方法:随着网络的加深,错误率不降反升,收敛速率也呈指数级下降。

      原因:网络过于复杂,训练不加约束。

      解决方案:使用残差网络结构。

2、在残差网络中得出的结论:(1)极深残差网络易于优化收敛;(2)解决了退化问题;(3)可以在很深的同时提升准确率。

3、本文提出两种残差结构,一种是两层卷积残差块,应用于ResNet-18和ResNet-34; 另一种是bottleneck三层卷积残差块(分别为1x1降维、3x3、1x1升维)。应用于ResNet-50、ResNet-101和ResNet-152。ResNet-50、ResNet-101、ResNet-152性能都比ResNet-34好。

4.论文成果:基于深度残差网络,在ILSVRC和COCO 2015竞赛中获得了多个赛道的第一名:ImageNet检测、ImageNet定位、COCO检测和COCO分割。

5.数据集:基于ImageNet2012数据集进行评估实验,训练集包含128万张图像,验证集包含5万张图像,测试集有10万张图像,对top-1和top-5的错误率来评估。开源了。


今天的学习总结就到这里啦!如果有什么问题可以在评论区留言呀~

如果帮助到大家,可以一键三连+关注 支持下~

图像分类算法:resnet论文解读(代码片段)

图像分类算法:ResNet论文解读前言​其实网上已经有很多很好的解读各种论文的文章了,但是我决定自己也写一写,当然,我的主要目的就是帮助自己梳理、深入理解论文,因为写文章,你必须把你所写的... 查看详情

resnetdeepresiduallearningforimagerecognition核心思想解读

...n论文链接:链接目录一、问题描述二、解决办法三、ResNet不同架构的构成关于ResNet-18和ResNet-34关于ResNet-50(怎样构建更深的ResNet)一、问题描述该篇文章主要解决的是一个随着网络层数的增加,出现退化问题 查看详情

经典网络模型resnet-50在imagenet-1k上的研究|实验笔记+论文解读(代码片段)

...间哈,因为数据集压缩包是120GB多一些。本文是关于ResNet-50在ImageNet上的实验研究,目前的话,实验数据集分别是ImageNet-240和Ima 查看详情

densenet论文解读(代码片段)

目录摘要网络结构优点代码问题参考资料摘要ResNet的工作表面,只要建立前面层和后面层之间的“短路连接”(shortcut),就能有助于训练过程中梯度的反向传播,从而能训练出更“深”的CNN网络。DenseNet网络的基本思路和ResNet... 查看详情

论文泛读resnet:深度残差网络(代码片段)

【论文泛读】ResNet:深度残差网络文章目录【论文泛读】ResNet:深度残差网络摘要Abstract介绍Introduction残差结构的提出残差结构的一些问题深度残差网络实验结果ResNet的探究与先进的模型比较在CIFAR-10进行探究在PASCAL和MSCO... 查看详情

vggnet论文解读/总结

... 为此文章为深度学习在计算机视觉领域的图片分类经典论文VGGNet(VERYDEEPCONVOLUTIONALNETWORKSFORLARGE-SCALEIMAGERECOGNITION)论文总结。   此篇论文也是非常适合深度学习领域的小白观看的经典论文,本文为在学习论文期间... 查看详情

3dresnet相关论文解读与模型测试

...于3DCNN在处理视频数据的良好表现,从而将3D卷积引入到ResNet网络中。将3D-ResNet在ActivityNet和Kinetics进行训练,记过发现在ActivityNet上出现了过拟合,而在大数据量的Kinetics上的表现优于C3D等网络。  因为在ImageNet预训练的模... 查看详情

gan总结

GANGAN的原理和推导WGANWGAN原理WGAN的来龙去脉InfoGANinfoGAN解读infoGAN公式推导infoGAN论文解读变分推断变分推断及其求解方法变分推断pix2pixpix2pix论文解读cycleGANCycleGAN论文笔记 查看详情

yolov2论文解读/总结

本章论文:YOLOv2论文(YOLO9000:Better,Faster,Stronger)(原文+解读/总结+翻译)系列论文:YOLOv1论文解读/总结_yolo论文原文_耿鬼喝椰汁的博客-CSDN博客前言    在YOLOv1推出一年以后,YOLOv2诞生了&#... 查看详情

resnet补充介绍(p42-p43)

概述本文老师补充介绍了resnet的论文。给出了一些解读先整理下。残差网络的由来论文《DeepResidualLearningforImageRecognition》,通常与浅层网络相比,更深的网络的表现不应该更差,但是56层的神经网络表现明显要比20层... 查看详情

resnet补充介绍(p42-p43)

概述本文老师补充介绍了resnet的论文。给出了一些解读先整理下。残差网络的由来论文《DeepResidualLearningforImageRecognition》,通常与浅层网络相比,更深的网络的表现不应该更差,但是56层的神经网络表现明显要比20层... 查看详情

微软automl框架之flaml|论文解读

...微软主推的一个全新的高效轻量级自动化机器学习框架。论文arXiv地址|FLAML:AFastandLightweightAutoMLLibraryFLAMLGithub项目地址|AFastLibraryforAutomatedMachineLearning&Tunin 查看详情

ananalysisofscaleinvarianceinobjectdetection–snip论文解读

...且详细的介绍,因此copy过来,自己在前面大体总结一下论文,细节不做赘述,引用文章讲得很详细。论文概述引用文章以下内容来自:http://lowrank.science/SNIP/这篇日志记录一些对下面这篇CVPR2018Oral文章的笔记。SinghB,DavisLS.AnAnalysis... 查看详情

resnetdeepresiduallearningforimagerecognition核心思想解读

...n论文链接:链接目录一、问题描述二、解决办法三、ResNet不同架构的构成关于ResNet-18和ResNet-34关于ResNet-50(怎样构建更深的ResNet)一、问题描述该篇文章主要解决的是一个随着网络层数的增加,出现退化问题࿰... 查看详情

论文解读-animageisworth16x16words:transformersforimagerecognitionatscale(代码片段)

目前我认为在分类领域上,最有研究价值的是ResNet、Transformer。一个是从Paperswithcode的benchmark判断,另外一个是对以往DenseNet、Inception等网络的实验。深度学习从2012年的AlexNet开始,然后是VGG,网络是往更深的方向... 查看详情

resnetresnet论文学习笔记

文章目录0.背景1.ResNet的大体思路2.ResNet网络结构3.ResNet效果3.1ResNet是否解决了网络退化问题3.2关于ShortcutConnection的对比实验3.3对于更深层的ResNet使用Bottleneck结构3.4ResNet网络可以无限深吗?3.5ResNet每层的响应(Response)要比普通网... 查看详情

[论文理解]关于resnet的进一步理解

[论文理解]关于ResNet的理解这两天回忆起resnet,感觉残差结构还是不怎么理解(可能当时理解了,时间长了忘了吧),重新梳理一下两点,关于resnet结构的思考。要解决什么问题论文的一大贡献就是,证明了即使是深度网络,也... 查看详情

deepresiduallearningforimagerecognition(resnet)-论文阅读笔记

DeepResidualLearningforImageRecognitionResNet论文阅读笔记//2022.5.5下午16:56开始论文地址[1512.03385]DeepResidualLearningforImageRecognition(arxiv.org)论文贡献作者提出了残差网络的思想,且证明了更深层的残差网络具有比VGG网络更低的复杂度和更... 查看详情