ResNet算法

ResNet详解

ResNet(Residual Network),即深度残差网络,是由微软亚洲研究院的何凯明等人于2015年提出的一种深度神经网络结构。ResNet在图像分类、目标检测和语义分割等计算机视觉任务中取得了显著成效,其核心思想在于通过引入残差连接(residual connections)解决了深层网络训练过程中的梯度消失和梯度爆炸问题,有效地加深了网络的深度。

一、基本原理

1、传统神经网络出现的问题

在这里插入图片描述

从图中可以看出错误率在20层时候是最低的,添加到了56层反而更高了。
这并不是过拟合(模型在训练数据上表现很好,但在未见过的新数据上表现较差)产生的该情况,是由于神经网络在反向传播过程中通过链式法则不断地反向传播更新梯度,而当网络层数加深时,梯度在传播过程中会逐渐消失也就说我们所说的梯度弥散。
这将导致无法对前面网络层的权重进行有效的调整,网络层数越深,训练误差越高,导致训练和测试效果变差,这一现象称为退化

2、残差学习

ResNet的核心在于残差学习。传统的神经网络在层数增加时,往往会出现性能下降的问题,这主要是由于梯度消失和模型退化导致的。ResNet通过引入残差模块,使得网络只需要学习输入与输出之间的残差(即差异),从而降低了学习难度,提高了模型的收敛速度。
残差连接是ResNet的关键。在每个残差模块中,输入信号会直接跳过一层或多层,与更深层的输出相加。这种“跳跃连接”(skip connection)的设计使得梯度在反向传播过程中能够更顺畅地流动,避免了梯度消失的问题,同时也有助于保留原始特征,提高模型的精度泛化能力
跳跃连接

从信息论的角度讲,由于DPI(数据处理不等式)的存在,在前向传输的过程中,随着层数的加深,Feature Map包含的图像信息会逐层减少,而ResNet的直接映射的加入,保证了 L+1层的网络一定比 L层包含更多的图像信息。数学公式

二、结构特点

1、残差块

ResNet由多个残差块堆叠而成。每个残差块通常包含两个或三个卷积层(具体取决于版本),每个卷积层后都会接上一个批归一化(batch normalization)层和一个激活函数(如ReLU)。残差块的输入和输出通过跳跃连接相加后,再经过一个激活函数输出到下一个残差块。
两种不同残差块

ResNet block有两种,一种左侧两层的BasicBlock结构,一种是右侧三层的bottleneck结构,即将两个3x3的卷积层替换为1x1+3x3+1x1,它通过 1x1 conv来巧妙地缩减或扩张feature map维度,从而使得我们的 3x3conv的filters数目不受上一层输入的影响,它的输出也不会影响到下一层。中间3x3的卷积层首先在一个降维卷积层下减少了计算,然后在另一个的卷积层下做了还原。

左侧: (3 X 3 X 64)X 64 +(3 X 3 X 64)X 64 = 73728
右侧: (1 X 1 X 64)X 64 +(3 X 3 X 64)X 64 +(1 X 1 X 64)X 256 +(1 X 1 X 64)X 256 = 73728
通过 1X1卷积 既能够改变通道数,又能大幅减少计算量 和 参数量

2、1x1卷积

为了进一步减小网络的参数量和计算量,ResNet引入了1x1卷积。1x1卷积可以在不改变特征图尺寸的情况下,对特征图的通道数进行升降维操作,从而减小计算复杂度。

3、网络结构

ResNet网络是参考了VGG19网络,在其基础上进行了修改,并通过短路机制加入了残差单元,如下图所示。变化主要体现在ResNet直接使用stride=2的卷积做下采样,并且用global average pool层替换了全连接层。ResNet的一个重要设计原则是:当feature map大小降低一半时,feature map的数量增加一倍,这保持了网络层的复杂度。从下图中可以看到,ResNet相比普通网络每两层间增加了短路机制,这就形成了残差学习,其中虚线表示feature map数量发生了改变,即使用了虚线残差结构,通过1*1卷积来改变维度。下图展示的34-layer的ResNet,还可以构建更深的网络如表1所示。从表中可以看到,对于18-layer和34-layer的ResNet,其进行的两层间的残差学习,当网络更深时,其进行的是三层间的残差学习,三层卷积核分别是1x1,3x3和1x1。
在这里插入图片描述

三、优势、

ResNet能够训练非常深的网络,避免了梯度消失问题,提高了模型的表达能力和性能。
使用残差连接可以保留原始特征,使得网络的学习更加顺畅和稳定。
训练时可以避免梯度消失和梯度爆炸问题,加速网络收敛。

论文中在ImageNet和CIFAR-10数据集上做的对比实验

在这里插入图片描述
在这里插入图片描述

论文链接:Deep Residual Learning for Image Recognition

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值